HTTPAPIs在API閘道中使用階段變數 - Amazon API 网关

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

HTTPAPIs在API閘道中使用階段變數

階段變數是您可以為的階段定義的索引鍵值配對。HTTP API它們就像環境變量一樣,可以在您的API設置中使用。

階段變數並非用於敏感資料,例如登入資料。若要將敏感資料傳遞給整合,請使用 AWS Lambda 授權者。您可以將敏感資料傳遞至 Lambda 授權方輸出中的整合。如需進一步了解,請參閱Lambda 授權方回應格式

範例 — 使用階段變數自訂HTTP整合端點

例如,您可以定義階段變數,然後將其值設定為 HTTP Proxy 整合的HTTP端點。稍後,您可以使用相關聯的階段變數名稱來參照端點。這樣,您可以在每個階段使用不同端點的相同API設定。同樣地,您可以使用階段變數,為您的每個階段指定不同的 AWS Lambda 函數整合API。

若要使用階段變數來自訂HTTP整合端點,您必須先將 stage 變數的名稱和值 (例如,url) 設定值為example.com。接下來,設置HTTP代理集成。您可以告訴 API Gateway 使用階段變數值URL,而不是輸入端點的http://${stageVariables.url}。此值告訴 API Gateway ${} 在執行階段取代您的階段變數,視您的API.

您可以使用類似的方式參考階段變數,以指定 Lambda 函數名稱或 AWS 角色ARN。

將 Lambda 函數名稱指定為階段變數值時,您必須在 Lambda 函數中手動設定許可。您可以使用以下 AWS CLI 命令來執行此操作。

aws lambda add-permission --function-name arn:aws:lambda:XXXXXX:your-lambda-function-name --source-arn arn:aws:execute-api:us-east-1:YOUR_ACCOUNT_ID:api_id/*/HTTP_METHOD/resource --principal apigateway.amazonaws.com --statement-id apigateway-access --action lambda:InvokeFunction