Esempi per Gateway API con AWS CLI - AWS Command Line Interface

Esempi per Gateway API con AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando l’AWS Command Line Interface con Gateway API.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare create-api-key.

AWS CLI

Come creare una chiave API abilitata per un’API e una fase esistenti

Comando:

aws apigateway create-api-key --name 'Dev API Key' --description 'Used for development' --enabled --stage-keys restApiId='a1b2c3d4e5',stageName='dev'
  • Per informazioni dettagliate sull’API, consulta CreateApiKey in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-authorizer.

AWS CLI

Esempio 1: creare un sistema di autorizzazione personalizzato di Gateway API basato su token per l’API

L’esempio create-authorizer seguente crea un sistema di autorizzazione basato su token.

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

Output:

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

Esempio 2: creare un sistema di autorizzazione personalizzato di Gateway API basato su pool di utenti Cognito per l’API

L’esempio create-authorizer seguente crea un sistema di autorizzazione personalizzato per Gateway API basato su pool di utenti Cognito.

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'

Output:

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

Esempio 3: creare un sistema di autorizzazione personalizzato di Gateway API basato su richiesta per l’API

L’esempio create-authorizer seguente crea un sistema di autorizzazione basato su richiesta.

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

Output:

{ "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 }
  • Per informazioni dettagliate sull’API, consulta CreateAuthorizer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-base-path-mapping.

AWS CLI

Come creare la mappatura del percorso di base per un nome di dominio personalizzato

Comando:

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

L’esempio di codice seguente mostra come utilizzare create-deployment.

AWS CLI

Come implementare le risorse configurate per un’API in una nuova fase

Comando:

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

Come implementare le risorse configurate per un’API in una fase esistente

Comando:

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

Come implementare le risorse configurate per un’API in una fase esistente con variabili di fase

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

  • Per informazioni dettagliate sull’API, consulta CreateDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-domain-name-access-association.

AWS CLI

Come creare un’associazione di accesso al nome di dominio

L’esempio create-domain-name-access-association seguente crea un’associazione di accesso al nome di dominio tra un nome di dominio privato personalizzato e l’endpoint VPC.

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

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per API private in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

L’esempio di codice seguente mostra come utilizzare create-domain-name.

AWS CLI

Esempio 1: creare un nome di dominio pubblico personalizzato

L’esempio create-domain-name seguente crea un nome di dominio pubblico personalizzato.

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'

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per REST API pubbliche in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Esempio 2: creare un nome di dominio privato personalizzato

L’esempio create-domain-name seguente crea un nome di dominio privato personalizzato.

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

Contenuto di 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" } } } ] }

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per REST API pubbliche in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta CreateDomainName in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-model.

AWS CLI

Come creare un modello per un’API

Comando:

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

Output:

{ "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\" } } } } }" }
  • Per informazioni dettagliate sull’API, consulta CreateModel in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-resource.

AWS CLI

Come creare una risorsa in un’API

Comando:

aws apigateway create-resource --rest-api-id 1234123412 --parent-id a1b2c3 --path-part 'new-resource'
  • Per informazioni dettagliate sull’API, consulta CreateResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-rest-api.

AWS CLI

Come creare un’API

Comando:

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

Come creare un’API duplicata da un’API esistente

Comando:

aws apigateway create-rest-api --name 'Copy of My First API' --description 'This is a copy of my first API' --clone-from 1234123412
  • Per informazioni dettagliate sull’API, consulta CreateRestApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-stage.

AWS CLI

Come creare una fase in un’API che conterrà un’implementazione esistente

Comando:

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

Come creare una fase in un’API che conterrà un’implementazione esistente e variabili di fase personalizzate

Comando:

aws apigateway create-stage --rest-api-id 1234123412 --stage-name 'dev' --description 'Development stage' --deployment-id a1b2c3 --variables key='value',otherKey='otherValue'
  • Per informazioni dettagliate sull’API, consulta CreateStage in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-usage-plan-key.

AWS CLI

Come associare una chiave API esistente a un piano di utilizzo

Comando:

aws apigateway create-usage-plan-key --usage-plan-id a1b2c3 --key-type "API_KEY" --key-id 4vq3yryqm5
  • Per informazioni dettagliate sull’API, consulta CreateUsagePlanKey in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-usage-plan.

AWS CLI

Come creare un piano di utilizzo con limiti di quota e di velocità di elaborazione delle richieste che viene reimpostato a inizio mese

Comando:

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
  • Per informazioni dettagliate sull’API, consulta CreateUsagePlan in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-api-key.

AWS CLI

Come eliminare una chiave API

Comando:

aws apigateway delete-api-key --api-key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk
  • Per informazioni dettagliate sull’API, consulta DeleteApiKey in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-authorizer.

AWS CLI

Come eliminare un sistema di autorizzazione personalizzato in un’API

Comando:

aws apigateway delete-authorizer --rest-api-id 1234123412 --authorizer-id 7gkfbo
  • Per informazioni dettagliate sull’API, consulta DeleteAuthorizer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-base-path-mapping.

AWS CLI

Come eliminare una mappatura del percorso di base per un nome di dominio personalizzato

Comando:

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

L’esempio di codice seguente mostra come utilizzare delete-client-certificate.

AWS CLI

Come eliminare un certificato client

Comando:

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

L’esempio di codice seguente mostra come utilizzare delete-deployment.

AWS CLI

Come eliminare un’implementazione in un’API

Comando:

aws apigateway delete-deployment --rest-api-id 1234123412 --deployment-id a1b2c3
  • Per informazioni dettagliate sull’API, consulta DeleteDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-domain-name-access-association.

AWS CLI

Come eliminare un’associazione di accesso al nome di dominio

L’esempio delete-domain-name-access-association seguente elimina un’associazione di accesso al nome di dominio tra un nome di dominio privato personalizzato e l’endpoint VPC.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per API private in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

L’esempio di codice seguente mostra come utilizzare delete-domain-name.

AWS CLI

Come eliminare un nome di dominio personalizzato

Comando:

aws apigateway delete-domain-name --domain-name 'api.domain.tld'
  • Per informazioni dettagliate sull’API, consulta DeleteDomainName in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-integration-response.

AWS CLI

Come eliminare una risposta di integrazione per una risorsa, un metodo e un codice di stato specificati in un’API

Comando:

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

L’esempio di codice seguente mostra come utilizzare delete-integration.

AWS CLI

Come eliminare un’integrazione per una risorsa e un metodo specificati in un’API

Comando:

aws apigateway delete-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET
  • Per informazioni dettagliate sull’API, consulta DeleteIntegration in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-method-response.

AWS CLI

Come eliminare una risposta del metodo per la risorsa, il metodo e il codice di stato specificati in un’API

Comando:

aws apigateway delete-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200
  • Per informazioni dettagliate sull’API, consulta DeleteMethodResponse in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-method.

AWS CLI

Come eliminare un metodo per la risorsa specificata in un’API

Comando:

aws apigateway delete-method --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET
  • Per informazioni dettagliate sull’API, consulta DeleteMethod in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-model.

AWS CLI

Come eliminare un modello nell’API specificata

Comando:

aws apigateway delete-model --rest-api-id 1234123412 --model-name 'customModel'
  • Per informazioni dettagliate sull’API, consulta DeleteModel in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-resource.

AWS CLI

Come eliminare una risorsa in un’API

Comando:

aws apigateway delete-resource --rest-api-id 1234123412 --resource-id a1b2c3
  • Per informazioni dettagliate sull’API, consulta DeleteResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-rest-api.

AWS CLI

Come eliminare un’API

Comando:

aws apigateway delete-rest-api --rest-api-id 1234123412
  • Per informazioni dettagliate sull’API, consulta DeleteRestApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-stage.

AWS CLI

Come eliminare una fase in un’API

Comando:

aws apigateway delete-stage --rest-api-id 1234123412 --stage-name 'dev'
  • Per informazioni dettagliate sull’API, consulta DeleteStage in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-usage-plan-key.

AWS CLI

Come rimuovere una chiave API da un piano di utilizzo

Comando:

aws apigateway delete-usage-plan-key --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu
  • Per informazioni dettagliate sull’API, consulta DeleteUsagePlanKey in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-usage-plan.

AWS CLI

Come eliminare un piano di utilizzo

Comando:

aws apigateway delete-usage-plan --usage-plan-id a1b2c3
  • Per informazioni dettagliate sull’API, consulta DeleteUsagePlan in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare flush-stage-authorizers-cache.

AWS CLI

Come scaricare l’intera cache del sistema di autorizzazione in una fase

Comando:

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

L’esempio di codice seguente mostra come utilizzare flush-stage-cache.

AWS CLI

Come scaricare la cache per una fase dell’API

L’esempio flush-stage-cache seguente scarica la cache di una fase.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Scaricare la cache della fase API in API Gateway nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta FlushStageCache in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare generate-client-certificate.

AWS CLI

Come creare un certificato SSL lato client

Comando:

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

L’esempio di codice seguente mostra come utilizzare get-account.

AWS CLI

Come ottenere le impostazioni dell’account Gateway API

Comando:

aws apigateway get-account

Output:

{ "cloudwatchRoleArn": "arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogsRole", "throttleSettings": { "rateLimit": 500.0, "burstLimit": 1000 } }
  • Per informazioni dettagliate sull’API, consulta GetAccount in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-api-key.

AWS CLI

Come recuperare le informazioni su una chiave API specifica

Comando:

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

Output:

{ "description": "My first key", "enabled": true, "stageKeys": [ "a1b2c3d4e5/dev", "e5d4c3b2a1/dev" ], "lastUpdatedDate": 1456184515, "createdDate": 1456184452, "id": "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", "name": "My key" }
  • Per informazioni dettagliate sull’API, consulta GetApiKey in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-api-keys.

AWS CLI

Come ottenere l’elenco delle chiavi API

Comando:

aws apigateway get-api-keys

Output:

{ "items": [ { "description": "My first key", "enabled": true, "stageKeys": [ "a1b2c3d4e5/dev", "e5d4c3b2a1/dev" ], "lastUpdatedDate": 1456184515, "createdDate": 1456184452, "id": "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", "name": "My key" } ] }
  • Per informazioni dettagliate sull’API, consulta GetApiKeys in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-authorizer.

AWS CLI

Come ottenere le impostazioni del sistema di autorizzazione per API di Gateway API

Comando:

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

Output:

{ "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" }
  • Per informazioni dettagliate sull’API, consulta GetAuthorizer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-authorizers.

AWS CLI

Come ottenere l’elenco dei sistemi di autorizzazione per una REST API

Comando:

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

Output:

{ "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" } ] }
  • Per informazioni dettagliate sull’API, consulta GetAuthorizers in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-base-path-mapping.

