Exemples d'API Gateway utilisant AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples d'API Gateway utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide de AWS Command Line Interface with API Gateway.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utilisercreate-api-key.

AWS CLI

Pour créer une clé d’API activée pour une API existante et Stage

Commande :

aws apigateway create-api-key --name 'Dev API Key' --description 'Used for development' --enabled --stage-keys restApiId='a1b2c3d4e5',stageName='dev'
  • Pour plus de détails sur l'API, reportez-vous CreateApiKeyà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-authorizer.

AWS CLI

Exemple 1 : pour créer un mécanisme d’autorisation personnalisé d’API Gateway basé sur des jetons pour l’API

L’exemple create-authorizer suivant crée un mécanisme d’autorisation basé sur des jetons.

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

Sortie :

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

Exemple 2 : pour créer un mécanisme d’autorisation personnalisé d’API Gateway basé sur des groupes d’utilisateurs Cognito pour l’API

L’exemple create-authorizer suivant crée un mécanisme d’autorisation personnalisé d’API Gateway basé sur des groupes d’utilisateurs 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'

Sortie :

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

Exemple 3 : pour créer un mécanisme d’autorisation personnalisé d’API Gateway basé sur des demandes pour l’API

L’exemple create-authorizer suivant crée un mécanisme d’autorisation basé sur des demandes.

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

Sortie :

