APIGateway-Beispiele mit AWS CLI - AWS SDKCode-Beispiele

Weitere AWS SDK Beispiele sind im Repo AWS Doc SDK Examples GitHub 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.

APIGateway-Beispiele mit AWS CLI

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

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen im Kontext der zugehörigen Szenarien sehen.

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

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungcreate-api-key.

AWS CLI

Um einen API Schlüssel zu erstellen, der für eine bestehende API und eine Stage aktiviert ist

Befehl:

aws apigateway create-api-key --name 'Dev API Key' --description 'Used for development' --enabled --stage-keys restApiId='a1b2c3d4e5',stageName='dev'
  • APIEinzelheiten finden Sie CreateApiKeyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-authorizer.

AWS CLI

Beispiel 1: So erstellen Sie einen tokenbasierten API Gateway Custom Authorizer für API

Im folgenden create-authorizer Beispiel wird ein tokenbasierter Authorizer 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 User Pools basierenden API Gateway Custom Authorizer für den API

Im folgenden create-authorizer Beispiel wird ein auf Cognito User Pools basierender API Gateway Custom Authorizer 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 API Gateway Custom Authorizer für API

Im folgenden create-authorizer Beispiel wird ein anforderungsbasierter Authorizer 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 Verwendungcreate-base-path-mapping.

AWS CLI

Um die Basispfadzuordnung für einen benutzerdefinierten Domainnamen zu erstellen

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

Um die konfigurierten Ressourcen für API eine neue Phase bereitzustellen

Befehl:

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

Um die konfigurierten Ressourcen für API eine bestehende Phase bereitzustellen

Befehl:

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

Um die konfigurierten Ressourcen für eine API bestehende Phase mit Stufenvariablen bereitzustellen

aws apigateway create-deployment -- rest-api-id 1234123412 --stage-name dev --description 'Drittes Deployment in der Entwicklungsphase' --variables key='value', =' 'otherKeyotherValue

Das folgende Codebeispiel zeigt die Verwendungcreate-domain-name.

AWS CLI

Um den benutzerdefinierten Domainnamen zu erstellen

Befehl:

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'

Das folgende Codebeispiel zeigt die Verwendungcreate-model.

AWS CLI

Um ein Modell für ein zu erstellen 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\" } } } } }" }
  • APIEinzelheiten finden Sie CreateModelin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-resource.

AWS CLI

Um eine Ressource in einem zu erstellen API

Befehl:

aws apigateway create-resource --rest-api-id 1234123412 --parent-id a1b2c3 --path-part 'new-resource'
  • APIEinzelheiten finden Sie CreateResourcein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-rest-api.

AWS CLI

Um ein zu erstellen API

Befehl:

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

Um ein Duplikat API aus einem vorhandenen zu erstellen 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
  • APIEinzelheiten finden Sie CreateRestApiin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-stage.

AWS CLI

Um eine Phase in einer Phase zu erstellenAPI, die eine bestehende Bereitstellung enthalten wird

Befehl:

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

Um eine Phase in einer Phase zu erstellenAPI, 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'
  • APIEinzelheiten finden Sie CreateStagein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-usage-plan-key.

AWS CLI

Ordnen Sie einen vorhandenen API Schlüssel einem Nutzungsplan zu

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungcreate-usage-plan.

AWS CLI

Um einen Nutzungsplan mit Drosselungs- und Kontingentlimits zu erstellen, 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
  • APIEinzelheiten finden Sie CreateUsagePlanin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-api-key.

AWS CLI

Um einen API Schlüssel zu löschen

Befehl:

aws apigateway delete-api-key --api-key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk
  • APIEinzelheiten finden Sie DeleteApiKeyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-authorizer.

AWS CLI

Um einen Custom Authorizer in einem zu löschen API

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdelete-base-path-mapping.

AWS CLI

Um eine Basispfadzuordnung für einen benutzerdefinierten Domainnamen zu löschen

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdelete-client-certificate.

AWS CLI

Um ein Client-Zertifikat zu löschen

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdelete-deployment.

AWS CLI

Um eine Bereitstellung in einem zu löschen API

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdelete-domain-name.

AWS CLI

Um einen benutzerdefinierten Domainnamen zu löschen

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdelete-integration-response.

AWS CLI