AWS CLI

Come ottenere la mappatura del percorso di base per un nome di dominio personalizzato

Comando:

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

Output:

{ "basePath": "v1", "restApiId": "1234w4321e", "stage": "api" }
  • Per informazioni dettagliate sull’API, consulta GetBasePathMapping in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-base-path-mappings.

AWS CLI

Come ottenere le mappature del percorso di base per un nome di dominio personalizzato

Comando:

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

Output:

{ "items": [ { "basePath": "(none)", "restApiId": "1234w4321e", "stage": "dev" }, { "basePath": "v1", "restApiId": "1234w4321e", "stage": "api" } ] }
  • Per informazioni dettagliate sull’API, consulta GetBasePathMappings in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-client-certificate.

AWS CLI

Come ottenere un certificato client

Comando:

aws apigateway get-client-certificate --client-certificate-id a1b2c3
  • Per informazioni dettagliate sull’API, consulta GetClientCertificate in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-client-certificates.

AWS CLI

Come ottenere un elenco di certificati client

Comando:

aws apigateway get-client-certificates

Output:

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

L’esempio di codice seguente mostra come utilizzare get-deployment.

AWS CLI

Come ottenere informazioni su un’implementazione

Comando:

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

Output:

{ "description": "myDeployment", "id": "ztt4m2", "createdDate": 1455218022 }
  • Per informazioni dettagliate sull’API, consulta GetDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-deployments.