{ "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 }
  • Pour plus de détails sur l'API, reportez-vous CreateAuthorizerà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-base-path-mapping.

AWS CLI

Pour créer le mappage de chemin de base pour un nom de domaine personnalisé

Commande :

aws apigateway create-base-path-mapping --domain-name subdomain.domain.tld --rest-api-id 1234123412 --stage prod --base-path v1
  • Pour plus de détails sur l'API, reportez-vous CreateBasePathMappingà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-deployment.

AWS CLI

Pour déployer les ressources configurées pour une API vers une nouvelle étape

Commande :

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

Pour déployer les ressources configurées pour une API vers une étape existante

Commande :

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

Pour déployer les ressources configurées pour une API vers une étape existante avec les variables d’étape

aws apigateway create-deployment -- rest-api-id 1234123412 --stage-name dev --description 'Troisième déploiement vers la phase de développement' --variables key='value', otherKey='othervalue'

  • Pour plus de détails sur l'API, reportez-vous CreateDeploymentà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-domain-name-access-association.

AWS CLI

Pour créer une association d’accès au nom de domaine

L’exemple create-domain-name-access-association suivant crée une association d’accès au nom de domaine entre un nom de domaine personnalisé privé et un point de terminaison d’un 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

Sortie :

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

Pour plus d'informations, consultez la section Noms de domaine personnalisés pour le privé APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

L'exemple de code suivant montre comment utilisercreate-domain-name.

AWS CLI

Exemple 1 : pour créer un nom de domaine personnalisé public

L’exemple create-domain-name suivant crée un nom de domaine personnalisé public.

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'

Sortie :

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

Pour plus d'informations, consultez la section Nom de domaine personnalisé pour le REST public APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

Exemple 2 : pour créer un nom de domaine personnalisé privé

L’exemple create-domain-name suivant crée un nom de domaine personnalisé privé.

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

Contenu de 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" } } } ] }

Sortie :

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

Pour plus d'informations, consultez la section Nom de domaine personnalisé pour le REST public APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous CreateDomainNameà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-model.

AWS CLI

Pour créer un modèle pour une API

Commande :

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

Sortie :

{ "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\" } } } } }" }
  • Pour plus de détails sur l'API, reportez-vous CreateModelà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-resource.

AWS CLI

Pour créer une ressource dans une API

Commande :

aws apigateway create-resource --rest-api-id 1234123412 --parent-id a1b2c3 --path-part 'new-resource'
  • Pour plus de détails sur l'API, reportez-vous CreateResourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-rest-api.

AWS CLI

Pour créer une API

Commande :

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

Pour créer une API dupliquée à partir d’une API existante

Commande :

aws apigateway create-rest-api --name 'Copy of My First API' --description 'This is a copy of my first API' --clone-from 1234123412
  • Pour plus de détails sur l'API, reportez-vous CreateRestApià la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-stage.

AWS CLI

Pour créer une étape dans une API qui contiendra un déploiement existant

Commande :

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

Pour créer une étape dans une API qui contiendra un déploiement existant et des variables d’étape personnalisées

Commande :

aws apigateway create-stage --rest-api-id 1234123412 --stage-name 'dev' --description 'Development stage' --deployment-id a1b2c3 --variables key='value',otherKey='otherValue'
  • Pour plus de détails sur l'API, reportez-vous CreateStageà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-usage-plan-key.

AWS CLI

Associer une clé d’API existante à un plan d’utilisation

Commande :

aws apigateway create-usage-plan-key --usage-plan-id a1b2c3 --key-type "API_KEY" --key-id 4vq3yryqm5
  • Pour plus de détails sur l'API, reportez-vous CreateUsagePlanKeyà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-usage-plan.

AWS CLI

Pour créer un plan d’utilisation avec des limitations et des limites de quota qui se réinitialise au début du mois

Commande :

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
  • Pour plus de détails sur l'API, reportez-vous CreateUsagePlanà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-api-key.

AWS CLI

Pour supprimer une clé d’API

Commande :

aws apigateway delete-api-key --api-key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk
  • Pour plus de détails sur l'API, reportez-vous DeleteApiKeyà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-authorizer.

AWS CLI

Pour supprimer un mécanisme d’autorisation personnalisé dans une API

Commande :

aws apigateway delete-authorizer --rest-api-id 1234123412 --authorizer-id 7gkfbo
  • Pour plus de détails sur l'API, reportez-vous DeleteAuthorizerà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-base-path-mapping.

AWS CLI

Pour supprimer un mappage de chemin de base pour un nom de domaine personnalisé

Commande :

aws apigateway delete-base-path-mapping --domain-name 'api.domain.tld' --base-path 'dev'
  • Pour plus de détails sur l'API, reportez-vous DeleteBasePathMappingà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-client-certificate.

AWS CLI

Pour supprimer un certificat client

Commande :

aws apigateway delete-client-certificate --client-certificate-id a1b2c3
  • Pour plus de détails sur l'API, reportez-vous DeleteClientCertificateà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-deployment.

AWS CLI

Pour supprimer un déploiement dans une API

Commande :

aws apigateway delete-deployment --rest-api-id 1234123412 --deployment-id a1b2c3
  • Pour plus de détails sur l'API, reportez-vous DeleteDeploymentà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-domain-name-access-association.

AWS CLI

Pour supprimer une association d’accès au nom de domaine

L’exemple delete-domain-name-access-association suivant supprime une association d’accès au nom de domaine entre un nom de domaine personnalisé privé et un point de terminaison d’un 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

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez la section Noms de domaine personnalisés pour le privé APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

L'exemple de code suivant montre comment utiliserdelete-domain-name.

AWS CLI

Pour supprimer un nom de domaine personnalisé

Commande :

aws apigateway delete-domain-name --domain-name 'api.domain.tld'
  • Pour plus de détails sur l'API, reportez-vous DeleteDomainNameà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-integration-response.

AWS CLI

Pour supprimer une réponse d’intégration pour une ressource, une méthode et un code d’état donnés dans une API

Commande :

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

L'exemple de code suivant montre comment utiliserdelete-integration.

AWS CLI

Pour supprimer une intégration pour une ressource et une méthode données dans une API

Commande :

aws apigateway delete-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET
  • Pour plus de détails sur l'API, reportez-vous DeleteIntegrationà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-method-response.

AWS CLI

Pour supprimer une réponse de méthode pour une ressource, une méthode et un code d’état donnés dans une API

Commande :

aws apigateway delete-method-response --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --status-code 200
  • Pour plus de détails sur l'API, reportez-vous DeleteMethodResponseà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-method.

AWS CLI

Pour supprimer une méthode pour la ressource donnée dans une API

Commande :

aws apigateway delete-method --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET
  • Pour plus de détails sur l'API, reportez-vous DeleteMethodà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-model.

AWS CLI

Pour supprimer un modèle dans l’API donnée

Commande :

aws apigateway delete-model --rest-api-id 1234123412 --model-name 'customModel'
  • Pour plus de détails sur l'API, reportez-vous DeleteModelà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-resource.

AWS CLI

Pour supprimer une ressource dans une API

Commande :

aws apigateway delete-resource --rest-api-id 1234123412 --resource-id a1b2c3
  • Pour plus de détails sur l'API, reportez-vous DeleteResourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-rest-api.

AWS CLI

Pour supprimer une API

Commande :

aws apigateway delete-rest-api --rest-api-id 1234123412
  • Pour plus de détails sur l'API, reportez-vous DeleteRestApià la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-stage.

AWS CLI

Pour supprimer une étape dans une API

Commande :

aws apigateway delete-stage --rest-api-id 1234123412 --stage-name 'dev'
  • Pour plus de détails sur l'API, reportez-vous DeleteStageà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-usage-plan-key.

AWS CLI

Pour supprimer une clé d’API d’un plan d’utilisation

Commande :

aws apigateway delete-usage-plan-key --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu
  • Pour plus de détails sur l'API, reportez-vous DeleteUsagePlanKeyà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-usage-plan.

AWS CLI

Pour supprimer un plan d’utilisation

Commande :

aws apigateway delete-usage-plan --usage-plan-id a1b2c3
  • Pour plus de détails sur l'API, reportez-vous DeleteUsagePlanà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserflush-stage-authorizers-cache.

AWS CLI

Pour vider toutes les entrées de cache du mécanisme d’autorisation sur une étape

Commande :

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

L'exemple de code suivant montre comment utiliserflush-stage-cache.

AWS CLI

Pour vider le cache d’une étape d’une API

L’exemple flush-stage-cache suivant vide le cache d’une étape.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Vidage du cache d’étape d’API dans API Gateway dans le Guide du développeur Amazon API Gateway.

  • Pour plus de détails sur l'API, reportez-vous FlushStageCacheà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisergenerate-client-certificate.

AWS CLI

Pour créer un certificat SSL côté client

Commande :

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

L'exemple de code suivant montre comment utiliserget-account.

AWS CLI

Pour obtenir les paramètres d’un compte API Gateway

Commande :

aws apigateway get-account

Sortie :

{ "cloudwatchRoleArn": "arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogsRole", "throttleSettings": { "rateLimit": 500.0, "burstLimit": 1000 } }
  • Pour plus de détails sur l'API, voir GetAccountla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-api-key.

AWS CLI

Pour obtenir des informations sur une clé d’API spécifique

Commande :

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

Sortie :

{ "description": "My first key", "enabled": true, "stageKeys": [ "a1b2c3d4e5/dev", "e5d4c3b2a1/dev" ], "lastUpdatedDate": 1456184515, "createdDate": 1456184452, "id": "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", "name": "My key" }
  • Pour plus de détails sur l'API, voir GetApiKeyla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-api-keys.

AWS CLI

Pour obtenir la liste des clés d’API

Commande :

aws apigateway get-api-keys

Sortie :

{ "items": [ { "description": "My first key", "enabled": true, "stageKeys": [ "a1b2c3d4e5/dev", "e5d4c3b2a1/dev" ], "lastUpdatedDate": 1456184515, "createdDate": 1456184452, "id": "8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk", "name": "My key" } ] }
  • Pour plus de détails sur l'API, voir GetApiKeysla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-authorizer.

AWS CLI

Pour obtenir les paramètres du mécanisme d’autorisation API Gateway par API

Commande :

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

Sortie :

{ "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" }
  • Pour plus de détails sur l'API, voir GetAuthorizerla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-authorizers.

AWS CLI

Pour obtenir la liste des mécanismes d’autorisation pour une API REST

Commande :

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

Sortie :

{ "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" } ] }
  • Pour plus de détails sur l'API, voir GetAuthorizersla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-base-path-mapping.