Um eine Integrationsantwort für eine bestimmte Ressource, Methode und einen Statuscode in einem zu löschen 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 Verwendungdelete-integration.

AWS CLI

Um eine Integration für eine bestimmte Ressource und Methode in einem zu löschen API

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdelete-method-response.

AWS CLI

Um eine Methodenantwort für die angegebene Ressource, Methode und den Statuscode in einem 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 Verwendungdelete-method.

AWS CLI

Um eine Methode für die angegebene Ressource in einem zu löschen API

Befehl:

aws apigateway delete-method --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET
  • APIEinzelheiten finden Sie DeleteMethodin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-model.

AWS CLI

Um ein Modell in der angegebenen Datei zu löschen API

Befehl:

aws apigateway delete-model --rest-api-id 1234123412 --model-name 'customModel'
  • APIEinzelheiten finden Sie DeleteModelin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-resource.

AWS CLI

Um eine Ressource in einem zu löschen API

Befehl:

aws apigateway delete-resource --rest-api-id 1234123412 --resource-id a1b2c3
  • APIEinzelheiten finden Sie DeleteResourcein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-rest-api.

AWS CLI

Um ein zu löschen API

Befehl:

aws apigateway delete-rest-api --rest-api-id 1234123412
  • APIEinzelheiten finden Sie DeleteRestApiin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-stage.

AWS CLI

Um eine Phase in einem zu löschen API

Befehl:

aws apigateway delete-stage --rest-api-id 1234123412 --stage-name 'dev'
  • APIEinzelheiten finden Sie DeleteStagein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-usage-plan-key.

AWS CLI

Um einen API Schlüssel aus einem Nutzungsplan zu entfernen

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdelete-usage-plan.

AWS CLI

Um einen Nutzungsplan zu löschen

Befehl:

aws apigateway delete-usage-plan --usage-plan-id a1b2c3
  • APIEinzelheiten finden Sie DeleteUsagePlanin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungflush-stage-authorizers-cache.

AWS CLI

Um alle Autorisierungs-Cache-Einträge auf einer Bühne zu leeren

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungflush-stage-cache.

AWS CLI

Um den Cache für eine Phase zu leeren API

Befehl:

aws apigateway flush-stage-cache --rest-api-id 1234123412 --stage-name dev
  • APIEinzelheiten finden Sie FlushStageCachein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunggenerate-client-certificate.

AWS CLI

Um ein clientseitiges Zertifikat SSL zu erstellen

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungget-account.

AWS CLI

Um die API Gateway-Kontoeinstellungen abzurufen

Befehl:

aws apigateway get-account

Ausgabe:

{ "cloudwatchRoleArn": "arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogsRole", "throttleSettings": { "rateLimit": 500.0, "burstLimit": 1000 } }
  • APIEinzelheiten finden Sie GetAccountin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-api-key.

AWS CLI

Um die Informationen zu einem bestimmten API Schlüssel zu erhalten

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" }
  • APIEinzelheiten finden Sie GetApiKeyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-api-keys.

AWS CLI

Um die Liste der API Schlüssel abzurufen

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" } ] }
  • APIEinzelheiten finden Sie GetApiKeysin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-authorizer.

AWS CLI

Um die API API Gateway-Per-Authorizer-Einstellungen abzurufen

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" }
  • APIEinzelheiten finden Sie GetAuthorizerin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-authorizers.

AWS CLI

Um die Liste der Autorisierer für ein abzurufen REST API

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" } ] }
  • APIEinzelheiten finden Sie GetAuthorizersin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-base-path-mapping.

AWS CLI

Um die Basispfadzuordnung für einen benutzerdefinierten Domainnamen abzurufen

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 Verwendungget-base-path-mappings.

AWS CLI

Um die Basispfadzuordnungen für einen benutzerdefinierten Domainnamen abzurufen

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 Verwendungget-client-certificate.

AWS CLI

Um ein Client-Zertifikat zu erhalten

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungget-client-certificates.

AWS CLI

Um eine Liste von Client-Zertifikaten abzurufen

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

Um Informationen über eine Bereitstellung zu erhalten

Befehl:

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

Ausgabe:

{ "description": "myDeployment", "id": "ztt4m2", "createdDate": 1455218022 }
  • APIEinzelheiten finden Sie GetDeploymentin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-deployments.