AWS CLI

Come ottenere un elenco di implementazioni per una REST API

Comando:

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

Output:

{ "items": [ { "createdDate": 1453797217, "id": "0a2b4c", "description": "Deployed my API for the first time" } ] }
  • Per informazioni dettagliate sull’API, consulta GetDeployments in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-domain-name-access-associations.

AWS CLI

Esempio 1: elencare tutte le associazioni di accesso ai nomi di dominio

L’esempio di get-domain-name-access-associations seguente mostra come elencare tutte le associazioni di accesso ai nomi di dominio.

aws apigateway get-domain-name-access-associations

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per API private in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Esempio 2: elencare tutte le associazioni di accesso ai nomi di dominio di proprietà dell’account AWS corrente

L’esempio get-domain-name-access-associations seguente elenca tutte le associazioni di accesso ai nomi di dominio di proprietà dell’account AWS corrente.

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

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per API private in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

L’esempio di codice seguente mostra come utilizzare get-domain-name.

AWS CLI

Esempio 1: ottenere informazioni su un nome di dominio pubblico personalizzato

L’esempio get-domain-name seguente ottiene informazioni su un nome di dominio pubblico personalizzato.

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

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per REST API pubbliche in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Esempio 2: ottenere informazioni su un nome di dominio privato personalizzato

