Verwenden Sie Stufenvariablen für ein REST API API In-Gateway - APIAmazon-Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie Stufenvariablen für ein REST API API In-Gateway

Stufenvariablen sind Schlüssel-Wert-Paare, die Sie als Konfigurationsattribute definieren können, die einer Bereitstellungsphase von a zugeordnet sind. REST API Sie verhalten sich wie Umgebungsvariablen und können in Ihren API Setup- und Zuordnungsvorlagen verwendet werden. Mit den Bereitstellungsphasen in API Gateway können Sie jeweils mehrere Release-Phasen verwalten API und mithilfe von Stufenvariablen eine API Bereitstellungsphase so konfigurieren, dass sie mit verschiedenen Back-End-Endpunkten interagiert.

Stage-Variablen sind nicht dazu gedacht, für sensible Daten wie Anmeldeinformationen verwendet zu werden. Verwenden Sie einen Autorisierer, um sensible Daten an Integrationen weiterzugeben. AWS Lambda Sie können sensible Daten an Integrationen in der Ausgabe des Lambda-Genehmigers übergeben. Weitere Informationen hierzu finden Sie unter Ausgabe von einem API Gateway Lambda Authorizer.

Anwendungsfälle für Stufenvariablen

Im Folgenden finden Sie Anwendungsfälle für Ihre Stufenvariablen.

Geben Sie einen anderen Backend-Endpunkt an

Sie API können eine GET Anfrage als HTTP Proxy an den Backend-Webhost weiterleiten. Sie können eine Stage-Variable verwenden, sodass Gateway aufruft, wenn API Anrufer Ihren Produktionsendpunkt aufrufen. API example.com Wenn API Anrufer dann die Beta-Phase aufrufen, ruft API Gateway einen anderen Webhost auf, z. B. beta.example.com In ähnlicher Weise können Stufenvariablen verwendet werden, um für jede Phase in Ihrem einen anderen AWS Lambda Funktionsnamen anzugeben. API Sie können eine Stufenvariable nicht verwenden, um einen anderen Integrationsendpunkt festzulegen, z. B. die GET Anforderung auf eine HTTP Proxyintegration in einer Phase und eine Lambda-Proxyintegration in einer anderen Phase zu verweisen.

Wenn Sie einen Lambda-Funktionsnamen als Stufenvariablenwert angeben, müssen Sie die Berechtigungen für die Lambda-Funktion manuell konfigurieren. Wenn Sie eine Lambda-Funktion in der API Gateway-Konsole angeben, wird ein AWS CLI Befehl angezeigt, mit dem Sie die entsprechenden Berechtigungen konfigurieren können. Sie können dazu auch den folgenden AWS CLI Befehl verwenden.

aws lambda add-permission --function-name "arn:aws:lambda:us-east-2:123456789012:function:my-function" --source-arn "arn:aws:execute-api:us-east-2:123456789012:api_id/*/HTTP_METHOD/resource" --principal apigateway.amazonaws.com --statement-id apigateway-access --action lambda:InvokeFunction
Übergeben Sie Informationen mithilfe von Zuordnungsvorlagen

Sie können auf Stufenvariablen in den Mapping-Vorlagen zugreifen oder Konfigurationsparameter an Ihr Backend AWS Lambda oder Ihr HTTP Backend übergeben. Beispielsweise möchten Sie möglicherweise dieselbe Lambda-Funktion für mehrere Stufen in Ihrem wiederverwendenAPI, aber die Funktion sollte je nach Phase Daten aus einer anderen Amazon DynamoDB-Tabelle lesen. In den Mapping-Vorlagen, von denen die Anforderung für die Lambda-Funktion generiert wird, können Sie den Tabellennamen mit Stufenvariablen an Lambda übergeben.

Um eine Stufenvariable zu verwenden, konfigurieren Sie zuerst eine Stufenvariable und weisen ihr dann einen Wert zu. Um beispielsweise den HTTP Integrationsendpunkt anzupassen, erstellen Sie zuerst die url Stufenvariable und geben dann in Ihrer API Integrationsanfrage den Wert der Stufenvariablen einhttp://${stageVariables.url}. Dieser Wert weist API Gateway an, Ihre Stufenvariable zur ${} Laufzeit zu ersetzen, je nachdem, welche Phase Sie API gerade ausführen. Weitere Informationen finden Sie unter Richten Sie Stufenvariablen für REST APIs in API Gateway ein.