AWS CLI

Pour obtenir le mappage du chemin de base pour un nom de domaine personnalisé

Commande :

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

Sortie :

{ "basePath": "v1", "restApiId": "1234w4321e", "stage": "api" }
  • Pour plus de détails sur l'API, voir GetBasePathMappingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-base-path-mappings.

AWS CLI

Pour obtenir les mappages de chemins de base pour un nom de domaine personnalisé

Commande :

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

Sortie :

{ "items": [ { "basePath": "(none)", "restApiId": "1234w4321e", "stage": "dev" }, { "basePath": "v1", "restApiId": "1234w4321e", "stage": "api" } ] }
  • Pour plus de détails sur l'API, voir GetBasePathMappingsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-client-certificate.

AWS CLI

Pour obtenir un certificat client

Commande :

aws apigateway get-client-certificate --client-certificate-id a1b2c3
  • Pour plus de détails sur l'API, voir GetClientCertificatela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-client-certificates.

AWS CLI

Pour obtenir une liste des certificats client

Commande :

aws apigateway get-client-certificates

Sortie :

{ "items": [ { "pemEncodedCertificate": "-----BEGIN CERTIFICATE----- <certificate content> -----END CERTIFICATE-----", "clientCertificateId": "a1b2c3", "expirationDate": 1483556561, "description": "My Client Certificate", "createdDate": 1452020561 } ] }
  • Pour plus de détails sur l'API, voir GetClientCertificatesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-deployment.