AWS CLI

Um eine Liste der Bereitstellungen für ein abzurufen REST API

Befehl:

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

Ausgabe:

{ "items": [ { "createdDate": 1453797217, "id": "0a2b4c", "description": "Deployed my API for the first time" } ] }
  • APIEinzelheiten finden Sie GetDeploymentsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-domain-name.

AWS CLI

Um Informationen zu einem benutzerdefinierten Domainnamen zu erhalten

Befehl:

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

Ausgabe:

{ "domainName": "api.domain.tld", "distributionDomainName": "d1a2f3a4c5o6d.cloudfront.net", "certificateName": "uploadedCertificate", "certificateUploadDate": 1462565487 }
  • APIEinzelheiten finden Sie GetDomainNameunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-domain-names.

AWS CLI

Um eine Liste mit benutzerdefinierten Domainnamen zu erhalten

Befehl:

aws apigateway get-domain-names

Ausgabe:

{ "items": [ { "distributionDomainName": "d9511k3l09bkd.cloudfront.net", "certificateUploadDate": 1452812505, "certificateName": "my_custom_domain-certificate", "domainName": "subdomain.domain.tld" } ] }
  • APIEinzelheiten finden Sie GetDomainNamesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-export.

AWS CLI

Um die JSON Swagger-Vorlage für eine Phase abzurufen

Befehl:

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

Um die JSON Swagger-Vorlage + API Gateway-Erweiterungen für eine Phase zu erhalten

Befehl:

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

Um die JSON Swagger-Vorlage + Postman-Erweiterungen für eine Phase zu erhalten

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungget-integration-response.

AWS CLI

Um die Konfiguration der Integrationsantwort für eine HTTP Methode abzurufen, die unter REST API der Ressource a 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

Um die Integrationskonfiguration für eine HTTP Methode abzurufen, die unter REST API der Ressource a 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" }
  • APIEinzelheiten finden Sie GetIntegrationin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-method-response.

AWS CLI

Um die Ressourcenkonfiguration der Methodenantwort für eine HTTP Methode abzurufen, die unter REST API der Ressource a 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

Um die Methodenressourcenkonfiguration für eine HTTP Methode abzurufen, die unter REST API der Ressource a 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" }
  • APIEinzelheiten finden Sie GetMethodin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-model-template.

AWS CLI

Um die Zuordnungsvorlage für ein Modell abzurufen, das unter a definiert ist REST API

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

Um die Konfiguration für ein Modell abzurufen, das unter a definiert ist REST API

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}" }
  • APIEinzelheiten finden Sie GetModelin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-models.

AWS CLI

Um eine Liste von Modellen für ein zu erhalten REST API

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" } ] }
  • APIEinzelheiten finden Sie GetModelsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-resource.

AWS CLI

Um Informationen über eine Ressource zu erhalten

Befehl:

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

Ausgabe:

{ "path": "/path", "pathPart": "path", "id": "zwo0y3", "parentId": "uyokt6ij2g" }
  • APIEinzelheiten finden Sie GetResourceunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-resources.

AWS CLI

Um eine Liste von Ressourcen für ein zu erhalten REST API

Befehl:

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

Ausgabe:

{ "items": [ { "path": "/resource/subresource", "resourceMethods": { "POST": {} }, "id": "024ace", "pathPart": "subresource", "parentId": "ai5b02" } ] }
  • APIEinzelheiten finden Sie GetResourcesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-rest-api.

AWS CLI

Um Informationen zu erhalten über API

Befehl:

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

Ausgabe:

{ "name": "myAPI", "id": "o1y243m4f5", "createdDate": 1453416433 }
  • APIEinzelheiten finden Sie GetRestApiin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-rest-apis.

AWS CLI

Um eine Liste von zu erhalten REST APIs

Befehl:

aws apigateway get-rest-apis

Ausgabe:

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

Das folgende Codebeispiel zeigt die Verwendungget-sdk.

AWS CLI

Um das Android SDK für eine REST API Phase zu bekommen

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\"" }

Um das IOS SDK für eine REST API Bühne zu bekommen

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\"" }

Um das Javascript SDK für eine REST API Stufe zu bekommen

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\"" }
  • APIEinzelheiten finden Sie GetSdkin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-stage.

