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.
Eine API-Stufe ist ein logischer Verweis auf einen Lebenszyklusstatus Ihrer API (z. B. dev
, prod
, beta
oder v2
). API-Stufen werden durch ihre API-ID und den Stufennamen identifiziert und sind in der URL enthalten, die Sie zum Aufrufen der API verwenden. Jede Stufe ist ein benannter Verweis auf eine Bereitstellung der API und wird für Clientanwendungen zum Aufrufen zur Verfügung gestellt.
Eine Bereitstellung ist ein Snapshot Ihrer API-Konfiguration. Nachdem Sie eine API in einer Phase bereitgestellt haben, kann sie von Clients aufgerufen werden. Sie müssen eine API bereitstellen, damit Änderungen wirksam werden.
Stufenvariablen
Stufenvariablen sind Schlüssel-Wert-Paare, die Sie für eine Phase einer WebSocket API definieren können. Sie weisen dasselbe Verhalten auf wie Umgebungsvariablen und können für die API-Einrichtung verwendet werden.
Sie können beispielsweise eine Stufenvariable definieren und dann ihren Wert als HTTP-Endpunkt für eine HTTP-Proxy-Integration festlegen. Später können Sie den Endpunkt mithilfe des zugeordneten Stufenvariablennamens referenzieren. Auf diese Weise können Sie in jeder Stufe dieselbe API-Einrichtung mit einem anderen Endpunkt verwenden. In ähnlicher Weise können Sie Stufenvariablen verwenden, um für jede Phase Ihrer API eine andere AWS Lambda Funktionsintegration anzugeben.
Anmerkung
Stage-Variablen sind nicht dazu gedacht, für sensible Daten wie Anmeldeinformationen verwendet zu werden. Verwenden Sie einen AWS Lambda Autorisierer, um sensible Daten an Integrationen weiterzugeben. Sie können sensible Daten an Integrationen in der Ausgabe des Lambda-Genehmigers übergeben. Weitere Informationen hierzu finden Sie unter Antwortformat des Lambda-Genehmigers.
Beispiele
Wenn Sie eine Stufenvariable zum Anpassen des HTTP-Integrationsendpunkts verwenden möchten, müssen Sie zunächst den Namen und den Wert der Stufenvariablen (z. B. url
) mit dem Wert example.com
festlegen. Richten Sie als Nächstes eine HTTP-Proxy-Integration ein. Anstatt die URL des Endpunkts einzugeben, können Sie API Gateway anweisen, den Wert der Stufenvariablen zu verwenden, http://${stageVariables.url}
. Dieser Wert weist API Gateway an, Ihre Stufenvariable ${}
zur Laufzeit abhängig von der Stufe Ihrer API zu ersetzen.
Sie können auf ähnliche Weise auf Stufenvariablen verweisen, um einen Lambda-Funktionsnamen oder einen AWS Rollen-ARN anzugeben.
Wenn Sie einen Lambda-Funktionsnamen als Stufenvariablenwert angeben, müssen Sie die Berechtigungen für die Lambda-Funktion manuell konfigurieren. Der folgende Befehl add-permission fügt die erforderlichen Berechtigungen hinzu:
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
API Gateway Stufenvariablenreferenz
HTTP-Integration URIs
Sie können eine Stufenvariable als Teil einer HTTP-Integrations-URI verwenden, wie in den folgenden Beispielen gezeigt.
-
Eine vollständige URI ohne Protokoll –
http://${stageVariables.<variable_name>}
-
Eine vollständige Domäne –
http://${stageVariables.<variable_name>}/resource/operation
-
Eine Unterdomäne –
http://${stageVariables.<variable_name>}.example.com/resource/operation
-
Ein Pfad –
http://example.com/${stageVariables.<variable_name>}/bar
-
Eine Abfragezeichenfolge –
http://example.com/foo?q=${stageVariables.<variable_name>}
Lambda-Funktionen
Sie können eine Stufenvariable anstelle eines Lambda-Funktionsnamens oder Alias verwenden, wie in den folgenden Beispielen gezeigt.
-
arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:${stageVariables.<function_variable_name>}/invocations
-
arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/arn:aws:lambda:<region>:<account_id>:function:<function_name>:${stageVariables.<version_variable_name>}/invocations
Anmerkung
Um eine Stufenvariable für eine Lambda-Funktion zu verwenden, muss sich die Funktion im selben Konto wie die API befinden. Stufenvariablen unterstützen keine kontoübergreifenden Lambda-Funktionen.
AWS Anmeldeinformationen für die Integration
Sie können eine Stage-Variable als Teil eines ARN mit AWS Benutzer- oder Rollenanmeldedaten verwenden, wie im folgenden Beispiel gezeigt.
-
arn:aws:iam::<account_id>:${stageVariables.<variable_name>}