AWS CLI

Pour obtenir des informations sur un déploiement

Commande :

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

Sortie :

{ "description": "myDeployment", "id": "ztt4m2", "createdDate": 1455218022 }
  • Pour plus de détails sur l'API, voir GetDeploymentla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-deployments.

AWS CLI

Pour obtenir une liste des déploiements d’une API REST

Commande :

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

Sortie :

{ "items": [ { "createdDate": 1453797217, "id": "0a2b4c", "description": "Deployed my API for the first time" } ] }
  • Pour plus de détails sur l'API, voir GetDeploymentsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-domain-name-access-associations.

AWS CLI

Exemple 1 : pour répertorier toutes les associations d’accès au nom de domaine

L’exemple get-domain-name-access-associations suivant répertorie toutes les associations d’accès au nom de domaine.

aws apigateway get-domain-name-access-associations

Sortie :

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

Pour plus d'informations, consultez la section Noms de domaine personnalisés pour le privé APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

Exemple 2 : pour répertorier toutes les associations d'accès aux noms de domaine détenues par ce AWS compte

L'get-domain-name-access-associationsexemple suivant répertorie toutes les associations d'accès aux noms de domaine détenues par le AWS compte courant.

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

Sortie :

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

Pour plus d'informations, consultez la section Noms de domaine personnalisés pour le privé APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

L'exemple de code suivant montre comment utiliserget-domain-name.

AWS CLI

Exemple 1 : pour obtenir des informations sur un nom de domaine personnalisé public

L’exemple get-domain-name suivant obtient des informations sur un nom de domaine personnalisé public.

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

Sortie :

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

Pour plus d'informations, consultez la section Nom de domaine personnalisé pour le REST public APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

Exemple 2 : pour obtenir des informations sur un nom de domaine personnalisé privé

L’exemple get-domain-name suivant obtient des informations sur un nom de domaine personnalisé privé.

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

Sortie :

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

Pour plus d'informations, consultez la section Nom de domaine personnalisé pour le REST public APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

  • Pour plus de détails sur l'API, voir GetDomainNamela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-domain-names.

AWS CLI

Exemple 1 : pour obtenir une liste des noms de domaine personnalisés

La commande get-domain-names suivante obtient une liste des noms de domaine.

aws apigateway get-domain-names

Sortie :

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

Pour plus d'informations, consultez la section Noms de domaine personnalisés pour le privé APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

Exemple 2 : pour obtenir une liste des noms de domaine personnalisés détenus par ce AWS compte

La get-domain-names commande suivante permet d'obtenir la liste des noms de domaine détenus par ce AWS compte.

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

Sortie :

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

Pour plus d'informations, consultez la section Noms de domaine personnalisés pour le privé APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

Exemple 3 : pour obtenir une liste de noms de domaine personnalisés appartenant à d'autres AWS comptes avec lesquels vous pouvez créer une association d'accès aux noms de domaine.

La get-domain-names commande suivante permet d'obtenir la liste des noms de domaine détenus par d'autres AWS comptes auxquels vous avez accès pour créer une association d'accès aux noms de domaine.

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

Sortie :

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