AWS CLI

Um Informationen über die Phase eines API Mannes zu erhalten

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 } } }
  • APIEinzelheiten finden Sie GetStagein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-stages.

AWS CLI

Um die Liste der Stufen für ein zu erhalten REST API

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 } } } ] }
  • APIEinzelheiten finden Sie GetStagesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-usage-plan-key.

AWS CLI

Um die Details eines API Schlüssels abzurufen, der einem Nutzungsplan zugeordnet ist

Befehl:

aws apigateway get-usage-plan-key --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu
  • APIEinzelheiten finden Sie GetUsagePlanKeyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-usage-plan-keys.

AWS CLI

Um die Liste der API Schlüssel abzurufen, die einem Nutzungsplan zugeordnet sind

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungget-usage-plan.

AWS CLI

Um die Details eines Nutzungsplans abzurufen

Befehl:

aws apigateway get-usage-plan --usage-plan-id a1b2c3
  • APIEinzelheiten finden Sie GetUsagePlanin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-usage-plans.

AWS CLI

Um die Details aller Nutzungspläne abzurufen

Befehl:

aws apigateway get-usage-plans
  • APIEinzelheiten finden Sie GetUsagePlansin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-usage.

AWS CLI

Um die Nutzungsdetails für einen Nutzungsplan abzurufen

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungimport-rest-api.

AWS CLI

Um eine Swagger-Vorlage zu importieren und eine zu erstellen API

Befehl:

aws apigateway import-rest-api --body 'file:///path/to/API_Swagger_template.json'
  • APIEinzelheiten finden Sie ImportRestApiin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungput-integration-response.

AWS CLI

Um eine Integrationsantwort als Standardantwort mit einer definierten Zuordnungsvorlage zu erstellen

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\"}"}'

Um eine Integrationsantwort mit einer Regex von 400 und einem statisch definierten Header-Wert zu erstellen

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

Um eine MOCK Integrationsanfrage zu erstellen

Befehl:

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

Um eine HTTP Integrationsanfrage zu erstellen

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 Integrationsanfrage 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'
  • APIEinzelheiten finden Sie PutIntegrationin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungput-method-response.

AWS CLI

Um eine Methodenantwort unter dem angegebenen Statuscode mit einem benutzerdefinierten Methodenantwort-Header zu erstellen

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

Um eine Methode für eine Ressource in API einem Anforderungsheader ohne Autorisierung, ohne API Schlüssel und ohne benutzerdefinierte Methode zu erstellen

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"
  • APIEinzelheiten finden Sie PutMethodin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungput-rest-api.

AWS CLI

Um ein vorhandenes API mit einer Swagger-Vorlage zu überschreiben

Befehl:

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

Um eine Swagger-Vorlage mit einer vorhandenen zusammenzuführen API

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungtest-invoke-authorizer.

AWS CLI

Rufen Sie zum Testen eine Anfrage an einen Custom Authorizer auf, die den erforderlichen Header und den erforderlichen Wert enthält

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungtest-invoke-method.

AWS CLI

Rufen Sie zum Testen die Root-Ressource in einem auf, API indem Sie eine GET Anfrage stellen

Befehl:

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

Um zu testen, rufen Sie eine Subressource in einer auf, API indem Sie eine GET Anfrage 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 Verwendungupdate-account.

AWS CLI

Um die IAM Rolle ARN für die Protokollierung in CloudWatch Logs zu ändern

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 } }
  • APIEinzelheiten finden Sie UpdateAccountin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-api-key.

AWS CLI

Um den Namen eines API Schlüssels zu ändern

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" }

Um den API Schlüssel zu deaktivieren

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" }
  • APIEinzelheiten finden Sie UpdateApiKeyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-authorizer.

AWS CLI

Um den Namen des Custom Authorizers zu ändern

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" }

Um die Lambda-Funktion zu ändern, die vom Custom Authorizer 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 Verwendungupdate-base-path-mapping.

AWS CLI

Um den Basispfad für einen benutzerdefinierten Domainnamen zu ändern

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 Verwendungupdate-client-certificate.

AWS CLI

Um die Beschreibung eines Client-Zertifikats zu aktualisieren

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 Verwendungupdate-deployment.

AWS CLI

