API Gateway HTTP- und WebSocket API-Beispiele mit AWS CLI - AWS Command Line Interface

Diese Dokumentation bezieht sich AWS CLI nur auf Version 1 von. Dokumentation zu Version 2 von finden Sie im Benutzerhandbuch für Version 2. AWS CLI

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.

API Gateway HTTP- und WebSocket API-Beispiele mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie Aktionen ausführen und allgemeine Szenarien implementieren, indem Sie AWS Command Line Interface mit API Gateway HTTP und WebSocket API arbeiten.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungcreate-api-mapping.

AWS CLI

So erstellen Sie eine API-Zuweisung für eine API

Im folgenden Beispiel für create-api-mapping wird die test-Stufe einer API dem /myApi-Pfad des benutzerdefinierten regional.example.com-Domainnamens zugeordnet.

aws apigatewayv2 create-api-mapping \ --domain-name regional.example.com \ --api-mapping-key myApi \ --api-id a1b2c3d4 \ --stage test

Ausgabe:

{ "ApiId": "a1b2c3d4", "ApiMappingId": "0qzs2sy7bh", "ApiMappingKey": "myApi" "Stage": "test" }

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie CreateApiMappingin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-api.

AWS CLI

Um eine HTTP-API zu erstellen

Im folgenden Beispiel für create-api wird eine HTTP-API mithilfe von Quick Create erstellt. Sie können Quick Create verwenden, um eine API mit einer AWS Lambda- oder HTTP-Integration, einer Standard-Catch-All-Route und einer Standardphase zu erstellen, die für die automatische Bereitstellung von Änderungen konfiguriert ist. Der folgende Befehl verwendet Quick Create, um eine HTTP-API zu erstellen, die in eine Lambda-Funktion integriert ist.

aws apigatewayv2 create-api \ --name my-http-api \ --protocol-type HTTP \ --target arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function

Ausgabe:

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-08T19:05:45+00:00", "Name": "my-http-api", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path" }

Weitere Informationen finden Sie unter Entwickeln einer HTTP-API in Amazon API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

Um eine API zu erstellen WebSocket

Das folgende create-api Beispiel erstellt eine WebSocket API mit dem angegebenen Namen.

aws apigatewayv2 create-api \ --name "myWebSocketApi" \ --protocol-type WEBSOCKET \ --route-selection-expression '$request.body.action'

Ausgabe:

{ "ApiKeySelectionExpression": "$request.header.x-api-key", "Name": "myWebSocketApi", "CreatedDate": "2018-11-15T06:23:51Z", "ProtocolType": "WEBSOCKET", "RouteSelectionExpression": "'$request.body.action'", "ApiId": "aabbccddee" }

Weitere Informationen finden Sie unter Create a WebSocket API in API Gateway im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie CreateApiunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-authorizer.

AWS CLI

So erstellen Sie einen JWT-Genehmiger für eine HTTP-API

Mit dem folgenden Beispiel für create-authorizer wird ein JWT-Genehmiger erstellt, der Amazon Cognito als Identitätsanbieter verwendet.

aws apigatewayv2 create-authorizer \ --name my-jwt-authorizer \ --api-id a1b2c3d4 \ --authorizer-type JWT \ --identity-source '$request.header.Authorization' \ --jwt-configuration Audience=123456abc,Issuer=https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123

Ausgabe:

{ "AuthorizerId": "a1b2c3", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "123456abc" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123" }, "Name": "my-jwt-authorizer" }

Weitere Informationen finden Sie unter Steuern des Zugriffs auf HTTP APIs mit JWT-Autorisierern im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie CreateAuthorizerin AWS CLI der Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-deployment.

AWS CLI

So erstellen Sie eine Bereitstellung für eine API

Im folgenden Beispiel für create-deployment wird eine Bereitstellung für eine API erstellt und dann der dev-Stufe der API zugeordnet.

aws apigatewayv2 create-deployment \ --api-id a1b2c3d4 \ --stage-name dev

Ausgabe:

{ "AutoDeployed": false, "CreatedDate": "2020-04-06T23:38:08Z", "DeploymentId": "53lz9l", "DeploymentStatus": "DEPLOYED" }

Weitere Informationen finden Sie unter API-Bereitstellung im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie CreateDeploymentin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-domain-name.

AWS CLI

So erstellen Sie einen benutzerdefinierten Domainnamen

Im folgenden Beispiel für create-domain-name wird ein benutzerdefinierter Domainname für eine API erstellt.

aws apigatewayv2 create-domain-name \ --domain-name regional.example.com \ --domain-name-configurations CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678

Ausgabe:

{ "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "regional.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-id.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789111", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ] }

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie CreateDomainNamein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-integration.

AWS CLI

Um eine WebSocket API-Integration zu erstellen

Das folgende create-integration Beispiel erstellt eine Scheinintegration für eine WebSocket API.

aws apigatewayv2 create-integration \ --api-id aabbccddee \ --passthrough-behavior WHEN_NO_MATCH \ --timeout-in-millis 29000 \ --connection-type INTERNET \ --integration-type MOCK

Ausgabe:

{ "ConnectionType": "INTERNET", "IntegrationId": "0abcdef", "IntegrationResponseSelectionExpression": "${integration.response.statuscode}", "IntegrationType": "MOCK", "PassthroughBehavior": "WHEN_NO_MATCH", "PayloadFormatVersion": "1.0", "TimeoutInMillis": 29000 }

Weitere Informationen finden Sie unter Einrichten einer WebSocket API-Integrationsanfrage in API Gateway im Amazon API Gateway Developer Guide.

So erstellen Sie eine HTTP-API-Integration

Das folgende create-integration Beispiel erstellt eine AWS Lambda-Integration für eine HTTP-API.

aws apigatewayv2 create-integration \ --api-id a1b2c3d4 \ --integration-type AWS_PROXY \ --integration-uri arn:aws:lambda:us-west-2:123456789012:function:my-function \ --payload-format-version 2.0

Ausgabe:

{ "ConnectionType": "INTERNET", "IntegrationId": "0abcdef", "IntegrationMethod": "POST", "IntegrationType": "AWS_PROXY", "IntegrationUri": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "PayloadFormatVersion": "2.0", "TimeoutInMillis": 30000 }

Weitere Informationen finden Sie unter Konfiguration von Integrationen für HTTP APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-route.

AWS CLI

Um eine $default Route für eine WebSocket oder HTTP-API zu erstellen

Das folgende create-route Beispiel erstellt eine $default Route für eine WebSocket oder HTTP-API.

aws apigatewayv2 create-route \ --api-id aabbccddee \ --route-key '$default'

Ausgabe:

{ "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteKey": "$default", "RouteId": "1122334" }

Weitere Informationen finden Sie unter Arbeiten mit Routen für WebSocket APIs im Amazon API Gateway Developer Guide

So erstellen Sie eine Route für eine HTTP-API

Im folgenden Beispiel für create-route wird eine Route mit dem Namen signup erstellt, die POST-Anforderungen akzeptiert.

aws apigatewayv2 create-route \ --api-id aabbccddee \ --route-key 'POST /signup'

Ausgabe:

{ "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteKey": "POST /signup", "RouteId": "1122334" }

Weitere Informationen finden Sie unter Working with routes for HTTP APIs im Amazon API Gateway Developer Guide

  • Einzelheiten zur API finden Sie CreateRouteunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-routing-rule.

AWS CLI

So erstellen Sie eine Routing-Regel

Im folgenden Beispiel für create-routing-rule wird eine Routing-Regel mit einer Priorität von 50 erstellt.

aws apigatewayv2 create-routing-rule \ --domain-name 'regional.example.com' \ --priority 50 \ --conditions '[ \ { \ "MatchBasePaths": { \ "AnyOf": [ \ "PetStoreShopper" \ ] \ } \ } \ ]' \ --actions '[ \ { \ "InvokeApi": { \ "ApiId": "abcd1234", \ "Stage": "prod" \ } \ } \ ]'

Ausgabe:

{ "Actions": [ { "InvokeApi": { "ApiId": "abcd1234", "Stage": "prod", "StripBasePath": false } } ], "Conditions": [ { "MatchBasePaths": { "AnyOf": [ "PetStoreShopper" ] } } ], "Priority": 50, "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111", "RoutingRuleId": "aaa111" }

Weitere Informationen finden Sie unter Routing-Regeln zur Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-stage.

AWS CLI

So erstellen Sie eine Stufe

Im folgenden Beispiel für create-stage wird eine Stufe mit dem Namen dev für eine API erstellt.

aws apigatewayv2 create-stage \ --api-id a1b2c3d4 \ --stage-name dev

Ausgabe:

{ "CreatedDate": "2020-04-06T23:23:46Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "LastUpdatedDate": "2020-04-06T23:23:46Z", "RouteSettings": {}, "StageName": "dev", "StageVariables": {}, "Tags": {} }

Weitere Informationen finden Sie unter Working with Stages for HTTP APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie CreateStageunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-vpc-link.

AWS CLI

So erstellen Sie einen VPC-Link für eine HTTP-API

Im folgenden create-vpc-link Beispiel wird ein VPC-Link für HTTP APIs erstellt.

aws apigatewayv2 create-vpc-link \ --name MyVpcLink \ --subnet-ids subnet-aaaa subnet-bbbb \ --security-group-ids sg1234 sg5678

Ausgabe:

{ "CreatedDate": "2020-04-07T00:11:46Z", "Name": "MyVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd123", "VpcLinkStatus": "PENDING", "VpcLinkStatusMessage": "VPC link is provisioning ENIs", "VpcLinkVersion": "V2" }

Weitere Informationen finden Sie unter Arbeiten mit VPC-Links für HTTP APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-access-log-settings.

AWS CLI

So deaktivieren Sie Zugriffsprotokollierung für eine API

Im folgenden Beispiel für delete-access-log-settings werden die Zugriffsprotokolleinstellungen für die $default-Stufe einer API gelöscht. Um die Zugriffsprotokollierung für eine Stufe zu deaktivieren, löschen Sie deren Zugriffsprotokolleinstellungen.

aws apigatewayv2 delete-access-log-settings \ --api-id a1b2c3d4 \ --stage-name '$default'

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Konfigurieren der Protokollierung für eine HTTP-API im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendungdelete-api-mapping.

AWS CLI

So löschen Sie eine API-Zuordnung

Im folgenden Beispiel für delete-api-mapping wird eine API-Zuordnung für den benutzerdefinierten api.example.com-Domainnamen gelöscht.

aws apigatewayv2 delete-api-mapping \ --api-mapping-id a1b2c3 \ --domain-name api.example.com

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie DeleteApiMappingin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-api.

AWS CLI

So löschen Sie eine API

Im folgenden Beispiel für delete-api wird eine API gelöscht.

aws apigatewayv2 delete-api \ --api-id a1b2c3d4

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Arbeiten mit HTTP APIs und Arbeiten mit WebSocket APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie DeleteApiunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-authorizer.

AWS CLI

So löschen Sie einen Genehmiger

Im folgenden Beispiel für delete-authorizer wird ein Genehmiger gelöscht.

aws apigatewayv2 delete-authorizer \ --api-id a1b2c3d4 \ --authorizer-id a1b2c3

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Steuern des Zugriffs auf HTTP APIs mit JWT-Autorisierern im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie DeleteAuthorizerin AWS CLI der Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-cors-configuration.

AWS CLI

So löschen Sie die CORS-Konfiguration für eine HTTP-API

Im folgenden Beispiel für delete-cors-configuration wird CORS für eine HTTP-API deaktiviert, indem die zugehörige CORS-Konfiguration gelöscht wird.

aws apigatewayv2 delete-cors-configuration \ --api-id a1b2c3d4

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Konfigurieren von CORS für eine HTTP-API im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendungdelete-deployment.

AWS CLI

So löschen Sie eine Bereitstellung

Im folgenden Beispiel für delete-deployment wird die Bereitstellung einer API gelöscht.

aws apigatewayv2 delete-deployment \ --api-id a1b2c3d4 \ --deployment-id a1b2c3

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter API-Bereitstellung im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie DeleteDeploymentin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-domain-name.

AWS CLI

So löschen Sie einen benutzerdefinierten Domainnamen

Im folgenden Beispiel für delete-domain-name wird ein benutzerdefinierter Domainname gelöscht.

aws apigatewayv2 delete-domain-name \ --domain-name api.example.com

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie DeleteDomainNamein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-integration.

AWS CLI

So löschen Sie eine Integration

Im folgenden Beispiel für delete-integration wird eine API-Integration gelöscht.

aws apigatewayv2 delete-integration \ --api-id a1b2c3d4 \ --integration-id a1b2c3

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Konfiguration von Integrationen für HTTP APIs und Einrichten von WebSocket API-Integrationen im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-route-settings.

AWS CLI

So löschen Sie Routeneinstellungen

Im folgenden Beispiel für delete-route-settings werden die Routeneinstellungen für die angegebene Route gelöscht.

aws apigatewayv2 delete-route-settings \ --api-id a1b2c3d4 \ --stage-name dev \ --route-key 'GET /pets'

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Working with routes for HTTP APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-route.

AWS CLI

So löschen Sie eine Route

Im folgenden Beispiel für delete-route wird eine API-Route gelöscht.

aws apigatewayv2 delete-route \ --api-id a1b2c3d4 \ --route-id a1b2c3

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Working with routes for HTTP APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie DeleteRouteunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-routing-rule.

AWS CLI

So löschen Sie eine Routing-Regel

Im folgenden Beispiel für delete-routing-rule wird eine Routing-Regel für einen benutzerdefinierten Domainnamen gelöscht.

aws apigatewayv2 delete-routing-rule \ --domain-name 'regional.example.com' \ --routing-rule-id aaa111

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Routing-Regeln zur Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-stage.

AWS CLI

So löschen Sie eine Stufe

Im folgenden Beispiel für delete-stage wird die test-Stufe einer API gelöscht.

aws apigatewayv2 delete-stage \ --api-id a1b2c3d4 \ --stage-name test

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Working with Stages for HTTP APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie DeleteStageunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-vpc-link.

AWS CLI

So löschen Sie einen VPC-Link für eine HTTP-API

Im folgenden Beispiel für delete-vpc-link wird ein VPC-Link gelöscht.

aws apigatewayv2 delete-vpc-link \ --vpc-link-id abcd123

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Arbeiten mit VPC-Links für HTTP APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungexport-api.

AWS CLI

So exportieren Sie eine OpenAPI-Definition einer HTTP-API

Im folgenden Beispiel für export-api wird eine OpenAPI 3.0-Definition einer API-Stufe namens prod in eine YAML-Datei namens stage-definition.yaml exportiert. Die exportierte Definitionsdatei enthält standardmäßig API-Gateway-Erweiterungen.

aws apigatewayv2 export-api \ --api-id a1b2c3d4 \ --output-type YAML \ --specification OAS30 \ --stage-name prod \ stage-definition.yaml

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Exportieren einer HTTP-API aus API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie ExportApiin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-api-mapping.

AWS CLI

So rufen Sie Informationen über eine API-Zuordnung für einen benutzerdefinierten Domainnamen ab

Im folgenden Beispiel für get-api-mapping werden Informationen über eine API-Zuordnung für den benutzerdefinierten api.example.com-Domainnamen angezeigt.

aws apigatewayv2 get-api-mapping \ --api-mapping-id a1b2c3 \ --domain-name api.example.com

Ausgabe:

{ "ApiId": "a1b2c3d4", "ApiMappingId": "a1b2c3d5", "ApiMappingKey": "myTestApi" "Stage": "test" }

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie GetApiMappingin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-api-mappings.

AWS CLI

So rufen Sie die API-Zuordnungen für einen benutzerdefinierten Domainnamen ab

Im folgenden Beispiel für get-api-mappings wird eine Liste aller API-Zuordnungen für den benutzerdefinierten api.example.com-Domainnamen angezeigt.

aws apigatewayv2 get-api-mappings \ --domain-name api.example.com

Ausgabe:

{ "Items": [ { "ApiId": "a1b2c3d4", "ApiMappingId": "a1b2c3d5", "ApiMappingKey": "myTestApi" "Stage": "test" }, { "ApiId": "a5b6c7d8", "ApiMappingId": "a1b2c3d6", "ApiMappingKey": "myDevApi" "Stage": "dev" }, ] }

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie GetApiMappingsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-api.

AWS CLI

So rufen Sie Informationen über eine API ab

Im folgenden Beispiel für get-api werden Informationen über eine API angezeigt.

aws apigatewayv2 get-api \ --api-id a1b2c3d4

Ausgabe:

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-03-28T00:32:37Z", "Name": "my-api", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": { "department": "finance" } }
  • Einzelheiten zur API finden Sie GetApiin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-apis.

AWS CLI

Um eine Liste von abzurufen APIs

Das folgende get-apis Beispiel listet alle APIs für den aktuellen Benutzer auf.

aws apigatewayv2 get-apis

Ausgabe:

{ "Items": [ { "ApiEndpoint": "wss://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-07T20:21:59Z", "Name": "my-websocket-api", "ProtocolType": "WEBSOCKET", "RouteSelectionExpression": "$request.body.message", "Tags": {} }, { "ApiEndpoint": "https://a1b2c3d5.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d5", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-07T20:23:50Z", "Name": "my-http-api", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": {} } ] }

Weitere Informationen finden Sie unter Arbeiten mit HTTP APIs und Arbeiten mit WebSocket APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie GetApisunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-authorizer.

AWS CLI

So rufen Sie Informationen über einen Genehmiger ab

Im folgenden Beispiel für get-authorizer werden Informationen über einen Genehmiger angezeigt.

aws apigatewayv2 get-authorizer \ --api-id a1b2c3d4 \ --authorizer-id a1b2c3

Ausgabe:

{ "AuthorizerId": "a1b2c3", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "123456abc" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123" }, "Name": "my-jwt-authorizer" }

Weitere Informationen finden Sie unter Steuern des Zugriffs auf HTTP APIs mit JWT-Autorisierern im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie GetAuthorizerin AWS CLI der Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-authorizers.

AWS CLI

So rufen Sie eine Liste mit Genehmigern für eine API ab

Im folgenden Beispiel für get-authorizers wird eine Liste aller Genehmiger für eine API angezeigt.

aws apigatewayv2 get-authorizers \ --api-id a1b2c3d4

Ausgabe:

{ "Items": [ { "AuthorizerId": "a1b2c3", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "123456abc" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123" }, "Name": "my-jwt-authorizer" }, { "AuthorizerId": "a1b2c4", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "6789abcde" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc234" }, "Name": "new-jwt-authorizer" } ] }

Weitere Informationen finden Sie unter Steuern des Zugriffs auf HTTP APIs mit JWT-Autorisierern im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie GetAuthorizersin AWS CLI der Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-deployment.

AWS CLI

So rufen Sie Informationen über eine Bereitstellung ab

Im folgenden Beispiel für get-deployment werden Informationen über eine Bereitstellung angezeigt.

aws apigatewayv2 get-deployment \ --api-id a1b2c3d4 \ --deployment-id abcdef

Ausgabe:

{ "AutoDeployed": true, "CreatedDate": "2020-04-07T23:58:40Z", "DeploymentId": "abcdef", "DeploymentStatus": "DEPLOYED", "Description": "Automatic deployment triggered by changes to the Api configuration" }

Weitere Informationen finden Sie unter API-Bereitstellung im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie GetDeploymentin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-deployments.

AWS CLI

So rufen Sie eine Liste der Bereitstellungen ab

Im folgenden Beispiel für get-deployments wird eine Liste aller Bereitstellungen einer API angezeigt.

aws apigatewayv2 get-deployments \ --api-id a1b2c3d4

Ausgabe:

{ "Items": [ { "AutoDeployed": true, "CreatedDate": "2020-04-07T23:58:40Z", "DeploymentId": "abcdef", "DeploymentStatus": "DEPLOYED", "Description": "Automatic deployment triggered by changes to the Api configuration" }, { "AutoDeployed": true, "CreatedDate": "2020-04-06T00:33:00Z", "DeploymentId": "bcdefg", "DeploymentStatus": "DEPLOYED", "Description": "Automatic deployment triggered by changes to the Api configuration" } ] }

Weitere Informationen finden Sie unter API-Bereitstellung im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie GetDeploymentsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-domain-name.

AWS CLI

So rufen Sie Informationen über einen benutzerdefinierten Domainnamen ab

Im folgenden Beispiel für get-domain-name werden Informationen über einen benutzerdefinierten Domainnamen angezeigt.

aws apigatewayv2 get-domain-name \ --domain-name api.example.com

Ausgabe:

{ "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "api.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-1234.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789111", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ], "Tags": {} }

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie GetDomainNamein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-domain-names.

AWS CLI

So rufen Sie eine Liste der benutzerdefinierten Domainnamen ab

Im folgenden Beispiel für get-domain-names wird eine Liste aller benutzerdefinierten Domainnamen für den aktuellen Benutzer angezeigt.

aws apigatewayv2 get-domain-names

Ausgabe:

{ "Items": [ { "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "api.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-1234.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789111", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ] }, { "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "newApi.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-5678.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789222", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ] } ] }

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie GetDomainNamesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-integration.

AWS CLI

So rufen Sie Informationen über eine Integration ab

Im folgenden Beispiel für get-integration werden Informationen über eine Integration angezeigt.

aws apigatewayv2 get-integration \ --api-id a1b2c3d4 \ --integration-id a1b2c3

Ausgabe:

{ "ApiGatewayManaged": true, "ConnectionType": "INTERNET", "IntegrationId": "a1b2c3", "IntegrationMethod": "POST", "IntegrationType": "AWS_PROXY", "IntegrationUri": "arn:aws:lambda:us-west-2:12356789012:function:hello12", "PayloadFormatVersion": "2.0", "TimeoutInMillis": 30000 }

Weitere Informationen finden Sie unter Konfiguration von Integrationen für HTTP APIs und Einrichten von WebSocket API-Integrationen im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie GetIntegrationin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-integrations.

AWS CLI

So rufen Sie eine Liste der Integrationen ab

Im folgenden Beispiel für get-integrations wird eine Liste aller Integrationen einer API angezeigt.

aws apigatewayv2 get-integrations \ --api-id a1b2c3d4

Ausgabe:

{ "Items": [ { "ApiGatewayManaged": true, "ConnectionType": "INTERNET", "IntegrationId": "a1b2c3", "IntegrationMethod": "POST", "IntegrationType": "AWS_PROXY", "IntegrationUri": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "PayloadFormatVersion": "2.0", "TimeoutInMillis": 30000 }, { "ConnectionType": "INTERNET", "IntegrationId": "a1b2c4", "IntegrationMethod": "ANY", "IntegrationType": "HTTP_PROXY", "IntegrationUri": "https://www.example.com", "PayloadFormatVersion": "1.0", "TimeoutInMillis": 30000 } ] }

Weitere Informationen finden Sie unter Konfiguration von Integrationen für HTTP APIs und Einrichten von WebSocket API-Integrationen im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie GetIntegrationsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-route.

AWS CLI

So rufen Sie Informationen über eine Route ab

Im folgenden Beispiel für get-route werden Informationen über eine Route angezeigt.

aws apigatewayv2 get-route \ --api-id a1b2c3d4 \ --route-id 72jz1wk

Ausgabe:

{ "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteId": "72jz1wk", "RouteKey": "ANY /pets", "Target": "integrations/a1b2c3" }

Weitere Informationen finden Sie unter Working with routes for HTTP APIs im Amazon API Gateway Developer Guide

  • Einzelheiten zur API finden Sie GetRouteunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-routes.

AWS CLI

So rufen Sie eine Liste der Routen ab

Im folgenden Beispiel für get-routes wird eine Liste aller Routen einer API angezeigt.

aws apigatewayv2 get-routes \ --api-id a1b2c3d4

Ausgabe:

{ "Items": [ { "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteId": "72jz1wk", "RouteKey": "ANY /admin", "Target": "integrations/a1b2c3" }, { "ApiGatewayManaged": true, "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteId": "go65gqi", "RouteKey": "$default", "Target": "integrations/a1b2c4" } ] }

Weitere Informationen finden Sie unter Working with routes for HTTP APIs im Amazon API Gateway Developer Guide

  • Einzelheiten zur API finden Sie GetRoutesunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-routing-rule.

AWS CLI

So rufen Sie eine Routing-Regel ab

Im folgenden Beispiel für get-routing-rule wird eine Routing-Regel für einen Domainnamen abgerufen.

aws apigatewayv2 get-routing-rule \ --domain-name 'regional.example.com' \ --routing-rule-id aaa111

Ausgabe:

{ "Actions": [ { "InvokeApi": { "ApiId": "abcd1234", "Stage": "prod", "StripBasePath": false } } ], "Conditions": [ { "MatchBasePaths": { "AnyOf": [ "PetStoreShopper" ] } } ], "Priority": 50, "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111", "RoutingRuleId": "aaa111" }

Weitere Informationen finden Sie unter Routing-Regeln zur Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie GetRoutingRulein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-stage.

AWS CLI

So rufen Sie Informationen zu einer Stufe ab

Im folgenden Beispiel für get-stage werden Informationen über die prod-Stufe einer API angezeigt.

aws apigatewayv2 get-stage \ --api-id a1b2c3d4 \ --stage-name prod

Ausgabe:

{ "CreatedDate": "2020-04-08T00:36:05Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "DeploymentId": "x1zwyv", "LastUpdatedDate": "2020-04-08T00:36:13Z", "RouteSettings": {}, "StageName": "prod", "StageVariables": { "function": "my-prod-function" }, "Tags": {} }

Weitere Informationen finden Sie unter Working with Stages for HTTP APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie GetStageunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-stages.

AWS CLI

So rufen Sie eine Liste mit Stufen ab

Im folgenden Beispiel für get-stages werden alle Stufen einer API aufgelistet.

aws apigatewayv2 get-stages \ --api-id a1b2c3d4

Ausgabe:

{ "Items": [ { "ApiGatewayManaged": true, "AutoDeploy": true, "CreatedDate": "2020-04-08T00:08:44Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "DeploymentId": "dty748", "LastDeploymentStatusMessage": "Successfully deployed stage with deployment ID 'dty748'", "LastUpdatedDate": "2020-04-08T00:09:49Z", "RouteSettings": {}, "StageName": "$default", "StageVariables": {}, "Tags": {} }, { "AutoDeploy": true, "CreatedDate": "2020-04-08T00:35:06Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "LastUpdatedDate": "2020-04-08T00:35:48Z", "RouteSettings": {}, "StageName": "dev", "StageVariables": { "function": "my-dev-function" }, "Tags": {} }, { "CreatedDate": "2020-04-08T00:36:05Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "DeploymentId": "x1zwyv", "LastUpdatedDate": "2020-04-08T00:36:13Z", "RouteSettings": {}, "StageName": "prod", "StageVariables": { "function": "my-prod-function" }, "Tags": {} } ] }

Weitere Informationen finden Sie unter Working with Stages for HTTP APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie GetStagesunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-tags.

AWS CLI

So rufen Sie eine Liste der Tags für eine Ressource ab

Im folgenden Beispiel für get-tags werden alle Tags einer API aufgelistet.

aws apigatewayv2 get-tags \ --resource-arn arn:aws:apigateway:us-west-2::/apis/a1b2c3d4

Ausgabe:

{ "Tags": { "owner": "dev-team", "environment": "prod" } }

Weitere Informationen finden Sie unter Taggen Ihrer API-Gateway-Ressourcen im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie GetTagsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-vpc-link.

AWS CLI

So rufen Sie Informationen über einen VPC-Link ab

Im folgenden Beispiel für get-vpc-link werden Informationen über einen VPC-Link angezeigt.

aws apigatewayv2 get-vpc-link \ --vpc-link-id abcd123

Ausgabe:

{ "CreatedDate": "2020-04-07T00:27:47Z", "Name": "MyVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd123", "VpcLinkStatus": "AVAILABLE", "VpcLinkStatusMessage": "VPC link is ready to route traffic", "VpcLinkVersion": "V2" }

Weitere Informationen finden Sie unter Arbeiten mit VPC-Links für HTTP APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-vpc-links.

AWS CLI

So rufen Sie eine Liste der VPC-Links ab

Im folgenden Beispiel für get-vpc-links wird eine Liste aller VPC-Links für den aktuellen Benutzer angezeigt.

aws apigatewayv2 get-vpc-links

Ausgabe:

{ "Items": [ { "CreatedDate": "2020-04-07T00:27:47Z", "Name": "MyVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd123", "VpcLinkStatus": "AVAILABLE", "VpcLinkStatusMessage": "VPC link is ready to route traffic", "VpcLinkVersion": "V2" } { "CreatedDate": "2020-04-07T00:27:47Z", "Name": "MyOtherVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd456", "VpcLinkStatus": "AVAILABLE", "VpcLinkStatusMessage": "VPC link is ready to route traffic", "VpcLinkVersion": "V2" } ] }

Weitere Informationen finden Sie unter Arbeiten mit VPC-Links für HTTP APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungimport-api.

AWS CLI

So importieren Sie eine HTTP-API

Im folgenden Beispiel für import-api wird eine HTTP-API aus einer OpenAPI 3.0-Definitionsdatei namens api-definition.yaml erstellt.

aws apigatewayv2 import-api \ --body file://api-definition.yaml

Inhalt von api-definition.yaml:

openapi: 3.0.1 info: title: My Lambda API version: v1.0 paths: /hello: x-amazon-apigateway-any-method: x-amazon-apigateway-integration: payloadFormatVersion: 2.0 type: aws_proxy httpMethod: POST uri: arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:hello/invocations connectionType: INTERNET

Ausgabe:

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-08T17:19:38+00:00", "Name": "My Lambda API", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": {}, "Version": "v1.0" }

Weitere Informationen finden Sie unter Arbeiten mit OpenAPI-Definitionen für HTTP APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-routing-rules.

AWS CLI

So listen Sie Routing-Regeln auf

Im folgenden Beispiel für list-routing-rules werden die Routing-Regel für einen Domainnamen aufgelistet.

aws apigatewayv2 list-routing-rules \ --domain-name 'regional.example.com'

Ausgabe:

{ "RoutingRules": [ { "Actions": [ { "InvokeApi": { "ApiId": "abcd1234", "Stage": "prod", "StripBasePath": false } } ], "Conditions": [ { "MatchBasePaths": { "AnyOf": [ "PetStoreShopper" ] } } ], "Priority": 150, "RoutingRuleArn": "arn:aws:apigateway:us-east-1:123456789012:/domainnames/regional.example.com/routingrules/aaa111", "RoutingRuleId": "aaa111" } ] }

Weitere Informationen finden Sie unter Routing-Regeln zur Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie ListRoutingRulesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungput-routing-rule.

AWS CLI

So aktualisieren Sie eine Routing-Regel

Im folgenden Beispiel für put-routing-rule wird die Priorität einer Routing-Regel aktualisiert.

aws apigatewayv2 put-routing-rule \ --domain-name 'regional.example.com' \ --priority 150 \ --conditions '[ \ { \ "MatchBasePaths": { \ "AnyOf": [ \ "PetStoreShopper" \ ] \ } \ } \ ]' \ --actions '[ \ { \ "InvokeApi": { \ "ApiId": "abcd1234", \ "Stage": "prod" \ } \ } \ ]'

Ausgabe:

{ "Actions": [ { "InvokeApi": { "ApiId": "abcd1234", "Stage": "prod", "StripBasePath": false } } ], "Conditions": [ { "MatchBasePaths": { "AnyOf": [ "PetStoreShopper" ] } } ], "Priority": 150, "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111", "RoutingRuleId": "aaa111" }

Weitere Informationen finden Sie unter Routing-Regeln zur Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST APIs im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie PutRoutingRulein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungreimport-api.

AWS CLI

So importieren Sie eine HTTP-API erneut

Im folgenden Beispiel für reimport-api wird eine bestehende HTTP-API so aktualisiert, dass sie die in api-definition.yaml angegebene OpenAPI 3.0-Definition verwendet.

aws apigatewayv2 reimport-api \ --body file://api-definition.yaml \ --api-id a1b2c3d4

Inhalt von api-definition.yaml:

openapi: 3.0.1 info: title: My Lambda API version: v1.0 paths: /hello: x-amazon-apigateway-any-method: x-amazon-apigateway-integration: payloadFormatVersion: 2.0 type: aws_proxy httpMethod: POST uri: arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:12356789012:function:hello/invocations connectionType: INTERNET

Ausgabe:

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-08T17:19:38+00:00", "Name": "My Lambda API", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": {}, "Version": "v1.0" }

Weitere Informationen finden Sie unter Arbeiten mit OpenAPI-Definitionen für HTTP APIs im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungtag-resource.

AWS CLI

So markieren Sie eine Ressource

Im folgenden Beispiel für tag-resource wird ein Tag mit dem Schlüsselnamen Department und einem Wert von Accounting zur angegebenen API hinzugefügt.

aws apigatewayv2 tag-resource \ --resource-arn arn:aws:apigateway:us-west-2::/apis/a1b2c3d4 \ --tags Department=Accounting

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Taggen Ihrer API-Gateway-Ressourcen im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie TagResourcein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunguntag-resource.

AWS CLI

So entfernen Sie Tags aus einer Ressource

Im folgenden Beispiel für untag-resource werden Tags mit den Schlüsselnamen Project und Owner aus der angegebenen API entfernt.

aws apigatewayv2 untag-resource \ --resource-arn arn:aws:apigateway:us-west-2::/apis/a1b2c3d4 \ --tag-keys Project Owner

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Taggen Ihrer API-Gateway-Ressourcen im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie UntagResourcein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-api-mapping.

AWS CLI

So aktualisieren Sie eine API-Zuordnung

Im folgenden Beispiel für update-api-mapping wird eine API-Zuordnung für einen benutzerdefinierten Domainnamen geändert. Dies hat zur Folge, dass die Basis-URL bei Verwendung des benutzerdefinierten Domainnamens für die angegebene API und Stufe zu https://api.example.com/dev wird.

aws apigatewayv2 update-api-mapping \ --api-id a1b2c3d4 \ --stage dev \ --domain-name api.example.com \ --api-mapping-id 0qzs2sy7bh \ --api-mapping-key dev

Ausgabe:

{ "ApiId": "a1b2c3d4", "ApiMappingId": "0qzs2sy7bh", "ApiMappingKey": "dev" "Stage": "dev" }

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie UpdateApiMappingin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-api.

AWS CLI

So aktivieren Sie CORS für eine HTTP-API

Im folgenden Beispiel für update-api wird die CORS-Konfiguration der angegebenen API aktualisiert, sodass Anforderungen von https://www.example.com zugelassen sind.

aws apigatewayv2 update-api \ --api-id a1b2c3d4 \ --cors-configuration AllowOrigins=https://www.example.com

Ausgabe:

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CorsConfiguration": { "AllowCredentials": false, "AllowHeaders": [ "header1", "header2" ], "AllowMethods": [ "GET", "OPTIONS" ], "AllowOrigins": [ "https://www.example.com" ] }, "CreatedDate": "2020-04-08T18:39:37+00:00", "Name": "my-http-api", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": {}, "Version": "v1.0" }

Weitere Informationen finden Sie unter Konfigurieren von CORS für eine HTTP-API im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie UpdateApiin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-authorizer.

AWS CLI

So aktualisieren Sie einen Genehmiger

Im folgenden Beispiel für update-authorizer wird die Identitätsquelle eines JWT-Genehmigers in einen Header mit dem Namen Authorization geändert.

aws apigatewayv2 update-authorizer \ --api-id a1b2c3d4 \ --authorizer-id a1b2c3 \ --identity-source '$request.header.Authorization'

Ausgabe:

{ "AuthorizerId": "a1b2c3", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "123456abc" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123" }, "Name": "my-jwt-authorizer" }

Weitere Informationen finden Sie unter Steuern des Zugriffs auf HTTP APIs mit JWT-Autorisierern im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie UpdateAuthorizerin AWS CLI der Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-deployment.

AWS CLI

So ändern Sie die Beschreibung einer Bereitstellung

Im folgenden Beispiel für update-deployment wird die Beschreibung einer Bereitstellung aktualisiert.

aws apigatewayv2 update-deployment \ --api-id a1b2c3d4 \ --deployment-id abcdef \ --description 'Manual deployment to fix integration test failures.'

Ausgabe:

{ "AutoDeployed": false, "CreatedDate": "2020-02-05T16:21:48+00:00", "DeploymentId": "abcdef", "DeploymentStatus": "DEPLOYED", "Description": "Manual deployment to fix integration test failures." }

Weitere Informationen finden Sie unter Entwickeln einer HTTP-API in Amazon API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie UpdateDeploymentin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-domain-name.

AWS CLI

So aktualisieren den Namen einer benutzerdefinierte Domain

Im folgenden Beispiel für update-domain-name wird ein neues ACM-Zertifikat für den benutzerdefinierten api.example.com-Domainnamen angegeben.

aws apigatewayv2 update-domain-name \ --domain-name api.example.com \ --domain-name-configurations CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678

Ausgabe:

{ "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "regional.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-id.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789111", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ] }

Weitere Informationen finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie UpdateDomainNamein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-integration.

AWS CLI

So aktualisieren Sie eine Lambda-Integration

Im folgenden update-integration Beispiel wird eine bestehende AWS Lambda-Integration aktualisiert, sodass sie die angegebene Lambda-Funktion verwendet.

aws apigatewayv2 update-integration \ --api-id a1b2c3d4 \ --integration-id a1b2c3 \ --integration-uri arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:my-new-function/invocations

Ausgabe:

{ "ConnectionType": "INTERNET", "IntegrationId": "a1b2c3", "IntegrationMethod": "POST", "IntegrationType": "AWS_PROXY", "IntegrationUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:my-new-function/invocations", "PayloadFormatVersion": "2.0", "TimeoutInMillis": 5000 }

Weitere Informationen finden Sie unter Konfiguration von Integrationen für HTTP APIs und Einrichten von WebSocket API-Integrationen im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungupdate-route.

AWS CLI

Beispiel 1: So aktualisieren Sie die Integration einer Route

Im folgenden Beispiel für update-route wird die Integration einer angegebenen Route aktualisiert.

aws apigatewayv2 update-route \ --api-id a1b2c3d4 \ --route-id a1b2c3 \ --target integrations/a1b2c6

Ausgabe:

{ "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteId": "a1b2c3", "RouteKey": "ANY /pets", "Target": "integrations/a1b2c6" }

Beispiel 2: So fügen Sie einer Route einen Genehmiger hinzu

Im folgenden Beispiel für update-route wird die angegebene Route so aktualisiert, dass sie einen JWT-Genehmiger verwendet.

aws apigatewayv2 update-route \ --api-id a1b2c3d4 \ --route-id a1b2c3 \ --authorization-type JWT \ --authorizer-id a1b2c5 \ --authorization-scopes user.id user.email

Ausgabe:

{ "ApiKeyRequired": false, "AuthorizationScopes": [ "user.id", "user.email" ], "AuthorizationType": "JWT", "AuthorizerId": "a1b2c5", "OperationName": "GET HTTP", "RequestParameters": {}, "RouteId": "a1b2c3", "RouteKey": "GET /pets", "Target": "integrations/a1b2c6" }

Weitere Informationen finden Sie unter Steuern des Zugriffs auf HTTP APIs mit JWT-Autorisierern im Amazon API Gateway Developer Guide.

  • Einzelheiten zur API finden Sie UpdateRoutein AWS CLI der Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-stage.

AWS CLI

So konfigurieren Sie eine benutzerdefinierte Drosselung

Im folgenden Beispiel für update-stage wird die benutzerdefinierte Drosselung für die angegebene Stufe und Route einer API konfiguriert.

aws apigatewayv2 update-stage \ --api-id a1b2c3d4 \ --stage-name dev \ --route-settings '{"GET /pets":{"ThrottlingBurstLimit":100,"ThrottlingRateLimit":2000}}'

Ausgabe:

{ "CreatedDate": "2020-04-05T16:21:16+00:00", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "DeploymentId": "shktxb", "LastUpdatedDate": "2020-04-08T22:23:17+00:00", "RouteSettings": { "GET /pets": { "ThrottlingBurstLimit": 100, "ThrottlingRateLimit": 2000.0 } }, "StageName": "dev", "StageVariables": {}, "Tags": {} }

Weitere Informationen finden Sie unter Schützen Ihrer HTTP-API im Entwicklerhandbuch zu Amazon API Gateway.

  • Einzelheiten zur API finden Sie UpdateStagein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-vpc-link.

AWS CLI

So aktualisieren Sie einen VPC-Link

Im folgenden Beispiel für update-vpc-link wird der Name eines VPC-Links aktualisiert. Nachdem Sie einen VPC-Link erstellt haben, können Sie seine Sicherheitsgruppen oder Subnetze nicht ändern.

aws apigatewayv2 update-vpc-link \ --vpc-link-id abcd123 \ --name MyUpdatedVpcLink

Ausgabe:

{ "CreatedDate": "2020-04-07T00:27:47Z", "Name": "MyUpdatedVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd123", "VpcLinkStatus": "AVAILABLE", "VpcLinkStatusMessage": "VPC link is ready to route traffic", "VpcLinkVersion": "V2" }

Weitere Informationen finden Sie unter Arbeiten mit VPC-Links für HTTP APIs im Amazon API Gateway Developer Guide.