Pour plus d'informations, consultez la section Noms de domaine personnalisés pour le privé APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

  • Pour plus de détails sur l'API, voir GetDomainNamesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-export.

AWS CLI

Pour obtenir le modèle JSON Swagger pour une étape

Commande :

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

Pour obtenir le modèle JSON Swagger et les extensions API Gateway pour une étape

Commande :

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

Pour obtenir le modèle JSON Swagger et les extensions Postman pour une étape

Commande :

aws apigateway get-export --parameters extensions='postman' --rest-api-id a1b2c3d4e5 --stage-name dev --export-type swagger /path/to/filename.json
  • Pour plus de détails sur l'API, voir GetExportla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-integration-response.

AWS CLI

Pour obtenir la configuration de la réponse d’intégration pour une méthode HTTP définie sous la ressource d’une API REST

Commande :

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

Sortie :

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

L'exemple de code suivant montre comment utiliserget-integration.

AWS CLI

Pour obtenir la configuration d’intégration pour une méthode HTTP définie sous la ressource d’une API REST

Commande :

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

Sortie :

{ "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" }
  • Pour plus de détails sur l'API, voir GetIntegrationla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-method-response.

AWS CLI

Pour obtenir la configuration de la ressource de réponse de méthode pour une méthode HTTP définie sous la ressource d’une API REST

Commande :

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

Sortie :

{ "responseModels": { "application/json": "Empty" }, "statusCode": "200" }
  • Pour plus de détails sur l'API, voir GetMethodResponsela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-method.

AWS CLI

Pour obtenir la configuration de la ressource de méthode pour une méthode HTTP définie sous la ressource d’une API REST

Commande :

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

Sortie :

{ "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" }
  • Pour plus de détails sur l'API, voir GetMethodla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-model-template.

AWS CLI

Pour obtenir le modèle de mappage d’un modèle défini sous une API REST

Commande :

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

Sortie :

{ "value": "#set($inputRoot = $input.path('$'))\n{ }" }
  • Pour plus de détails sur l'API, voir GetModelTemplatela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-model.

AWS CLI

Pour obtenir la configuration d’un modèle défini sous une API REST

Commande :

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

Sortie :

{ "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}" }
  • Pour plus de détails sur l'API, voir GetModella section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-models.

AWS CLI

Pour obtenir une liste de modèles pour une API REST

Commande :

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

Sortie :

{ "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" } ] }
  • Pour plus de détails sur l'API, voir GetModelsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-resource.

AWS CLI

Pour obtenir des informations sur une ressource

Commande :

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

Sortie :

{ "path": "/path", "pathPart": "path", "id": "zwo0y3", "parentId": "uyokt6ij2g" }
  • Pour plus de détails sur l'API, voir GetResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-resources.

AWS CLI

Pour obtenir une liste de ressources pour une API REST

Commande :

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

Sortie :

{ "items": [ { "path": "/resource/subresource", "resourceMethods": { "POST": {} }, "id": "024ace", "pathPart": "subresource", "parentId": "ai5b02" } ] }
  • Pour plus de détails sur l'API, voir GetResourcesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-rest-api.

AWS CLI

Pour obtenir des informations sur une API

Commande :

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

Sortie :

{ "name": "myAPI", "id": "o1y243m4f5", "createdDate": 1453416433 }
  • Pour plus de détails sur l'API, voir GetRestApila section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-rest-apis.

AWS CLI

Pour obtenir une liste de REST APIs

Commande :

aws apigateway get-rest-apis

Sortie :

{ "items": [ { "createdDate": 1438884790, "id": "12s44z21rb", "name": "My First API" } ] }
  • Pour plus de détails sur l'API, voir GetRestApisla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-sdk.

AWS CLI

Pour obtenir le kit SDK Android pour une étape d’API REST

Commande :

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

Sortie :

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

Pour obtenir le kit SDK IOS pour une étape d’API REST

Commande :

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

Sortie :

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

Pour obtenir le kit SDK Javascript pour une étape d’API REST

Commande :

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

Sortie :

{ "contentType": "application/octet-stream", "contentDisposition": "attachment; filename=\"javascript_2016-02-22_23-52Z.zip\"" }
  • Pour plus de détails sur l'API, voir GetSdkla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-stage.

AWS CLI