Um die Beschreibung einer Bereitstellung zu ändern

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 Verwendungupdate-domain-name.

AWS CLI

Um den Zertifikatsnamen für einen benutzerdefinierten Domainnamen zu ändern

Im folgenden update-domain-name Beispiel wird der Zertifikatsname für eine benutzerdefinierte Domäne 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 ein API API In-Gateway im Amazon API Gateway Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungupdate-integration-response.

AWS CLI

Um einen Antwort-Header einer Integration so zu ändern, 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": "'*'" } }

Um einen Integrationsantwort-Header zu entfernen

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 Verwendungupdate-integration.

AWS CLI

Um die Zuordnungsvorlage „Content-Type: application/json“ hinzuzufügen, die mit Input Passthrough konfiguriert ist

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 mit einer benutzerdefinierten Vorlage konfigurierte Zuordnungsvorlage „Content-Type: application/json“ 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',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 Verwendungupdate-method-response.

AWS CLI

Um einen neuen Methodenantwort-Header für die 200-Antwort in einer Methode zu erstellen und ihn als nicht erforderlich zu definieren (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"

Um ein Antwortmodell für die 200-Antwort in einer Methode zu löschen

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 Verwendungupdate-method.

AWS CLI

Beispiel 1: Um eine Methode so zu ändern, dass sie einen API Schlüssel erfordert

Im folgenden update-method Beispiel wird die Methode dahingehend 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: Um eine Methode so zu ändern, dass eine Autorisierung erforderlich ist IAM

Im folgenden update-method Beispiel wird die Methode dahingehend 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: Um eine Methode so zu ändern, dass eine Lambda-Autorisierung erforderlich ist

Im folgenden update-method Beispiel wird die Methode dahingehend 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 Nutzungspläne mit dem API Gateway erstellen, konfigurieren und testen CLI REST API und den Zugriff auf ein REST API integriertes API Gateway steuern und verwalten im Amazon API Gateway Developer Guide.

  • APIEinzelheiten finden Sie UpdateMethodin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-model.

AWS CLI

Um die Beschreibung eines Modells in einem zu ändern API

Befehl:

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

Um das Schema eines Modells in einem 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\" }"'
  • APIEinzelheiten finden Sie UpdateModelin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-resource.

AWS CLI

Um eine Ressource zu verschieben und sie unter einer anderen übergeordneten Ressource in einem 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" }

Um eine Ressource (pathPart) umzubenennen in einem API

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" }
  • APIEinzelheiten finden Sie UpdateResourcein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-rest-api.

AWS CLI

Um den Namen eines zu ändern API

Befehl:

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

Um die Beschreibung eines zu ändern API

Befehl:

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/description,value='New Description'
  • APIEinzelheiten finden Sie UpdateRestApiin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-stage.

AWS CLI

Beispiel 1: Um die Stufeneinstellungen für eine Ressource und Methode zu überschreiben

Das folgende update-stage Beispiel überschreibt die Stufeneinstellungen und deaktiviert die vollständige Protokollierung von Anforderungen/Antworten 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 Setting up a stage for a REST API im Amazon API Gateway Developer Guide.

Beispiel 2: Um die Stufeneinstellungen für alle Ressourcen und Methoden einer API Phase zu aktualisieren

Im folgenden update-stage Beispiel wird die vollständige Anforderungs-/Antwortprotokollierung für alle Ressourcen und Methoden einer API Phase 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 Setting up a stage for a REST API im Amazon API Gateway Developer Guide.

  • APIEinzelheiten finden Sie UpdateStageunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-usage-plan.

AWS CLI

Um den in einem Nutzungsplan definierten Zeitraum zu ändern

Befehl:

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

Um das in einem Nutzungsplan definierte Kontingentlimit zu ändern

Befehl:

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

Um das in einem Nutzungsplan definierte Drosselungslimit zu ändern

Befehl:

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

Um das in einem Nutzungsplan definierte Grenzwert für die Drosselung der Drosselung zu ändern

Befehl:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/throttle/burstLimit",value="20"
  • APIEinzelheiten finden Sie UpdateUsagePlanin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-usage.

AWS CLI

Um das Kontingent für einen API Schlüssel für den aktuellen Zeitraum, der im Nutzungsplan definiert ist, vorübergehend zu ändern

Befehl:

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