Beispiele für die Verwendung der AWS CLI mit API-Gateway-HTTP- und der WebSocket-API - AWS Command Line Interface

Beispiele für die Verwendung der AWS CLI mit API-Gateway-HTTP- und der WebSocket-API

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit der API-Gateway-HTTP- und der WebSocket-API nutzen.

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, wie create-api-mapping verwendet wird.

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.

  • API-Details finden Sie unter CreateApiMapping in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-api verwendet wird.

AWS CLI

So erstellen Sie eine HTTP-API

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 Catch-All-Standardroute und einer Standardstufe 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.

So erstellen Sie eine WebSocket-API

Im folgenden Beispiel für create-api wird eine WebSocket-API mit dem angegebenen Namen erstellt.

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 Erstellen einer WebSocket-API in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter CreateApi in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-authorizer verwendet wird.

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-Genehmigern im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter CreateAuthorizer in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-deployment verwendet wird.

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.

Das folgende Codebeispiel zeigt, wie create-domain-name verwendet wird.

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.

Das folgende Codebeispiel zeigt, wie create-integration verwendet wird.

AWS CLI

So erstellen Sie eine WebSocket-API-Integration

Im folgenden Beispiel für create-integration wird eine Mock-Integration für eine WebSocket-API erstellt.

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-Integrationsanforderung in API Gateway im Entwicklerhandbuch zu Amazon API Gateway.

So erstellen Sie eine HTTP-API-Integration

Im folgenden Beispiel für create-integration wird eine Lambda-Integration für eine HTTP-API erstellt.

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 Konfigurieren von Integrationen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt, wie create-route verwendet wird.

AWS CLI

So erstellen Sie eine $default-Route für eine WebSocket- oder HTTP-API

Im folgenden Beispiel für create-route wird eine $default-Route für eine WebSocket- oder HTTP-API erstellt.

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 Entwicklerhandbuch zu Amazon API Gateway.

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 Arbeiten mit Routen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter CreateRoute in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-routing-rule verwendet wird.

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 für die Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST-APIs im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt, wie create-stage verwendet wird.

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 Arbeiten mit Stufen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter CreateStage in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-vpc-link verwendet wird.

AWS CLI

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

Im folgenden Beispiel für create-vpc-link 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 Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter CreateVpcLink in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-access-log-settings verwendet wird.

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, wie delete-api-mapping verwendet wird.

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.

Das folgende Codebeispiel zeigt, wie delete-api verwendet wird.

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 Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter DeleteApi in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-authorizer verwendet wird.

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-Genehmigern im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt, wie delete-cors-configuration verwendet wird.

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, wie delete-deployment verwendet wird.

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.

Das folgende Codebeispiel zeigt, wie delete-domain-name verwendet wird.

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.

Das folgende Codebeispiel zeigt, wie delete-integration verwendet wird.

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 Konfigurieren von Integrationen für HTTP-APIs und Einrichten von WebSocket-API-Integrationen im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt, wie delete-route-settings verwendet wird.

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 Arbeiten mit Routen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt, wie delete-route verwendet wird.

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 Arbeiten mit Routen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter DeleteRoute in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-routing-rule verwendet wird.

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 für die Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST-APIs im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt, wie delete-stage verwendet wird.

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 Arbeiten mit Stufen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter DeleteStage in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-vpc-link verwendet wird.

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 Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter DeleteVpcLink in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie export-api verwendet wird.

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.

  • API-Details finden Sie unter ExportApi in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-api-mapping verwendet wird.

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.

  • API-Details finden Sie unter GetApiMapping in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-api-mappings verwendet wird.

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.

  • API-Details finden Sie unter GetApiMappings in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-api verwendet wird.

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" } }
  • API-Details finden Sie unter GetApi in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-apis verwendet wird.

AWS CLI

So rufen Sie eine Liste der APIs ab

Im folgenden Beispiel für get-apis werden alle APIs für den aktuellen Benutzer aufgelistet.

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 Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetApis in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-authorizer verwendet wird.

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-Genehmigern im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetAuthorizer in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-authorizers verwendet wird.

AWS CLI

So rufen Sie eine Liste von 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-Genehmigern im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetAuthorizers in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-deployment verwendet wird.

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.

  • API-Details finden Sie unter GetDeployment in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-deployments verwendet wird.

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.

  • API-Details finden Sie unter GetDeployments in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-domain-name verwendet wird.

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.

  • API-Details finden Sie unter GetDomainName in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-domain-names verwendet wird.

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.

  • API-Details finden Sie unter GetDomainNames in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-integration verwendet wird.

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 Konfigurieren von Integrationen für HTTP-APIs und Einrichten von WebSocket-API-Integrationen im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetIntegration in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-integrations verwendet wird.

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 Konfigurieren von Integrationen für HTTP-APIs und Einrichten von WebSocket-API-Integrationen im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetIntegrations in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-route verwendet wird.

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 Arbeiten mit Routen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetRoute in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-routes verwendet wird.

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 Arbeiten mit Routen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetRoutes in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-routing-rule verwendet wird.

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 für die Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetRoutingRule in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-stage verwendet wird.

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 Arbeiten mit Stufen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetStage in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-stages verwendet wird.

AWS CLI

So rufen Sie eine Liste von 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 Arbeiten mit Stufen für HTTP-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetStages in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-tags verwendet wird.

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.

  • API-Details finden Sie unter GetTags in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-vpc-link verwendet wird.

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 Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetVpcLink in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-vpc-links verwendet wird.

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 Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter GetVpcLinks in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie import-api verwendet wird.

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 Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter ImportApi in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-routing-rules verwendet wird.

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 für die Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST-APIs im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt, wie put-routing-rule verwendet wird.

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 für die Verbindung von API-Stufen mit einem benutzerdefinierten Domainnamen für REST-APIs im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter PutRoutingRule in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie reimport-api verwendet wird.

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 Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter ReimportApi in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.

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.

  • API-Details finden Sie unter TagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.

AWS CLI

So entfernen Sie Tags von 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.

  • API-Details finden Sie unter UntagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-api-mapping verwendet wird.

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.

Das folgende Codebeispiel zeigt, wie update-api verwendet wird.

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.

  • API-Details finden Sie unter UpdateApi in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-authorizer verwendet wird.

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-Genehmigern im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt, wie update-deployment verwendet wird.

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.

Das folgende Codebeispiel zeigt, wie update-domain-name verwendet wird.

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.

Das folgende Codebeispiel zeigt, wie update-integration verwendet wird.

AWS CLI

So aktualisieren Sie eine Lambda-Integration

Im folgenden Beispiel für update-integration wird eine bestehende AWS-Lambda-Integration so aktualisiert, dass 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 Konfigurieren von Integrationen für HTTP-APIs und Einrichten von WebSocket-API-Integrationen im Entwicklerhandbuch zu Amazon API Gateway.

Das folgende Codebeispiel zeigt, wie update-route verwendet wird.

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-Genehmigern im Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter UpdateRoute in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-stage verwendet wird.

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.

  • API-Details finden Sie unter UpdateStage in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-vpc-link verwendet wird.

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 Entwicklerhandbuch zu Amazon API Gateway.

  • API-Details finden Sie unter UpdateVpcLink in der AWS CLI-Befehlsreferenz.