View a markdown version of this page

API Gateway-Beispiele mit AWS CLI - AWS SDK-Codebeispiele

Weitere AWS SDK-Beispiele sind im AWS Doc SDK Examples GitHub Repo verfügbar.

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-Beispiele mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von API Gateway Aktionen ausführen und allgemeine Szenarien implementieren. AWS Command Line Interface

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 Anweisungen zum Einrichten und Ausführen des Codes im Kodex finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendung. create-api-key

AWS CLI

So erstellen Sie einen API-Schlüssel, der für eine bestehende API und Stage aktiviert ist

Befehl:

aws apigateway create-api-key --name 'Dev API Key' --description 'Used for development' --enabled --stage-keys restApiId='a1b2c3d4e5',stageName='dev'

Das folgende Codebeispiel zeigt die Verwendung. create-authorizer

AWS CLI

Beispiel 1: So erstellen Sie einen tokenbasierten benutzerdefinierten Genehmiger in API Gateway für die API

Im folgenden Beispiel für create-authorizer wird ein tokenbasierter Genehmiger erstellt.

aws apigateway create-authorizer \ --rest-api-id 1234123412 \ --name 'First_Token_Custom_Authorizer' \ --type TOKEN \ --authorizer-uri 'arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations' \ --identity-source 'method.request.header.Authorization' \ --authorizer-result-ttl-in-seconds 300

Ausgabe:

{ "authType": "custom", "name": "First_Token_Custom_Authorizer", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations", "authorizerResultTtlInSeconds": 300, "identitySource": "method.request.header.Authorization", "type": "TOKEN", "id": "z40xj0" }

Beispiel 2: So erstellen Sie einen auf Cognito-Benutzerpools basierenden benutzerdefinierten Genehmiger in API Gateway für die API

Im folgenden Beispiel für create-authorizer wird ein auf Cognito-Benutzerpools basierender benutzerdefinierter Genehmiger in API Gateway erstellt.

aws apigateway create-authorizer \ --rest-api-id 1234123412 \ --name 'First_Cognito_Custom_Authorizer' \ --type COGNITO_USER_POOLS \ --provider-arns 'arn:aws:cognito-idp:us-east-1:123412341234:userpool/us-east-1_aWcZeQbuD' \ --identity-source 'method.request.header.Authorization'

Ausgabe:

{ "authType": "cognito_user_pools", "identitySource": "method.request.header.Authorization", "name": "First_Cognito_Custom_Authorizer", "providerARNs": [ "arn:aws:cognito-idp:us-east-1:342398297714:userpool/us-east-1_qWbZzQhzE" ], "type": "COGNITO_USER_POOLS", "id": "5yid1t" }

Beispiel 3: So erstellen Sie einen anforderungsbasierten benutzerdefinierten Genehmiger in API Gateway für die API

Im folgenden Beispiel für create-authorizer wird ein anforderungsbasierter Genehmiger erstellt.

aws apigateway create-authorizer \ --rest-api-id 1234123412 \ --name 'First_Request_Custom_Authorizer' \ --type REQUEST \ --authorizer-uri 'arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations' \ --identity-source 'method.request.header.Authorization,context.accountId' \ --authorizer-result-ttl-in-seconds 300

Ausgabe:

{ "id": "z40xj0", "name": "First_Request_Custom_Authorizer", "type": "REQUEST", "authType": "custom", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthFunction/invocations", "identitySource": "method.request.header.Authorization,context.accountId", "authorizerResultTtlInSeconds": 300 }

Das folgende Codebeispiel zeigt die Verwendung. create-base-path-mapping

AWS CLI

So erstellen Sie die Basispfadzuordnung für einen benutzerdefinierten Domainnamen

Befehl:

aws apigateway create-base-path-mapping --domain-name subdomain.domain.tld --rest-api-id 1234123412 --stage prod --base-path v1

Das folgende Codebeispiel zeigt die Verwendungcreate-deployment.

AWS CLI

So stellen Sie die konfigurierten Ressourcen für eine API in einer neuen Stufe bereit

Befehl:

aws apigateway create-deployment --rest-api-id 1234123412 --stage-name dev --stage-description 'Development Stage' --description 'First deployment to the dev stage'

So stellen Sie die konfigurierten Ressourcen für eine API in einer bestehenden Stufe bereit

Befehl:

aws apigateway create-deployment --rest-api-id 1234123412 --stage-name dev --description 'Second deployment to the dev stage'

So stellen Sie die konfigurierten Ressourcen für eine API in einer bestehenden Stufe mit Stufenvariablen bereit

aws apigateway create-deployment --rest-api-id 1.234.123.412 --stage-name dev --description 'Third deployment to the dev stage' --variables key='value',otherKey='otherValue'

Das folgende Codebeispiel zeigt die Verwendung. create-domain-name-access-association

AWS CLI

So erstellen Sie eine Zuweisung für den Zugriff auf Domainnamen

Im folgenden Beispiel für create-domain-name-access-association wird eine Domainnamenzugriffszuweisung zwischen einem privaten benutzerdefinierten Domainnamen und einem VPC-Endpunkt erstellt.

aws apigateway create-domain-name-access-association \ --domain-name-arn arn:aws:apigateway:us-west-2:111122223333:/domainnames/my.private.domain.tld+abcd1234 \ --access-association-source vpce-abcd1234efg \ --access-association-source-type VPCE

Ausgabe:

{ "domainNameAccessAssociationArn": "arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg "accessAssociationSource": "vpce-abcd1234efg", "accessAssociationSourceType": "VPCE", "domainNameArn" : "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234" }

Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendung. create-domain-name

AWS CLI

Beispiel 1: So erstellen Sie einen öffentlichen benutzerdefinierten Domainnamen

Im folgenden Beispiel für create-domain-name wird ein öffentlicher benutzerdefinierter Domainnamen erstellt.

aws apigateway create-domain-name \ --domain-name 'my.domain.tld' \ --certificate-name 'my.domain.tld cert'\ --certificate-arn 'arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3'

Ausgabe:

{ "domainName": "my.domain.tld", "certificateName": "my.domain.tld cert", "certificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", "certificateUploadDate": "2024-10-08T11:29:49-07:00", "distributionDomainName": "abcd1234.cloudfront.net", "distributionHostedZoneId": "Z2FDTNDATAQYW2", "endpointConfiguration": { "types": [ "EDGE" ] }, "domainNameStatus": "AVAILABLE", "securityPolicy": "TLS_1_2" }

Weitere Informationen finden Sie unter Benutzerdefinierter Domainname für öffentliche REST-APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Beispiel 2: So erstellen Sie einen privaten benutzerdefinierten Domainnamen

Im folgenden Beispiel für create-domain-name wird ein privater benutzerdefinierter Domainnamen erstellt.

aws apigateway create-domain-name \ --domain-name 'my.private.domain.tld' \ --certificate-name 'my.domain.tld cert' \ --certificate-arn 'arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3' \ --endpoint-configuration '{"types": ["PRIVATE"]}' \ --security-policy 'TLS_1_2' \ --policy file://policy.json

Inhalt von policy.json:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ] }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": [ "execute-api:/*" ], "Condition" : { "StringNotEquals": { "aws:SourceVpce": "vpce-abcd1234efg" } } } ] }

Ausgabe:

{ "domainName": "my.private.domain.tld", "domainNameId": "abcd1234", "domainNameArn": "arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234", "certificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", "certificateUploadDate": "2024-09-10T10:31:20-07:00", "endpointConfiguration": { "types": [ "PRIVATE" ] }, "domainNameStatus": "AVAILABLE", "securityPolicy": "TLS_1_2", "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234\"},{\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234\",\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpc\":\"vpc-1a2b3c4d\"}}}]}" }

Weitere Informationen finden Sie unter Benutzerdefinierter Domainname für öffentliche REST-APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendung. create-model

AWS CLI

So erstellen Sie ein Modell für eine API

Befehl:

aws apigateway create-model --rest-api-id 1234123412 --name 'firstModel' --description 'The First Model' --content-type 'application/json' --schema '{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "firstModel", "type": "object", "properties": { "firstProperty" : { "type": "object", "properties": { "key": { "type": "string" } } } } }'

Ausgabe:

{ "contentType": "application/json", "description": "The First Model", "name": "firstModel", "id": "2rzg0l", "schema": "{ \"$schema\": \"http://json-schema.org/draft-04/schema#\", \"title\": \"firstModel\", \"type\": \"object\", \"properties\": { \"firstProperty\" : { \"type\": \"object\", \"properties\": { \"key\": { \"type\": \"string\" } } } } }" }
  • API-Details finden Sie CreateModel in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-resource.

AWS CLI

So erstellen Sie eine Ressource in einer API

Befehl:

aws apigateway create-resource --rest-api-id 1234123412 --parent-id a1b2c3 --path-part 'new-resource'

Das folgende Codebeispiel zeigt die Verwendungcreate-rest-api.

AWS CLI

So erstellen Sie eine API

Befehl:

aws apigateway create-rest-api --name 'My First API' --description 'This is my first API'

So erstellen Sie eine doppelte API aus einer vorhandenen API

Befehl:

aws apigateway create-rest-api --name 'Copy of My First API' --description 'This is a copy of my first API' --clone-from 1234123412

Das folgende Codebeispiel zeigt die Verwendung. create-stage

AWS CLI

So erstellen Sie eine Stufe in einer API, die eine bestehende Bereitstellung enthält

Befehl:

aws apigateway create-stage --rest-api-id 1234123412 --stage-name 'dev' --description 'Development stage' --deployment-id a1b2c3

So erstellen Sie eine Stufe in einer API, die eine bestehende Bereitstellung und benutzerdefinierte Stufenvariablen enthält

Befehl:

aws apigateway create-stage --rest-api-id 1234123412 --stage-name 'dev' --description 'Development stage' --deployment-id a1b2c3 --variables key='value',otherKey='otherValue'
  • API-Details finden Sie CreateStage in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. create-usage-plan-key

AWS CLI

Verknüpfen eines vorhandenen API-Schlüssels mit einem Nutzungsplan

Befehl:

aws apigateway create-usage-plan-key --usage-plan-id a1b2c3 --key-type "API_KEY" --key-id 4vq3yryqm5

Das folgende Codebeispiel zeigt die Verwendung. create-usage-plan

AWS CLI

So erstellen Sie einen Nutzungsplan mit Drosselungs- und Kontingentlimits, der zu Beginn des Monats zurückgesetzt wird

Befehl:

aws apigateway create-usage-plan --name "New Usage Plan" --description "A new usage plan" --throttle burstLimit=10,rateLimit=5 --quota limit=500,offset=0,period=MONTH

Das folgende Codebeispiel zeigt die Verwendungdelete-api-key.

AWS CLI

So löschen Sie einen API-Schlüssel

Befehl:

aws apigateway delete-api-key --api-key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk

Das folgende Codebeispiel zeigt die Verwendung. delete-authorizer

AWS CLI

So löschen Sie einen benutzerdefinierten Genehmiger in einer API

Befehl:

aws apigateway delete-authorizer --rest-api-id 1234123412 --authorizer-id 7gkfbo

Das folgende Codebeispiel zeigt die Verwendung. delete-base-path-mapping

AWS CLI

So löschen Sie eine Basispfadzuordnung für einen benutzerdefinierten Domainnamen

Befehl:

aws apigateway delete-base-path-mapping --domain-name 'api.domain.tld' --base-path 'dev'

Das folgende Codebeispiel zeigt die Verwendung. delete-client-certificate

AWS CLI

So löschen Sie ein Clientzertifikat

Befehl:

aws apigateway delete-client-certificate --client-certificate-id a1b2c3

Das folgende Codebeispiel zeigt die Verwendung. delete-deployment

AWS CLI

So löschen Sie eine Bereitstellung in einer API

Befehl:

aws apigateway delete-deployment --rest-api-id 1234123412 --deployment-id a1b2c3

Das folgende Codebeispiel zeigt die Verwendung. delete-domain-name-access-association

AWS CLI

So löschen Sie eine Domainnamenzugriffszuweisung

Im folgenden Beispiel für delete-domain-name-access-association wird eine Domainnamenzugriffszuweisung zwischen einem privaten benutzerdefinierten Domainnamen und einem VPC-Endpunkt gelöscht.

aws apigateway delete-domain-name-access-association \ --domain-name-access-association-arn arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendung. delete-domain-name

AWS CLI

So löschen Sie einen benutzerdefinierten Domainnamen

Befehl:

aws apigateway delete-domain-name --domain-name 'api.domain.tld'

Das folgende Codebeispiel zeigt die Verwendung. delete-integration-response

AWS CLI

So löschen Sie eine Integrationsantwort für eine bestimmte Ressource und Methode sowie einen bestimmten Statuscode in einer API

Befehl:

aws apigateway delete-integration-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200

Das folgende Codebeispiel zeigt die Verwendung. delete-integration

AWS CLI

So löschen Sie eine Integration für eine bestimmte Ressource und Methode in einer API

Befehl:

aws apigateway delete-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET

Das folgende Codebeispiel zeigt die Verwendung. delete-method-response

AWS CLI

So löschen Sie eine Methodenantwort für eine bestimmte Ressource und Methode sowie einen bestimmten Statuscode in einer API

Befehl:

aws apigateway delete-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200

Das folgende Codebeispiel zeigt die Verwendung. delete-method

AWS CLI

So löschen Sie eine Methode für eine bestimmte Ressource in einer API

Befehl:

aws apigateway delete-method --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET

Das folgende Codebeispiel zeigt die Verwendung. delete-model

AWS CLI

So löschen Sie ein Modell in der angegebenen API

Befehl:

aws apigateway delete-model --rest-api-id 1234123412 --model-name 'customModel'
  • API-Details finden Sie DeleteModel in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. delete-resource

AWS CLI

So löschen Sie eine Ressource in einer API

Befehl:

aws apigateway delete-resource --rest-api-id 1234123412 --resource-id a1b2c3

Das folgende Codebeispiel zeigt die Verwendung. delete-rest-api

AWS CLI

So löschen Sie eine API

Befehl:

aws apigateway delete-rest-api --rest-api-id 1234123412

Das folgende Codebeispiel zeigt die Verwendung. delete-stage

AWS CLI

So löschen Sie eine Stufe in einer API

Befehl:

aws apigateway delete-stage --rest-api-id 1234123412 --stage-name 'dev'
  • API-Details finden Sie DeleteStage in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. delete-usage-plan-key

AWS CLI

So entfernen Sie einen API-Schlüssel aus einem Nutzungsplan

Befehl:

aws apigateway delete-usage-plan-key --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu

Das folgende Codebeispiel zeigt die Verwendung. delete-usage-plan

AWS CLI

So löschen Sie einen Nutzungsplan

Befehl:

aws apigateway delete-usage-plan --usage-plan-id a1b2c3

Das folgende Codebeispiel zeigt die Verwendung. flush-stage-authorizers-cache

AWS CLI

So löschen Sie alle Genehmiger-Cache-Einträge auf einer Stufe

Befehl:

aws apigateway flush-stage-authorizers-cache --rest-api-id 1234123412 --stage-name dev

Das folgende Codebeispiel zeigt die Verwendung. flush-stage-cache

AWS CLI

So löschen Sie den Cache für die Stufe einer API

Im folgenden Beispiel für flush-stage-cache wird der Cache einer Stufe gelöscht.

aws apigateway flush-stage-cache \ --rest-api-id 1234123412 \ --stage-name dev

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Löschen des API-Stufen-Cache in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendung. generate-client-certificate

AWS CLI

Um ein Client-Side SSL-Zertifikat zu erstellen

Befehl:

aws apigateway generate-client-certificate --description 'My First Client Certificate'

Das folgende Codebeispiel zeigt die Verwendungget-account.

AWS CLI

So rufen Sie die Kontoeinstellungen für API Gateway ab

Befehl:

aws apigateway get-account

Ausgabe:

{ "cloudwatchRoleArn": "arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogsRole", "throttleSettings": { "rateLimit": 500.0, "burstLimit": 1000 } }
  • API-Details finden Sie GetAccount in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. get-api-key

AWS CLI

So rufen Sie Informationen zu einem bestimmten API-Schlüssel ab

Befehl:

aws apigateway get-api-key --api-key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk

Ausgabe:

{ "description": "My first key", "enabled": true, "stageKeys": [ "a1b2c3d4e5/dev", "e5d4c3b2a1/dev" ], "lastUpdatedDate": 1456184515, "createdDate": 1456184452, "id": "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", "name": "My key" }
  • API-Details finden Sie GetApiKey in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. get-api-keys

AWS CLI

So rufen Sie die Liste der API-Schlüssel ab

Befehl:

aws apigateway get-api-keys

Ausgabe:

{ "items": [ { "description": "My first key", "enabled": true, "stageKeys": [ "a1b2c3d4e5/dev", "e5d4c3b2a1/dev" ], "lastUpdatedDate": 1456184515, "createdDate": 1456184452, "id": "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", "name": "My key" } ] }
  • API-Details finden Sie GetApiKeys in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. get-authorizer

AWS CLI

So rufen Sie die Einstellungen pro API-Genehmiger in API Gateway ab

Befehl:

aws apigateway get-authorizer --rest-api-id 1234123412 --authorizer-id gfi4n3

Ausgabe:

{ "authorizerResultTtlInSeconds": 300, "name": "MyAuthorizer", "type": "TOKEN", "identitySource": "method.request.header.Authorization", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:authorizer_function/invocations", "id": "gfi4n3" }

Das folgende Codebeispiel zeigt die Verwendung. get-authorizers

AWS CLI

So rufen Sie die Liste der Genehmiger für eine REST-API ab

Befehl:

aws apigateway get-authorizers --rest-api-id 1234123412

Ausgabe:

{ "items": [ { "name": "MyAuthorizer", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:My_Authorizer_Function/invocations", "authorizerResultTtlInSeconds": 300, "identitySource": "method.request.header.Authorization", "type": "TOKEN", "id": "gfi4n3" } ] }

Das folgende Codebeispiel zeigt die Verwendung. get-base-path-mapping

AWS CLI

So rufen Sie die Basispfadzuordnung für einen benutzerdefinierten Domainnamen ab

Befehl:

aws apigateway get-base-path-mapping --domain-name subdomain.domain.tld --base-path v1

Ausgabe:

{ "basePath": "v1", "restApiId": "1234w4321e", "stage": "api" }

Das folgende Codebeispiel zeigt die Verwendung. get-base-path-mappings

AWS CLI

So rufen Sie die Basispfadzuordnung für einen benutzerdefinierten Domainnamen ab

Befehl:

aws apigateway get-base-path-mappings --domain-name subdomain.domain.tld

Ausgabe:

{ "items": [ { "basePath": "(none)", "restApiId": "1234w4321e", "stage": "dev" }, { "basePath": "v1", "restApiId": "1234w4321e", "stage": "api" } ] }

Das folgende Codebeispiel zeigt die Verwendung. get-client-certificate

AWS CLI

So rufen Sie ein Clientzertifikat ab

Befehl:

aws apigateway get-client-certificate --client-certificate-id a1b2c3

Das folgende Codebeispiel zeigt die Verwendung. get-client-certificates

AWS CLI

So rufen Sie eine Liste der Clientzertifikate ab

Befehl:

aws apigateway get-client-certificates

Ausgabe:

{ "items": [ { "pemEncodedCertificate": "-----BEGIN CERTIFICATE----- <certificate content> -----END CERTIFICATE-----", "clientCertificateId": "a1b2c3", "expirationDate": 1483556561, "description": "My Client Certificate", "createdDate": 1452020561 } ] }

Das folgende Codebeispiel zeigt die Verwendungget-deployment.

AWS CLI

So rufen Sie Informationen zu einer Bereitstellung ab

Befehl:

aws apigateway get-deployment --rest-api-id 1234123412 --deployment-id ztt4m2

Ausgabe:

{ "description": "myDeployment", "id": "ztt4m2", "createdDate": 1455218022 }

Das folgende Codebeispiel zeigt die Verwendung. get-deployments

AWS CLI

So rufen Sie eine Liste der Bereitstellungen für eine REST-API ab

Befehl:

aws apigateway get-deployments --rest-api-id 1234123412

Ausgabe:

{ "items": [ { "createdDate": 1453797217, "id": "0a2b4c", "description": "Deployed my API for the first time" } ] }

Das folgende Codebeispiel zeigt die Verwendung. get-domain-name-access-associations

AWS CLI

Beispiel 1: So listen Sie alle Domainnamenzugriffszuweisungen auf

Im folgenden Beispiel für get-domain-name-access-associations werden alle Domainnamenzugriffszuweisung aufgelistet.

aws apigateway get-domain-name-access-associations

Ausgabe:

{ "items": [ { "domainNameAccessAssociationArn": "arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg "accessAssociationSource": "vpce-abcd1234efg", "accessAssociationSourceType": "VPCE", "domainNameArn" : "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234" } ] }

Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Beispiel 2: Um alle Domainnamen-Zugriffszuordnungen aufzulisten, die diesem AWS Konto gehören

Im folgenden get-domain-name-access-associations Beispiel werden alle Domänennamen-Zugriffszuordnungen aufgeführt, die dem aktuellen AWS Konto gehören.

aws apigateway get-domain-name-access-associations \ --resource-owner SELF

Ausgabe:

{ "items": [ { "domainNameAccessAssociationArn": "arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg "accessAssociationSource": "vpce-abcd1234efg", "accessAssociationSourceType": "VPCE", "domainNameArn" : "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234" } ] }

Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendung. get-domain-name

AWS CLI

Beispiel 1: So rufen Sie Informationen über einen öffentlichen benutzerdefinierten Domainnamen ab

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

aws apigateway get-domain-name \ --domain-name api.domain.tld

Ausgabe:

{ "domainName": "api.domain.tld", "distributionDomainName": "d1a2f3a4c5o6d.cloudfront.net", "certificateName": "uploadedCertificate", "certificateUploadDate": 1462565487 }

Weitere Informationen finden Sie unter Benutzerdefinierter Domainname für öffentliche REST-APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Beispiel 2: So rufen Sie Informationen über einen privaten benutzerdefinierten Domainnamen ab

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

aws apigateway get-domain-name \ --domain-name api.private.domain.tld \ --domain-name-id abcd1234

Ausgabe:

{ "domainName": "my.private.domain.tld", "domainNameId": "abcd1234", "domainNameArn": "arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234", "certificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", "certificateUploadDate": "2024-09-10T10:31:20-07:00", "endpointConfiguration": { "types": [ "PRIVATE" ] }, "domainNameStatus": "AVAILABLE", "securityPolicy": "TLS_1_2", "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234\"},{\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"arn:aws:execute-api:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234\",\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpc\":\"vpc-1a2b3c4d\"}}}]}" }

Weitere Informationen finden Sie unter Benutzerdefinierter Domainname für öffentliche REST-APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendung. get-domain-names

AWS CLI

Beispiel 1: So rufen Sie eine Liste der benutzerdefinierten Domainnamen ab

Mit dem folgenden get-domain-names-Befehl wird eine Liste der Domainnamen abgerufen.

aws apigateway get-domain-names

Ausgabe:

{ "items": [ { "distributionDomainName": "d9511k3l09bkd.cloudfront.net", "certificateUploadDate": 1452812505, "certificateName": "my_custom_domain-certificate", "domainName": "subdomain.domain.tld" } ] }

Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Beispiel 2: Um eine Liste mit benutzerdefinierten Domainnamen abzurufen, die diesem AWS Konto gehören

Mit dem folgenden get-domain-names Befehl wird eine Liste der Domainnamen abgerufen, die diesem AWS Konto gehören.

aws apigateway get-domain-names \ --resource-owner SELF

Ausgabe:

{ "items": [ { "domainName": "my.domain.tld", "domainNameArn": "arn:aws:apigateway:us-east-1::/domainnames/my.private.domain.tld", "certificateUploadDate": "2024-08-15T17:02:55-07:00", "regionalDomainName": "d-abcd1234.execute-api.us-east-1.amazonaws.com", "regionalHostedZoneId": "Z1UJRXOUMOOFQ8", "regionalCertificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", "endpointConfiguration": { "types": [ "REGIONAL" ] }, "domainNameStatus": "AVAILABLE", "securityPolicy": "TLS_1_2" }, { "domainName": "my.private.domain.tld", "domainNameId": "abcd1234", "domainNameArn": "arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234", "certificateArn": "arn:aws:acm:us-east-1:012345678910:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3", "certificateUploadDate": "2024-11-26T11:44:40-08:00", "endpointConfiguration": { "types": [ "PRIVATE" ] }, "domainNameStatus": "AVAILABLE", "securityPolicy": "TLS_1_2" } ] }

Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Beispiel 3: Um eine Liste mit benutzerdefinierten Domainnamen abzurufen, die anderen AWS Konten gehören und mit denen Sie eine Zuordnung zum Domainnamen-Zugriff erstellen können.

Mit dem folgenden get-domain-names Befehl wird eine Liste von Domainnamen abgerufen, die anderen AWS Konten gehören, auf die Sie Zugriff haben, um eine Domänennamenzugriffszuordnung zu erstellen.

aws apigateway get-domain-names \ --resource-owner OTHER_ACCOUNTS

Ausgabe:

{ "items": [ { "domainName": "my.private.domain.tld", "domainNameId": "abcd1234", "domainNameArn": "arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234" } ] }

Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendungget-export.

AWS CLI

So rufen Sie JSON-Swagger-Vorlage für eine Stufe ab

Befehl:

aws apigateway get-export --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger /path/to/filename.json

Um die JSON-Swagger-Vorlage und die API-Gateway-Erweiterungen für eine Phase abzurufen

Befehl:

aws apigateway get-export --parameters extensions='integrations' --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger /path/to/filename.json

So rufen Sie JSON-Swagger-Vorlage und Postman-Erweiterungen für eine Stufe ab

Befehl:

aws apigateway get-export --parameters extensions='postman' --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger /path/to/filename.json
  • API-Details finden Sie GetExport in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. get-integration-response

AWS CLI

So rufen Sie die Konfiguration der Integrationsantwort für eine HTTP-Methode ab, die unter einer REST-API-Ressource definiert ist

Befehl:

aws apigateway get-integration-response --rest-api-id 1234123412 --resource-id y9h6rt --http-method GET --status-code 200

Ausgabe:

{ "statusCode": "200", "responseTemplates": { "application/json": null } }

Das folgende Codebeispiel zeigt die Verwendungget-integration.

AWS CLI

So rufen Sie die Konfiguration der Integration für eine HTTP-Methode ab, die unter einer REST-API-Ressource definiert ist

Befehl:

aws apigateway get-integration --rest-api-id 1234123412 --resource-id y9h6rt --http-method GET

Ausgabe:

{ "httpMethod": "POST", "integrationResponses": { "200": { "responseTemplates": { "application/json": null }, "statusCode": "200" } }, "cacheKeyParameters": [], "type": "AWS", "uri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:My_Function/invocations", "cacheNamespace": "y9h6rt" }

Das folgende Codebeispiel zeigt die Verwendung. get-method-response

AWS CLI

So rufen Sie die Ressourcenkonfiguration der Methodenantwort für eine HTTP-Methode ab, die unter einer REST-API-Ressource definiert ist

Befehl:

aws apigateway get-method-response --rest-api-id 1234123412 --resource-id y9h6rt --http-method GET --status-code 200

Ausgabe:

{ "responseModels": { "application/json": "Empty" }, "statusCode": "200" }

Das folgende Codebeispiel zeigt die Verwendungget-method.

AWS CLI

So rufen Sie die Ressourcenkonfiguration der Methode für eine HTTP-Methode ab, die unter einer REST-API-Ressource definiert ist

Befehl:

aws apigateway get-method --rest-api-id 1234123412 --resource-id y9h6rt --http-method GET

Ausgabe:

{ "apiKeyRequired": false, "httpMethod": "GET", "methodIntegration": { "integrationResponses": { "200": { "responseTemplates": { "application/json": null }, "statusCode": "200" } }, "cacheKeyParameters": [], "uri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:My_Function/invocations", "httpMethod": "POST", "cacheNamespace": "y9h6rt", "type": "AWS" }, "requestParameters": {}, "methodResponses": { "200": { "responseModels": { "application/json": "Empty" }, "statusCode": "200" } }, "authorizationType": "NONE" }
  • API-Details finden Sie GetMethod in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. get-model-template

AWS CLI

So rufen die Zuordnungsvorlage für ein Modell ab, das unter einer REST-API definiert ist

Befehl:

aws apigateway get-model-template --rest-api-id 1234123412 --model-name Empty

Ausgabe:

{ "value": "#set($inputRoot = $input.path('$'))\n{ }" }

Das folgende Codebeispiel zeigt die Verwendungget-model.

AWS CLI

So rufen Sie die Konfiguration für ein Modell ab, das unter einer REST-API definiert ist

Befehl:

aws apigateway get-model --rest-api-id 1234123412 --model-name Empty

Ausgabe:

{ "contentType": "application/json", "description": "This is a default empty schema model", "name": "Empty", "id": "etd5w5", "schema": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"title\" : \"Empty Schema\",\n \"type\" : \"object\"\n}" }
  • API-Details finden Sie GetModel in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-models.

AWS CLI

So rufen Sie eine Liste der Modelle für eine REST-API ab

Befehl:

aws apigateway get-models --rest-api-id 1234123412

Ausgabe:

{ "items": [ { "description": "This is a default error schema model", "schema": "{\n \"$schema\" : \"http://json-schema.org/draft-04/schema#\",\n \"title\" : \"Error Schema\",\n \"type\" : \"object\",\n \"properties\" : {\n \"message\" : { \"type\" : \"string\" }\n }\n}", "contentType": "application/json", "id": "7tpbze", "name": "Error" }, { "description": "This is a default empty schema model", "schema": "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n \"title\" : \"Empty Schema\",\n \"type\" : \"object\"\n}", "contentType": "application/json", "id": "etd5w5", "name": "Empty" } ] }
  • API-Details finden Sie GetModels in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-resource.

AWS CLI

So rufen Sie Informationen über eine Ressource ab

Befehl:

aws apigateway get-resource --rest-api-id 1234123412 --resource-id zwo0y3

Ausgabe:

{ "path": "/path", "pathPart": "path", "id": "zwo0y3", "parentId": "uyokt6ij2g" }
  • API-Details finden Sie GetResource in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-resources.

AWS CLI

So rufen Sie eine Liste der Ressourcen für eine REST-API ab

Befehl:

aws apigateway get-resources --rest-api-id 1234123412

Ausgabe:

{ "items": [ { "path": "/resource/subresource", "resourceMethods": { "POST": {} }, "id": "024ace", "pathPart": "subresource", "parentId": "ai5b02" } ] }

Das folgende Codebeispiel zeigt die Verwendung. get-rest-api

AWS CLI

So rufen Sie Informationen über eine API ab

Befehl:

aws apigateway get-rest-api --rest-api-id 1234123412

Ausgabe:

{ "name": "myAPI", "id": "o1y243m4f5", "createdDate": 1453416433 }
  • API-Details finden Sie GetRestApi in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. get-rest-apis

AWS CLI

So rufen Sie eine Liste der REST-APIs ab

Befehl:

aws apigateway get-rest-apis

Ausgabe:

{ "items": [ { "createdDate": 1438884790, "id": "12s44z21rb", "name": "My First API" } ] }
  • API-Details finden Sie GetRestApis in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-sdk.

AWS CLI

So rufen Sie das Android-SDK für eine REST-API-Stufe ab

Befehl:

aws apigateway get-sdk --rest-api-id 1234123412 --stage-name dev --sdk-type android --parameters groupId='com.mycompany',invokerPackage='com.mycompany.clientsdk',artifactId='Mycompany-client',artifactVersion='1.0.0' /path/to/android_sdk.zip

Ausgabe:

{ "contentType": "application/octet-stream", "contentDisposition": "attachment; filename=\"android_2016-02-22_23-52Z.zip\"" }

So rufen Sie das IOS-SDK für eine REST-API-Stufe ab

Befehl:

aws apigateway get-sdk --rest-api-id 1234123412 --stage-name dev --sdk-type objectivec --parameters classPrefix='myprefix' /path/to/iOS_sdk.zip

Ausgabe:

{ "contentType": "application/octet-stream", "contentDisposition": "attachment; filename=\"objectivec_2016-02-22_23-52Z.zip\"" }

So rufen Sie das Javascript-SDK für eine REST-API-Stufe ab

Befehl:

aws apigateway get-sdk --rest-api-id 1234123412 --stage-name dev --sdk-type javascript /path/to/javascript_sdk.zip

Ausgabe:

{ "contentType": "application/octet-stream", "contentDisposition": "attachment; filename=\"javascript_2016-02-22_23-52Z.zip\"" }
  • API-Details finden Sie GetSdk in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-stage.

AWS CLI

So rufen Sie Informationen über die Stufe einer API ab

Befehl:

aws apigateway get-stage --rest-api-id 1234123412 --stage-name dev

Ausgabe:

{ "stageName": "dev", "cacheClusterSize": "0.5", "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "deploymentId": "rbh1fj", "lastUpdatedDate": 1466802961, "createdDate": 1460682074, "methodSettings": { "*/*": { "cacheTtlInSeconds": 300, "loggingLevel": "INFO", "dataTraceEnabled": false, "metricsEnabled": true, "unauthorizedCacheControlHeaderStrategy": "SUCCEED_WITH_RESPONSE_HEADER", "throttlingRateLimit": 500.0, "cacheDataEncrypted": false, "cachingEnabled": false, "throttlingBurstLimit": 1000, "requireAuthorizationForCacheControl": true }, "~1resource/GET": { "cacheTtlInSeconds": 300, "loggingLevel": "INFO", "dataTraceEnabled": false, "metricsEnabled": true, "unauthorizedCacheControlHeaderStrategy": "SUCCEED_WITH_RESPONSE_HEADER", "throttlingRateLimit": 500.0, "cacheDataEncrypted": false, "cachingEnabled": false, "throttlingBurstLimit": 1000, "requireAuthorizationForCacheControl": true } } }
  • API-Details finden Sie GetStage in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-stages.

AWS CLI

So rufen Sie die Liste der Stufen für eine REST-API ab

Befehl:

aws apigateway get-stages --rest-api-id 1234123412

Ausgabe:

{ "item": [ { "stageName": "dev", "cacheClusterSize": "0.5", "cacheClusterEnabled": true, "cacheClusterStatus": "AVAILABLE", "deploymentId": "123h64", "lastUpdatedDate": 1456185138, "createdDate": 1453589092, "methodSettings": { "~1resource~1subresource/POST": { "cacheTtlInSeconds": 300, "loggingLevel": "INFO", "dataTraceEnabled": true, "metricsEnabled": true, "throttlingRateLimit": 500.0, "cacheDataEncrypted": false, "cachingEnabled": false, "throttlingBurstLimit": 1000 } } } ] }
  • API-Details finden Sie GetStages in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. get-usage-plan-key

AWS CLI

So rufen Sie die Details eines API-Schlüssels ab, der einem Nutzungsplan zugeordnet ist

Befehl:

aws apigateway get-usage-plan-key --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu

Das folgende Codebeispiel zeigt die Verwendung. get-usage-plan-keys

AWS CLI

So rufen Sie die Liste der API-Schlüssel ab, der einem Nutzungsplan zugeordnet sind

Befehl:

aws apigateway get-usage-plan-keys --usage-plan-id a1b2c3

Das folgende Codebeispiel zeigt die Verwendung. get-usage-plan

AWS CLI

So rufen Sie die Details eines Nutzungsplans ab

Befehl:

aws apigateway get-usage-plan --usage-plan-id a1b2c3

Das folgende Codebeispiel zeigt die Verwendung. get-usage-plans

AWS CLI

So rufen Sie die Details aller Nutzungspläne ab

Befehl:

aws apigateway get-usage-plans

Das folgende Codebeispiel zeigt die Verwendungget-usage.

AWS CLI

So rufen Sie die Nutzungsdetails für einen Nutzungsplan ab

Befehl:

aws apigateway get-usage --usage-plan-id a1b2c3 --start-date "2016-08-16" --end-date "2016-08-17"
  • API-Details finden Sie GetUsage in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. import-rest-api

AWS CLI

So importieren Sie eine Swagger-Vorlage und erstellen eine API

Befehl:

aws apigateway import-rest-api --body 'file:///path/to/API_Swagger_template.json'

Das folgende Codebeispiel zeigt die Verwendungput-integration-response.

AWS CLI

So erstellen Sie eine Integrationsantwort als Standardantwort mit einer definierten Zuweisungsvorlage

Befehl:

aws apigateway put-integration-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200 --selection-pattern "" --response-templates '{"application/json": "{\"json\": \"template\"}"}'

So erstellen Sie eine Integrationsantwort mit einer Regex von 400 und einem statisch definierten Header-Wert

Befehl:

aws apigateway put-integration-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 400 --selection-pattern 400 --response-parameters '{"method.response.header.custom-header": "'"'"'custom-value'"'"'"}'

Das folgende Codebeispiel zeigt die Verwendungput-integration.

AWS CLI

So erstellen Sie eine Mock-Integrationsanforderung

Befehl:

aws apigateway put-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --type MOCK --request-templates '{ "application/json": "{\"statusCode\": 200}" }'

So erstellen Sie eine HTTP-Integrationsanforderung

Befehl:

aws apigateway put-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --type HTTP --integration-http-method GET --uri 'https://domain.tld/path'

So erstellen Sie eine AWS Integrationsanforderung mit einem Lambda-Funktionsendpunkt

Befehl:

aws apigateway put-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --type AWS --integration-http-method POST --uri 'arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:function_name/invocations'

Das folgende Codebeispiel zeigt die Verwendungput-method-response.

AWS CLI

So erstellen Sie eine Methodenantwort unter dem angegebenen Statuscode mit einem benutzerdefinierten Methodenantwortheader

Befehl:

aws apigateway put-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 400 --response-parameters "method.response.header.custom-header=false"

Das folgende Codebeispiel zeigt die Verwendungput-method.

AWS CLI

So erstellen Sie eine Methode für eine Ressource in einer API ohne Autorisierung, ohne API-Schlüssel und mit einem benutzerdefinierten Methodenanforderungsheader

Befehl:

aws apigateway put-method --rest-api-id 1234123412 --resource-id a1b2c3 --http-method PUT --authorization-type "NONE" --no-api-key-required --request-parameters "method.request.header.custom-header=false"
  • API-Details finden Sie PutMethod in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. put-rest-api

AWS CLI

So überschreiben Sie eine bestehende API mit einer Swagger-Vorlage

Befehl:

aws apigateway put-rest-api --rest-api-id 1234123412 --mode overwrite --body 'fileb:///path/to/API_Swagger_template.json'

So führen Sie eine Swagger-Vorlage mit einer bestehenden API zusammen

Befehl:

aws apigateway put-rest-api --rest-api-id 1234123412 --mode merge --body 'fileb:///path/to/API_Swagger_template.json'
  • API-Details finden Sie PutRestApi in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. reject-domain-name-access-association

AWS CLI

So weisen Sie eine Domainnamenzugriffszuweisung ab

Im folgenden Beispiel für reject-domain-name-access-association wird eine Domainnamenzugriffszuweisung zwischen einem privaten benutzerdefinierten Domainnamen und einem VPC-Endpunkt abgewiesen.

aws apigateway reject-domain-name-access-association \ --domain-name-access-association-arn arn:aws:apigateway:us-west-2:012345678910:/domainnameaccessassociations/domainname/my.private.domain.tld/vpcesource/vpce-abcd1234efg \ --domain-name-arn arn:aws:apigateway:us-east-1:012345678910:/domainnames/my.private.domain.tld+abcd1234

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Benutzerdefinierte Domainnamen für private APIs in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendung. test-invoke-authorizer

AWS CLI

So testen Sie das Aufrufen einer Anforderung an einen benutzerdefinierten Genehmiger, die den erforderlichen Header und Wert enthält

Befehl:

aws apigateway test-invoke-authorizer --rest-api-id 1234123412 --authorizer-id 5yid1t --headers Authorization='Value'

Das folgende Codebeispiel zeigt die Verwendung. test-invoke-method

AWS CLI

So testen Sie das Aufrufen der Root-Ressource in einer API, indem Sie eine GET-Anforderung stellen

Befehl:

aws apigateway test-invoke-method --rest-api-id 1234123412 --resource-id avl5sg8fw8 --http-method GET --path-with-query-string '/'

So testen Sie das Aufrufen einer Subressource in einer API, indem Sie eine GET-Anforderung mit einem angegebenen Pfadparameterwert stellen

Befehl:

aws apigateway test-invoke-method --rest-api-id 1234123412 --resource-id 3gapai --http-method GET --path-with-query-string '/pets/1'

Das folgende Codebeispiel zeigt die Verwendung. update-account

AWS CLI

So ändern Sie den IAM-Rollen-ARN für die Protokollierung in Logs CloudWatch

Befehl:

aws apigateway update-account --patch-operations op='replace',path='/cloudwatchRoleArn',value='arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogs'

Ausgabe:

{ "cloudwatchRoleArn": "arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogs", "throttleSettings": { "rateLimit": 1000.0, "burstLimit": 2000 } }

Das folgende Codebeispiel zeigt die Verwendung. update-api-key

AWS CLI

So ändern Sie den Namen für einen API-Schlüssel

Befehl:

aws apigateway update-api-key --api-key sNvjQDMReA1eEQPNAW8r37XsU2rDD7fc7m2SiMnu --patch-operations op='replace',path='/name',value='newName'

Ausgabe:

{ "description": "currentDescription", "enabled": true, "stageKeys": [ "41t2j324r5/dev" ], "lastUpdatedDate": 1470086052, "createdDate": 1445460347, "id": "sNvjQDMReA1vEQPNzW8r3dXsU2rrD7fcjm2SiMnu", "name": "newName" }

So deaktivieren Sie den API-Schlüssel

Befehl:

aws apigateway update-api-key --api-key sNvjQDMReA1eEQPNAW8r37XsU2rDD7fc7m2SiMnu --patch-operations op='replace',path='/enabled',value='false'

Ausgabe:

{ "description": "currentDescription", "enabled": false, "stageKeys": [ "41t2j324r5/dev" ], "lastUpdatedDate": 1470086052, "createdDate": 1445460347, "id": "sNvjQDMReA1vEQPNzW8r3dXsU2rrD7fcjm2SiMnu", "name": "newName" }

Das folgende Codebeispiel zeigt die Verwendung. update-authorizer

AWS CLI

So ändern Sie den Namen des benutzerdefinierten Genehmigers

Befehl:

aws apigateway update-authorizer --rest-api-id 1234123412 --authorizer-id gfi4n3 --patch-operations op='replace',path='/name',value='testAuthorizer'

Ausgabe:

{ "authType": "custom", "name": "testAuthorizer", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:customAuthorizer/invocations", "authorizerResultTtlInSeconds": 300, "identitySource": "method.request.header.Authorization", "type": "TOKEN", "id": "gfi4n3" }

So ändern Sie die Lambda-Funktion, die vom benutzerdefinierten Genehmiger aufgerufen wird

Befehl:

aws apigateway update-authorizer --rest-api-id 1234123412 --authorizer-id gfi4n3 --patch-operations op='replace',path='/authorizerUri',value='arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:newAuthorizer/invocations'

Ausgabe:

{ "authType": "custom", "name": "testAuthorizer", "authorizerUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:newAuthorizer/invocations", "authorizerResultTtlInSeconds": 300, "identitySource": "method.request.header.Authorization", "type": "TOKEN", "id": "gfi4n3" }

Das folgende Codebeispiel zeigt die Verwendung. update-base-path-mapping

AWS CLI

So ändern Sie den Basispfad für einen benutzerdefinierten Domainnamen

Befehl:

aws apigateway update-base-path-mapping --domain-name api.domain.tld --base-path prod --patch-operations op='replace',path='/basePath',value='v1'

Ausgabe:

{ "basePath": "v1", "restApiId": "1234123412", "stage": "api" }

Das folgende Codebeispiel zeigt die Verwendung. update-client-certificate

AWS CLI

So aktualisieren Sie die Beschreibung eines Clientzertifikats

Befehl:

aws apigateway update-client-certificate --client-certificate-id a1b2c3 --patch-operations op='replace',path='/description',value='My new description'

Das folgende Codebeispiel zeigt die Verwendung. update-deployment

AWS CLI

So ändern Sie die Beschreibung einer Bereitstellung

Befehl:

aws apigateway update-deployment --rest-api-id 1234123412 --deployment-id ztt4m2 --patch-operations op='replace',path='/description',value='newDescription'

Ausgabe:

{ "description": "newDescription", "id": "ztt4m2", "createdDate": 1455218022 }

Das folgende Codebeispiel zeigt die Verwendung. update-domain-name

AWS CLI

So ändern Sie den Zertifikatnamen für einen benutzerdefinierten Domainnamen

Im folgenden Beispiel für update-domain-name wird der Zertifikatname für einen benutzerdefinierten Domainnamen geändert.

aws apigateway update-domain-name \ --domain-name api.domain.tld \ --patch-operations op='replace',path='/certificateArn',value='arn:aws:acm:us-west-2:111122223333:certificate/CERTEXAMPLE123EXAMPLE'

Ausgabe:

{ "domainName": "api.domain.tld", "distributionDomainName": "d123456789012.cloudfront.net", "certificateArn": "arn:aws:acm:us-west-2:111122223333:certificate/CERTEXAMPLE123EXAMPLE", "certificateUploadDate": 1462565487 }

Weitere Informationen finden Sie unter Einrichten eines benutzerdefinierten Domainnamens für eine API in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendung. update-integration-response

AWS CLI

So ändern Sie den Header einer Integrationsantwort so, dass er eine statische Zuordnung von '*' hat '*'

Befehl:

aws apigateway update-integration-response --rest-api-id 1234123412 --resource-id 3gapai --http-method GET --status-code 200 --patch-operations op='replace',path='/responseParameters/method.response.header.Access-Control-Allow-Origin',value='"'"'*'"'"'

Ausgabe:

{ "statusCode": "200", "responseParameters": { "method.response.header.Access-Control-Allow-Origin": "'*'" } }

So entfernen Sie den Header einer Integrationsantwort

Befehl:

aws apigateway update-integration-response --rest-api-id 1234123412 --resource-id 3gapai --http-method GET --status-code 200 --patch-operations op='remove',path='/responseParameters/method.response.header.Access-Control-Allow-Origin'

Das folgende Codebeispiel zeigt die Verwendung. update-integration

AWS CLI

So fügen Sie die 'Content-Type: application/json' Zuordnungsvorlage hinzu, die mit Eingabe-Passthrough konfiguriert wurde

Befehl:

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='add',path='/requestTemplates/application~1json'"

Um die 'Content-Type: application/json' Zuordnungsvorlage zu aktualisieren (zu ersetzen), die mit einer benutzerdefinierten Vorlage konfiguriert wurde

Befehl:

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='replace',path='/requestTemplates/application~1json',value='{"example": "json"}'"

Um eine benutzerdefinierte Vorlage, die mit 'Content-Type: application/json' verknüpft ist, mit Input Passthrough zu aktualisieren (zu ersetzen)

Befehl:

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='replace',path='requestTemplates/application~1json'"

Um die Zuordnungsvorlage 'Content-Type: application/json' zu entfernen

Befehl:

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='remove',path='/requestTemplates/application~1json'"

Das folgende Codebeispiel zeigt die Verwendung. update-method-response

AWS CLI

So erstellen Sie einen neuen Header für eine Methodenantwort für die 200-Antwort in einer Methode und definieren ihn als nicht erforderlich (Standard)

Befehl:

aws apigateway update-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200 --patch-operations op="add",path="/responseParameters/method.response.header.custom-header",value="false"

So löschen Sie ein Antwortmodell für die 200-Antwort in einer Methode

Befehl:

aws apigateway update-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200 --patch-operations op="remove",path="/responseModels/application~1json"

Das folgende Codebeispiel zeigt die Verwendung. update-method

AWS CLI

Beispiel 1: So ändern Sie Methode so, dass ein API-Schlüssel erforderlich ist

Im folgenden Beispiel für update-method wird die Methode so geändert, dass ein API-Schlüssel erforderlich ist.

aws apigateway update-method \ --rest-api-id 1234123412 \ --resource-id a1b2c3 \ --http-method GET \ --patch-operations op="replace",path="/apiKeyRequired",value="true"

Ausgabe:

{ "httpMethod": "GET", "authorizationType": "NONE", "apiKeyRequired": true, "methodResponses": { "200": { "statusCode": "200", "responseModels": {} } }, "methodIntegration": { "type": "AWS", "httpMethod": "POST", "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789111:function:hello-world/invocations", "passthroughBehavior": "WHEN_NO_MATCH", "contentHandling": "CONVERT_TO_TEXT", "timeoutInMillis": 29000, "cacheNamespace": "h7i8j9", "cacheKeyParameters": [], "integrationResponses": { "200": { "statusCode": "200", "responseTemplates": {} } } } }

Beispiel 2: So ändern Sie eine Methode so, dass eine IAM-Autorisierung erforderlich ist

Im folgenden Beispiel für update-method wird die Methode so geändert, dass eine IAM-Autorisierung erforderlich ist.

aws apigateway update-method \ --rest-api-id 1234123412 \ --resource-id a1b2c3 \ --http-method GET \ --patch-operations op="replace",path="/authorizationType",value="AWS_IAM"

Ausgabe:

{ "httpMethod": "GET", "authorizationType": "AWS_IAM", "apiKeyRequired": false, "methodResponses": { "200": { "statusCode": "200", "responseModels": {} } }, "methodIntegration": { "type": "AWS", "httpMethod": "POST", "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789111:function:hello-world/invocations", "passthroughBehavior": "WHEN_NO_MATCH", "contentHandling": "CONVERT_TO_TEXT", "timeoutInMillis": 29000, "cacheNamespace": "h7i8j9", "cacheKeyParameters": [], "integrationResponses": { "200": { "statusCode": "200", "responseTemplates": {} } } } }

Beispiel 3: So ändern Sie eine Methode so, dass eine Lambda-Autorisierung erforderlich ist

Im folgenden Beispiel für update-method wird die Methode so geändert, dass eine Lambda-Autorisierung erforderlich ist.

aws apigateway update-method --rest-api-id 1234123412 \ --resource-id a1b2c3 \ --http-method GET \ --patch-operations op="replace",path="/authorizationType",value="CUSTOM" op="replace",path="/authorizerId",value="e4f5g6"

Ausgabe:

{ "httpMethod": "GET", "authorizationType": "CUSTOM", "authorizerId" : "e4f5g6", "apiKeyRequired": false, "methodResponses": { "200": { "statusCode": "200", "responseModels": {} } }, "methodIntegration": { "type": "AWS", "httpMethod": "POST", "uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789111:function:hello-world/invocations", "passthroughBehavior": "WHEN_NO_MATCH", "contentHandling": "CONVERT_TO_TEXT", "timeoutInMillis": 29000, "cacheNamespace": "h7i8j9", "cacheKeyParameters": [], "integrationResponses": { "200": { "statusCode": "200", "responseTemplates": {} } } } }

Weitere Informationen finden Sie unter Erstellen, Konfigurieren und Testen von Nutzungsplänen mit der API Gateway CLI und der REST-API und unter Steuern und Verwalten des Zugriffs auf eine REST-API in API Gateway im Entwicklerhandbuch für Amazon API Gateway.

Das folgende Codebeispiel zeigt die Verwendung. update-model

AWS CLI

So ändern Sie die Beschreibung eines Modells in einer API

Befehl:

aws apigateway update-model --rest-api-id 1234123412 --model-name 'Empty' --patch-operations op=replace,path=/description,value='New Description'

So ändern Sie das Schema eines Modells in einer API

Befehl:

aws apigateway update-model --rest-api-id 1234123412 --model-name 'Empty' --patch-operations op=replace,path=/schema,value='"{ \"$schema\": \"http://json-schema.org/draft-04/schema#\", \"title\" : \"Empty Schema\", \"type\" : \"object\" }"'
  • API-Details finden Sie UpdateModel in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. update-resource

AWS CLI

So verschieben Sie eine Ressource und platzieren sie unter eine andere übergeordnete Ressource in einer API

Befehl:

aws apigateway update-resource --rest-api-id 1234123412 --resource-id 1a2b3c --patch-operations op=replace,path=/parentId,value='3c2b1a'

Ausgabe:

{ "path": "/resource", "pathPart": "resource", "id": "1a2b3c", "parentId": "3c2b1a" }

So benennen Sie eine Ressource (pathPart) in einer API um

Befehl:

aws apigateway update-resource --rest-api-id 1234123412 --resource-id 1a2b3c --patch-operations op=replace,path=/pathPart,value=newresourcename

Ausgabe:

{ "path": "/newresourcename", "pathPart": "newresourcename", "id": "1a2b3c", "parentId": "3c2b1a" }

Das folgende Codebeispiel zeigt die Verwendung. update-rest-api

AWS CLI

So ändern Sie den Namen einer API

Befehl:

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/name,value='New Name'

So ändern Sie die Beschreibung einer API

Befehl:

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/description,value='New Description'

Das folgende Codebeispiel zeigt die Verwendung. update-stage

AWS CLI

Beispiel 1: So überschreiben Sie die Stufeneinstellungen für eine Ressource und Methode

Das folgende update-stage Beispiel überschreibt die Staging-Einstellungen und deaktiviert die vollständige request/response Protokollierung für eine bestimmte Ressource und Methode.

aws apigateway update-stage \ --rest-api-id 1234123412 \ --stage-name 'dev' \ --patch-operations op=replace,path=/~1resourceName/GET/logging/dataTrace,value=false

Ausgabe:

{ "deploymentId": "5ubd17", "stageName": "dev", "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "methodSettings": { "~1resourceName/GET": { "metricsEnabled": false, "dataTraceEnabled": false, "throttlingBurstLimit": 5000, "throttlingRateLimit": 10000.0, "cachingEnabled": false, "cacheTtlInSeconds": 300, "cacheDataEncrypted": false, "requireAuthorizationForCacheControl": true, "unauthorizedCacheControlHeaderStrategy": "SUCCEED_WITH_RESPONSE_HEADER" } }, "tracingEnabled": false, "createdDate": "2022-07-18T10:11:18-07:00", "lastUpdatedDate": "2022-07-18T10:19:04-07:00" }

Weitere Informationen finden Sie unter Einrichten einer Stufe für eine REST-API im Entwicklerhandbuch für Amazon API Gateway.

Beispiel 2: So aktualisieren Sie die Stufeneinstellungen für alle Ressourcen und Methoden einer API-Stufe

Im folgenden update-stage Beispiel wird die vollständige request/response Protokollierung für alle Ressourcen und Methoden einer API-Stufe aktiviert.

aws apigateway update-stage \ --rest-api-id 1234123412 \ --stage-name 'dev' \ --patch-operations 'op=replace,path=/*/*/logging/dataTrace,value=true'

Ausgabe:

{ "deploymentId": "5ubd17", "stageName": "dev", "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "methodSettings": { "*/*": { "metricsEnabled": false, "dataTraceEnabled": true, "throttlingBurstLimit": 5000, "throttlingRateLimit": 10000.0, "cachingEnabled": false, "cacheTtlInSeconds": 300, "cacheDataEncrypted": false, "requireAuthorizationForCacheControl": true, "unauthorizedCacheControlHeaderStrategy": "SUCCEED_WITH_RESPONSE_HEADER" } }, "tracingEnabled": false, "createdDate": "2022-07-18T10:11:18-07:00", "lastUpdatedDate": "2022-07-18T10:31:04-07:00" }

Weitere Informationen finden Sie unter Einrichten einer Stufe für eine REST-API im Entwicklerhandbuch für Amazon API Gateway.

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

Das folgende Codebeispiel zeigt die Verwendung. update-usage-plan

AWS CLI

So ändern Sie den in einem Nutzungsplan definierten Zeitraum

Befehl:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/quota/period",value="MONTH"

So ändern Sie das in einem Nutzungsplan definierte Kontingentlimit

Befehl:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/quota/limit",value="500"

So ändern Sie das in einem Nutzungsplan definierte Drosselungsratenlimit

Befehl:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/throttle/rateLimit",value="10"

So ändern Sie das in einem Nutzungsplan definierte Drosselungs-Burst-Limit

Befehl:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/throttle/burstLimit",value="20"

Das folgende Codebeispiel zeigt die Verwendung. update-usage

AWS CLI

So ändern Sie vorübergehend das Kontingent für einen API-Schlüssel für den aktuellen, im Nutzungsplan definierten Zeitraum

Befehl:

aws apigateway update-usage --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu --patch-operations op="replace",path="/remaining",value="50"
  • API-Details finden Sie UpdateUsage in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. update-vpc-link

AWS CLI

Beispiel 1: Um einen vorhandenen VPC-Linknamen zu aktualisieren

Im folgenden update-vpc-link Beispiel wird der Name des angegebenen VPC-Links aktualisiert.

aws apigateway update-vpc-link \ --vpc-link-id ab3de6 \ --patch-operations op=replace,path=/name,value=my-vpc-link

Ausgabe:

{ "id": "ab3de6", "name": "my-vpc-link", "targetArns": [ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-lb/12a456s89aaa12345" ], "status": "AVAILABLE", "statusMessage": "Your vpc link is ready for use", "tags": {} }

Weitere Informationen finden Sie unter Aktualisieren eines vorhandenen VPC-Links in der AWS CLI-Befehlsreferenz.

Beispiel 2: So aktualisieren Sie den Namen und die Beschreibung eines vorhandenen VPC-Links

Im folgenden update-vpc-link Beispiel wird der Name des angegebenen VPC-Links aktualisiert.

aws apigateway update-vpc-link \ --vpc-link-id ab3de6 \ --patch-operations op=replace,path=/name,value=my-vpc-link op=replace,path=/description,value="My custom description"

Ausgabe:

{ "id": "ab3de6", "name": "my-vpc-link", "description": "My custom description", "targetArns": [ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-lb/12a456s89aaa12345" ], "status": "AVAILABLE", "statusMessage": "Your vpc link is ready for use", "tags": {} }

Weitere Informationen finden Sie unter Aktualisieren eines vorhandenen VPC-Links in der AWS CLI-Befehlsreferenz.