L’esempio get-domain-name seguente ottiene informazioni su un nome di dominio privato personalizzato.

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

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per REST API pubbliche in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetDomainName in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-domain-names.

AWS CLI

Esempio 1: ottenere un elenco di nomi di dominio personalizzati

Il comando get-domain-names seguente ottiene un elenco di nomi di dominio.

aws apigateway get-domain-names

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per API private in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Esempio 2: ottenere un elenco di nomi di dominio personalizzati di proprietà dell’account AWS corrente

Il comando get-domain-names seguente ottiene un elenco di nomi di dominio di proprietà dell’account AWS corrente.

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

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per API private in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Esempio 3: ottenere un elenco di nomi di dominio personalizzati di proprietà di altri account AWS con cui è possibile creare un’associazione di accesso ai nomi di dominio.

Il comando get-domain-names seguente ottiene un elenco di nomi di dominio di proprietà di altri account AWS a cui si ha accesso per creare un’associazione di accesso ai nomi di dominio.

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

Output:

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

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per API private in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetDomainNames in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-export.

AWS CLI

Come ottenere il modello Swagger JSON per una fase

Comando:

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

Come ottenere il modello Swagger JSON e le estensioni di Gateway API per una fase

Comando:

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

Come ottenere il modello Swagger JSON e le estensioni di Postman per una fase

Comando:

aws apigateway get-export --parameters extensions='postman' --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger /path/to/filename.json
  • Per informazioni dettagliate sull’API, consulta GetExport in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-integration-response.

AWS CLI

Come ottenere la configurazione della risposta di integrazione per un metodo HTTP definito nella risorsa di una REST API

Comando:

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

Output:

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

L’esempio di codice seguente mostra come utilizzare get-integration.

AWS CLI

Come ottenere la configurazione dell’integrazione per un metodo HTTP definito nella risorsa di una REST API

Comando:

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

Output:

{ "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" }
  • Per informazioni dettagliate sull’API, consulta GetIntegration in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-method-response.

AWS CLI

Come ottenere la configurazione della risorsa di risposta del metodo per un metodo HTTP definito nella risorsa di una REST API

Comando:

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

Output:

{ "responseModels": { "application/json": "Empty" }, "statusCode": "200" }
  • Per informazioni dettagliate sull’API, consulta GetMethodResponse in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-method.

AWS CLI

Come ottenere la configurazione della risorsa del metodo per un metodo HTTP definito nella risorsa di una REST API

Comando:

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

Output:

{ "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" }
  • Per informazioni dettagliate sull’API, consulta GetMethod in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-model-template.

AWS CLI

Come ottenere il modello di mappatura per un modello definito in una REST API

Comando:

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

Output:

{ "value": "#set($inputRoot = $input.path('$'))\n{ }" }
  • Per informazioni dettagliate sull’API, consulta GetModelTemplate in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-model.

AWS CLI

Come ottenere la configurazione per un modello definito in una REST API

Comando:

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

Output:

{ "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}" }
  • Per informazioni dettagliate sull’API, consulta GetModel in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-models.

AWS CLI

Come ottenere un elenco di modelli per una REST API

Comando:

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

Output:

{ "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" } ] }
  • Per informazioni dettagliate sull’API, consulta GetModels in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-resource.

AWS CLI

Come ottenere informazioni su una risorsa

Comando:

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

Output:

{ "path": "/path", "pathPart": "path", "id": "zwo0y3", "parentId": "uyokt6ij2g" }
  • Per informazioni dettagliate sull’API, consulta GetResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-resources.

AWS CLI

Come ottenere un elenco di risorse per una REST API

Comando:

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

Output:

{ "items": [ { "path": "/resource/subresource", "resourceMethods": { "POST": {} }, "id": "024ace", "pathPart": "subresource", "parentId": "ai5b02" } ] }
  • Per informazioni dettagliate sull’API, consulta GetResources in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-rest-api.

AWS CLI

Come ottenere informazioni su un’API

Comando:

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

Output:

{ "name": "myAPI", "id": "o1y243m4f5", "createdDate": 1453416433 }
  • Per informazioni dettagliate sull’API, consulta GetRestApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-rest-apis.

AWS CLI

Come ottenere un elenco di REST API

Comando:

aws apigateway get-rest-apis

Output:

{ "items": [ { "createdDate": 1438884790, "id": "12s44z21rb", "name": "My First API" } ] }
  • Per informazioni dettagliate sull’API, consulta GetRestApis in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-sdk.

AWS CLI

Come ottenere l’SDK Android per una fase della REST API

Comando:

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

Output:

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

Come ottenere l’SDK iOS per una fase della REST API

Comando:

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

Output:

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

Come ottenere l’SDK Javascript per una fase della REST API

Comando:

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

Output:

{ "contentType": "application/octet-stream", "contentDisposition": "attachment; filename=\"javascript_2016-02-22_23-52Z.zip\"" }
  • Per informazioni dettagliate sull’API, consulta GetSdk in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-stage.

AWS CLI

Come ottenere informazioni su una fase di un’API

Comando:

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

Output:

{ "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 } } }
  • Per informazioni dettagliate sull’API, consulta GetStage in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-stages.

AWS CLI

Come ottenere un elenco di fasi per una REST API

Comando:

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

Output:

{ "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 } } } ] }
  • Per informazioni dettagliate sull’API, consulta GetStages in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-usage-plan-key.

AWS CLI

Come ottenere i dettagli di una chiave API associata a un piano di utilizzo

Comando:

aws apigateway get-usage-plan-key --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu
  • Per informazioni dettagliate sull’API, consulta GetUsagePlanKey in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-usage-plan-keys.

AWS CLI

Come ottenere l’elenco delle chiavi API associate a un piano di utilizzo

Comando:

aws apigateway get-usage-plan-keys --usage-plan-id a1b2c3
  • Per informazioni dettagliate sull’API, consulta GetUsagePlanKeys in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-usage-plan.

AWS CLI

Come ottenere i dettagli di un piano di utilizzo

Comando:

aws apigateway get-usage-plan --usage-plan-id a1b2c3
  • Per informazioni dettagliate sull’API, consulta GetUsagePlan in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-usage-plans.

AWS CLI

Come ottenere i dettagli di tutti i piani di utilizzo

Comando:

aws apigateway get-usage-plans
  • Per informazioni dettagliate sull’API, consulta GetUsagePlans in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-usage.

AWS CLI

Come ottenere i dettagli sull’utilizzo per un piano di utilizzo

Comando:

aws apigateway get-usage --usage-plan-id a1b2c3 --start-date "2016-08-16" --end-date "2016-08-17"
  • Per informazioni dettagliate sull’API, consulta GetUsage in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare import-rest-api.

AWS CLI

Come importare un modello Swagger e creare un’API

Comando:

aws apigateway import-rest-api --body 'file:///path/to/API_Swagger_template.json'
  • Per informazioni dettagliate sull’API, consulta ImportRestApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-integration-response.

AWS CLI

Come creare una risposta di integrazione come risposta predefinita con un modello di mappatura definito

Comando:

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

Come creare una risposta di integrazione con un’espressione regolare impostata su 400 e un valore di intestazione definito staticamente

Comando:

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

L’esempio di codice seguente mostra come utilizzare put-integration.

AWS CLI

Come creare una richiesta di integrazione MOCK

Comando:

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

Come creare una richiesta di integrazione HTTP

Comando:

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'

Come creare una richiesta di integrazione AWS con un endpoint della funzione Lambda

Comando:

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'
  • Per informazioni dettagliate sull’API, consulta PutIntegration in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-method-response.

AWS CLI

Come creare una risposta del metodo con il codice di stato specificato utilizzando un’intestazione di risposta del metodo personalizzata

Comando:

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"
  • Per informazioni dettagliate sull’API, consulta PutMethodResponse in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-method.

AWS CLI

Come creare un metodo per una risorsa in un’API senza autorizzazione, senza chiave API e con un’intestazione di richiesta del metodo personalizzata

Comando:

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"
  • Per informazioni dettagliate sull’API, consulta PutMethod in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-rest-api.

AWS CLI

Come sovrascrivere un’API esistente utilizzando un modello Swagger

Comando:

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

Come unire un modello Swagger a un’API esistente

Comando:

aws apigateway put-rest-api --rest-api-id 1234123412 --mode merge --body 'fileb:///path/to/API_Swagger_template.json'
  • Per informazioni dettagliate sull’API, consulta PutRestApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare reject-domain-name-access-association.

AWS CLI

Come rifiutare un’associazione di accesso al nome di dominio

L’esempio reject-domain-name-access-association seguente rifiuta un’associazione di accesso al nome di dominio tra un nome di dominio privato personalizzato e l’endpoint VPC.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Nomi di dominio personalizzati per API private in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

L’esempio di codice seguente mostra come utilizzare test-invoke-authorizer.

AWS CLI

Come testare l’invocazione di una richiesta a un sistema di autorizzazione personalizzato che includa l’intestazione e il valore richiesti

Comando:

aws apigateway test-invoke-authorizer --rest-api-id 1234123412 --authorizer-id 5yid1t --headers Authorization='Value'
  • Per informazioni dettagliate sull’API, consulta TestInvokeAuthorizer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare test-invoke-method.

AWS CLI

Come testare l’invocazione della risorsa root in un’API eseguendo una richiesta GET

Comando:

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

Come testare l’invocazione di una risorsa secondaria in un’API eseguendo una richiesta GET con un valore di parametro di percorso specificato

Comando:

aws apigateway test-invoke-method --rest-api-id 1234123412 --resource-id 3gapai --http-method GET --path-with-query-string '/pets/1'
  • Per informazioni dettagliate sull’API, consulta TestInvokeMethod in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-account.

AWS CLI

Come modificare l’ARN del ruolo IAM per la registrazione di log su CloudWatch Logs

Comando:

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

Output:

{ "cloudwatchRoleArn": "arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogs", "throttleSettings": { "rateLimit": 1000.0, "burstLimit": 2000 } }
  • Per informazioni dettagliate sull’API, consulta UpdateAccount in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-api-key.

AWS CLI

Come modificare il nome di una chiave API

Comando:

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

Output:

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

Come disabilitare la chiave API

Comando:

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

Output:

{ "description": "currentDescription", "enabled": false, "stageKeys": [ "41t2j324r5/dev" ], "lastUpdatedDate": 1470086052, "createdDate": 1445460347, "id": "sNvjQDMReA1vEQPNzW8r3dXsU2rrD7fcjm2SiMnu", "name": "newName" }
  • Per informazioni dettagliate sull’API, consulta UpdateApiKey in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-authorizer.

AWS CLI

Come modificare il nome del sistema di autorizzazione personalizzato

Comando:

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

Output:

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

Come modificare la funzione Lambda invocata dal sistema di autorizzazione personalizzato

Comando:

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'

Output:

{ "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" }
  • Per informazioni dettagliate sull’API, consulta UpdateAuthorizer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-base-path-mapping.

AWS CLI

Come modificare il percorso di base per un nome di dominio personalizzato

Comando:

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

Output:

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

L’esempio di codice seguente mostra come utilizzare update-client-certificate.

AWS CLI

Come aggiornare la descrizione di un certificato client

Comando:

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

L’esempio di codice seguente mostra come utilizzare update-deployment.

AWS CLI

Come modificare la descrizione di un’implementazione

Comando:

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

Output:

{ "description": "newDescription", "id": "ztt4m2", "createdDate": 1455218022 }
  • Per informazioni dettagliate sull’API, consulta UpdateDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-domain-name.

AWS CLI

Come modificare il nome del certificato per un nome di dominio personalizzato

L’esempio update-domain-name seguente modifica il nome del certificato per un dominio personalizzato.

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'

Output:

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

Per ulteriori informazioni consulta Nomi di dominio personalizzati per REST API pubbliche in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta UpdateDomainName in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-integration-response.

AWS CLI

Come modificare l’intestazione di una risposta di integrazione in modo da avere una mappatura statica di “*”

Comando:

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='"'"'*'"'"'

Output:

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

Come rimuovere l’intestazione di una risposta di integrazione

Comando:

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'

L’esempio di codice seguente mostra come utilizzare update-integration.

AWS CLI

Come aggiungere il modello di mappatura “Content-Type: application/json” configurato con Passthrough di input

Comando:

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

Come aggiornare (sostituire) il modello di mappatura “Content-Type: application/json” configurato con un modello personalizzato

Comando:

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

Come aggiornare (sostituire) un modello personalizzato associato a “Content-Type: application/json” con Passthrough di input

Comando:

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

Come rimuovere il modello di mappatura “Content-Type: application/json”

Comando:

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='remove',path='/requestTemplates/application~1json'"
  • Per informazioni dettagliate sull’API, consulta UpdateIntegration in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-method-response.

AWS CLI

Come creare una nuova intestazione di risposta del metodo per la risposta 200 in un metodo e definirla come non obbligatoria (per impostazione predefinita)

Comando:

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"

Come eliminare un modello di risposta per la risposta 200 in un metodo

Comando:

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"
  • Per informazioni dettagliate sull’API, consulta UpdateMethodResponse in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-method.

AWS CLI

Esempio 1: modificare un metodo per richiedere una chiave API

L’esempio update-method seguente modifica il metodo per richiedere una chiave API.

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

Output:

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

Esempio 2: modificare un metodo per richiedere l’autorizzazione IAM

L’esempio update-method seguente modifica il metodo per richiedere l’autorizzazione IAM.

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

Output:

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

Esempio 3: modificare un metodo per richiedere l’autorizzazione Lambda

L’esempio update-method seguente modifica il metodo per richiedere l’autorizzazione Lambda.

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"

Output:

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

Per ulteriori informazioni, consulta Creazione, configurazione e test dei piani di utilizzo mediante la CLI e la REST API di Gateway API e Controllo e gestione degli accessi a una REST API in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta UpdateMethod in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-model.

AWS CLI

Come modificare la descrizione di un modello in un’API

Comando:

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

Come modificare lo schema di un modello in un’API

Comando:

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\" }"'
  • Per informazioni dettagliate sull’API, consulta UpdateModel in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-resource.

AWS CLI

Come spostare una risorsa e posizionarla in una risorsa principale diversa in un’API

Comando:

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

Output:

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

Come rinominare una risorsa (pathPart) in un’API

Comando:

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

Output:

{ "path": "/newresourcename", "pathPart": "newresourcename", "id": "1a2b3c", "parentId": "3c2b1a" }
  • Per informazioni dettagliate sull’API, consulta UpdateResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-rest-api.

AWS CLI

Come modificare il nome di un’API.

Comando:

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

Come modificare la descrizione di un’API.

Comando:

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/description,value='New Description'
  • Per informazioni dettagliate sull’API, consulta UpdateRestApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-stage.

AWS CLI

Esempio 1: sostituire le impostazioni della fase per una risorsa e un metodo

L’esempio update-stage seguente sostituisce le impostazioni della fase e disattiva la registrazione completa dei log delle richieste/risposte per una risorsa e un metodo specifici.

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

Output:

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

Per ulteriori informazioni consulta Configurazione di una fase per una REST API in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Esempio 2: aggiornare le impostazioni della fase per tutte le risorse e tutti i metodi di una fase API

L’esempio update-stage seguente attiva la registrazione completa dei log delle richieste/risposte per tutte le risorse e tutti i metodi di una fase API.

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

Output:

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

Per ulteriori informazioni consulta Configurazione di una fase per una REST API in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta UpdateStage in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-usage-plan.

AWS CLI

Come modificare il periodo definito in un piano di utilizzo

Comando:

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

Come modificare il limite di quota definito in un piano di utilizzo

Comando:

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

Come modificare il limite di velocità di elaborazione delle richieste definito in un piano di utilizzo

Comando:

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

Come modificare il limite di burst di elaborazione delle richieste definito in un piano di utilizzo

Comando:

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/throttle/burstLimit",value="20"
  • Per informazioni dettagliate sull’API, consulta UpdateUsagePlan in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-usage.

AWS CLI

Come modificare temporaneamente la quota su una chiave API per il periodo corrente definito nel piano di utilizzo

Comando:

aws apigateway update-usage --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu --patch-operations op="replace",path="/remaining",value="50"
  • Per informazioni dettagliate sull’API, consulta UpdateUsage in AWS CLI Command Reference.