Pour obtenir des informations sur une étape d’une API

Commande :

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

Sortie :

{ "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 } } }
  • Pour plus de détails sur l'API, voir GetStagela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-stages.

AWS CLI

Pour obtenir la liste des étapes pour une API REST

Commande :

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

Sortie :

{ "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 } } } ] }
  • Pour plus de détails sur l'API, voir GetStagesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-usage-plan-key.

AWS CLI

Pour obtenir les détails d’une clé d’API associée à un plan d’utilisation

Commande :

aws apigateway get-usage-plan-key --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu
  • Pour plus de détails sur l'API, voir GetUsagePlanKeyla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-usage-plan-keys.

AWS CLI

Pour obtenir la liste des clés d’API associées à un plan d’utilisation

Commande :

aws apigateway get-usage-plan-keys --usage-plan-id a1b2c3
  • Pour plus de détails sur l'API, voir GetUsagePlanKeysla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-usage-plan.

AWS CLI

Pour obtenir les détails d’un plan d’utilisation

Commande :

aws apigateway get-usage-plan --usage-plan-id a1b2c3
  • Pour plus de détails sur l'API, voir GetUsagePlanla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-usage-plans.

AWS CLI

Pour obtenir les détails de tous les plans d’utilisation

Commande :

aws apigateway get-usage-plans
  • Pour plus de détails sur l'API, voir GetUsagePlansla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-usage.

AWS CLI

Pour obtenir les détails d’utilisation d’un plan d’utilisation

Commande :

aws apigateway get-usage --usage-plan-id a1b2c3 --start-date "2016-08-16" --end-date "2016-08-17"
  • Pour plus de détails sur l'API, voir GetUsagela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserimport-rest-api.

AWS CLI

Pour importer un modèle Swagger et créer une API

Commande :

aws apigateway import-rest-api --body 'file:///path/to/API_Swagger_template.json'
  • Pour plus de détails sur l'API, voir ImportRestApila section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-integration-response.

AWS CLI

Pour créer une réponse d’intégration comme réponse par défaut avec un modèle de mappage défini

Commande :

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

Pour créer une réponse d’intégration avec une expression régulière de 400 et une valeur d’en-tête définie statiquement

Commande :

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'exemple de code suivant montre comment utiliserput-integration.

AWS CLI

Pour créer une demande d’intégration MOCK

Commande :

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

Pour créer une demande d’intégration HTTP

Commande :

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'

Pour créer une demande d' AWS intégration avec un point de terminaison de fonction Lambda

Commande :

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'
  • Pour plus de détails sur l'API, voir PutIntegrationla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-method-response.

AWS CLI

Pour créer une réponse de méthode sous le code d’état spécifié avec un en-tête de réponse de méthode personnalisé

Commande :

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"
  • Pour plus de détails sur l'API, voir PutMethodResponsela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-method.

AWS CLI

Pour créer une méthode pour une ressource dans une API sans autorisation, sans clé d’API et avec un en-tête de demande de méthode personnalisé

Commande :

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"
  • Pour plus de détails sur l'API, voir PutMethodla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserput-rest-api.

AWS CLI

Pour remplacer une API existante à l’aide d’un modèle Swagger

Commande :

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

Pour fusionner un modèle Swagger dans une API existante

Commande :

aws apigateway put-rest-api --rest-api-id 1234123412 --mode merge --body 'fileb:///path/to/API_Swagger_template.json'
  • Pour plus de détails sur l'API, voir PutRestApila section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserreject-domain-name-access-association.

AWS CLI

Pour refuser une association d’accès au nom de domaine

L’exemple reject-domain-name-access-association suivant rejette une association d’accès au nom de domaine entre un nom de domaine personnalisé privé et un point de terminaison d’un 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

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez la section Noms de domaine personnalisés pour le privé APIs dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

L'exemple de code suivant montre comment utilisertest-invoke-authorizer.

AWS CLI

Pour tester, invoquez une demande vers un mécanisme d’autorisation personnalisé, y compris l’en-tête et la valeur requis

Commande :

aws apigateway test-invoke-authorizer --rest-api-id 1234123412 --authorizer-id 5yid1t --headers Authorization='Value'
  • Pour plus de détails sur l'API, voir TestInvokeAuthorizerla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisertest-invoke-method.

AWS CLI

Pour tester, invoquez la ressource racine dans une API en effectuant une requête GET

Commande :

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

Pour effectuer un test, invoquez une sous-ressource dans une API en effectuant une demande GET avec une valeur de paramètre de chemin spécifiée

Commande :

aws apigateway test-invoke-method --rest-api-id 1234123412 --resource-id 3gapai --http-method GET --path-with-query-string '/pets/1'
  • Pour plus de détails sur l'API, voir TestInvokeMethodla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-account.

AWS CLI

Pour modifier l'ARN du rôle IAM pour la connexion aux journaux CloudWatch

Commande :

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

Sortie :

{ "cloudwatchRoleArn": "arn:aws:iam::123412341234:role/APIGatewayToCloudWatchLogs", "throttleSettings": { "rateLimit": 1000.0, "burstLimit": 2000 } }
  • Pour plus de détails sur l'API, voir UpdateAccountla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-api-key.

AWS CLI

Pour modifier le nom d’une clé d’API

Commande :

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

Sortie :

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

Pour désactiver la clé d’API

Commande :

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

Sortie :

{ "description": "currentDescription", "enabled": false, "stageKeys": [ "41t2j324r5/dev" ], "lastUpdatedDate": 1470086052, "createdDate": 1445460347, "id": "sNvjQDMReA1vEQPNzW8r3dXsU2rrD7fcjm2SiMnu", "name": "newName" }
  • Pour plus de détails sur l'API, voir UpdateApiKeyla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-authorizer.

AWS CLI

Pour modifier le nom du mécanisme d’autorisation personnalisé

Commande :

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

Sortie :

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

Pour modifier la fonction Lambda invoquée par le mécanisme d’autorisation personnalisé

Commande :

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'

Sortie :

{ "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" }
  • Pour plus de détails sur l'API, voir UpdateAuthorizerla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-base-path-mapping.

AWS CLI

Pour modifier le chemin de base d’un nom de domaine personnalisé

Commande :

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

Sortie :

{ "basePath": "v1", "restApiId": "1234123412", "stage": "api" }
  • Pour plus de détails sur l'API, voir UpdateBasePathMappingla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-client-certificate.

AWS CLI

Pour mettre à jour la description du certificat client

Commande :

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

L'exemple de code suivant montre comment utiliserupdate-deployment.

AWS CLI

Pour modifier la description d’un déploiement

Commande :

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

Sortie :

{ "description": "newDescription", "id": "ztt4m2", "createdDate": 1455218022 }
  • Pour plus de détails sur l'API, voir UpdateDeploymentla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-domain-name.

AWS CLI

Pour modifier le nom du certificat d’un nom de domaine personnalisé

L’exemple update-domain-name suivant modifie le nom du certificat d’un domaine personnalisé.

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'

Sortie :

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

Pour plus d’informations, consultez Configuration d’un nom de domaine personnalisé pour une API dans API Gateway dans le Guide du développeur Amazon API Gateway.

  • Pour plus de détails sur l'API, voir UpdateDomainNamela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-integration-response.

AWS CLI

Pour modifier un en-tête de réponse d’intégration afin d’obtenir un mappage statique de « * »

Commande :

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

Sortie :

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

Pour supprimer un en-tête de réponse d’intégration

Commande :

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'exemple de code suivant montre comment utiliserupdate-integration.

AWS CLI

Pour ajouter le modèle de mappage « Content-Type: application/json » configuré avec Input Passthrough

Commande :

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

Pour mettre à jour (remplacer) le modèle de mappage « Content-Type: application/json » configuré avec un modèle personnalisé

Commande :

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

Pour mettre à jour (remplacer) un modèle personnalisé associé à « Content-Type: application/json » avec Input Passthrough

Commande :

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

Pour supprimer le modèle de mappage « Content-Type: application/json »

Commande :

aws apigateway update-integration \ --rest-api-id a1b2c3d4e5 \ --resource-id a1b2c3 \ --http-method POST \ --patch-operations "op='remove',path='/requestTemplates/application~1json'"
  • Pour plus de détails sur l'API, voir UpdateIntegrationla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-method-response.

AWS CLI

Pour créer un nouvel en-tête de réponse de méthode pour la réponse 200 d’une méthode et le définir comme non obligatoire (par défaut)

Commande :

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"

Pour supprimer un modèle de réponse pour la réponse 200 dans une méthode

Commande :

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"
  • Pour plus de détails sur l'API, voir UpdateMethodResponsela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-method.

AWS CLI

Exemple 1 : pour modifier une méthode afin d’exiger une clé d’API

L’exemple update-method suivant modifie la méthode pour exiger une clé API.

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

Sortie :

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

Exemple 2 : pour modifier une méthode afin d’exiger une autorisation IAM

L’exemple update-method suivant modifie la méthode pour exiger une autorisation IAM.

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

Sortie :

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

Exemple 3 : pour modifier une méthode afin d’exiger une autorisation Lambda

L’exemple update-method suivant modifie la méthode pour exiger une autorisation 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"

Sortie :

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

Pour plus d’informations, consultez Création, configuration et test des plans d’utilisation avec l’interface de ligne de commande API Gateway et l’API REST et Contrôle et gestion de l’accès à une API REST dans API Gateway dans le Guide du développeur Amazon API Gateway.

  • Pour plus de détails sur l'API, voir UpdateMethodla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-model.

AWS CLI

Pour modifier la description d’un modèle dans une API

Commande :

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

Pour modifier le schéma d’un modèle dans une API

Commande :

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\" }"'
  • Pour plus de détails sur l'API, voir UpdateModella section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-resource.

AWS CLI

Pour déplacer une ressource et la placer sous une autre ressource parent dans une API

Commande :

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

Sortie :

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

Pour renommer une ressource (pathPart) dans une API

Commande :

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

Sortie :

{ "path": "/newresourcename", "pathPart": "newresourcename", "id": "1a2b3c", "parentId": "3c2b1a" }
  • Pour plus de détails sur l'API, voir UpdateResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-rest-api.

AWS CLI

Pour modifier le nom d’une API

Commande :

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

Pour modifier la description d’une API

Commande :

aws apigateway update-rest-api --rest-api-id 1234123412 --patch-operations op=replace,path=/description,value='New Description'
  • Pour plus de détails sur l'API, voir UpdateRestApila section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-stage.

AWS CLI

Exemple 1 : pour remplacer les paramètres d’étape d’une ressource et d’une méthode

L'update-stageexemple suivant remplace les paramètres de l'étape et désactive la request/response journalisation complète pour une ressource et une méthode spécifiques.

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

Sortie :

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

Pour plus d’informations, consultez Configuration d’une étape pour une API REST dans le Guide du développeur Amazon API Gateway.

Exemple 2 : pour mettre à jour les paramètres d’étape pour toutes les ressources et méthodes d’une étape d’API

L'update-stageexemple suivant active la request/response journalisation complète pour toutes les ressources et méthodes d'une étape d'API.

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

Sortie :

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

Pour plus d’informations, consultez Configuration d’une étape pour une API REST dans le Guide du développeur Amazon API Gateway.

  • Pour plus de détails sur l'API, voir UpdateStagela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-usage-plan.

AWS CLI

Pour modifier la période définie dans un plan d’utilisation

Commande :

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

Pour modifier la limite de quota définie dans un plan d’utilisation

Commande :

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

Pour modifier la limite du taux de limitation définie dans un plan d’utilisation

Commande :

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

Pour modifier la limite du débit en rafale défini dans un plan d’utilisation

Commande :

aws apigateway update-usage-plan --usage-plan-id a1b2c3 --patch-operations op="replace",path="/throttle/burstLimit",value="20"
  • Pour plus de détails sur l'API, voir UpdateUsagePlanla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-usage.

AWS CLI

Pour modifier temporairement le quota d’une clé d’API pour la période en cours définie dans le plan d’utilisation

Commande :

aws apigateway update-usage --usage-plan-id a1b2c3 --key-id 1NbjQzMReAkeEQPNAW8r3dXsU2rDD7fc7f2Sipnu --patch-operations op="replace",path="/remaining",value="50"
  • Pour plus de détails sur l'API, voir UpdateUsagela section Référence des AWS CLI commandes.