Exemples d’utilisation de l’AWS CLI avec API Gateway - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec API Gateway

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec 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 utiliser create-api-key.

AWS CLI

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

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, consultez CreateApiKey dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-authorizer.

AWS CLI

Exemple 1 : pour créer un mécanisme d’autorisation personnalisé 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é 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é 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é 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, consultez CreateAuthorizer dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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, consultez CreateBasePathMapping dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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 au stade du développement’ --variables key=’value’,otherKey=’otherValue’

  • Pour plus de détails sur l’API, consultez CreateDeployment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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 le 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 Noms de domaine personnalisés pour les API privées dans API Gateway dans le Manuel du développeur Amazon API Gateway.

L’exemple de code suivant montre comment utiliser create-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 Nom de domaine personnalisé pour les API REST publiques dans API Gateway dans le Manuel du développeur Amazon API Gateway.

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 Nom de domaine personnalisé pour les API REST publiques dans API Gateway dans le Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez CreateDomainName dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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, consultez CreateModel dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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, consultez CreateResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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, consultez CreateRestApi dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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, consultez CreateStage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-usage-plan-key.

AWS CLI

Association d’/ 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, consultez CreateUsagePlanKey dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-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, consultez CreateUsagePlan dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteApiKey dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteAuthorizer dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteBasePathMapping dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteClientCertificate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteDeployment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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 de 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 Noms de domaine personnalisés pour les API privées dans API Gateway dans le Manuel du développeur Amazon API Gateway.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteDomainName dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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 utiliser delete-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, consultez DeleteIntegration dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteMethodResponse dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteMethod dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteModel dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteRestApi dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteStage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteUsagePlanKey dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-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, consultez DeleteUsagePlan dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser flush-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 utiliser flush-stage-cache.

AWS CLI

Pour vider le cache d’une étape d’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 Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez FlushStageCache dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser generate-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 utiliser get-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, consultez GetAccount dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-api-key.

AWS CLI

Pour obtenir les 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, consultez GetApiKey dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetApiKeys dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetAuthorizer dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetAuthorizers dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetBasePathMapping dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetBasePathMappings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetClientCertificate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetClientCertificates dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-deployment.

AWS CLI

Pour obtenir les 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, consultez GetDeployment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetDeployments dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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 Noms de domaine personnalisés pour les API privées dans API Gateway dans le Manuel du développeur Amazon API Gateway.

Exemple 2 : pour répertorier toutes les associations d’accès au nom de domaine détenues par ce compte AWS

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

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 Noms de domaine personnalisés pour les API privées dans API Gateway dans le Manuel du développeur Amazon API Gateway.

L’exemple de code suivant montre comment utiliser get-domain-name.

AWS CLI

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

L’exemple get-domain-name suivant obtient les 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 Nom de domaine personnalisé pour les API REST publiques dans API Gateway dans le Manuel du développeur Amazon API Gateway.

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

L’exemple get-domain-name suivant obtient les 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 Nom de domaine personnalisé pour les API REST publiques dans API Gateway dans le Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez GetDomainName dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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 Noms de domaine personnalisés pour les API privées dans API Gateway dans le Manuel du développeur Amazon API Gateway.

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

La commande get-domain-names suivante obtient une liste des noms de domaine détenus par ce compte AWS.

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 Noms de domaine personnalisés pour les API privées dans API Gateway dans le Manuel du développeur Amazon API Gateway.

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

La commande get-domain-names suivante obtient une liste des noms de domaine détenus par d’autres comptes AWS auxquels vous avez accès pour créer une association d’accès au nom 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 Noms de domaine personnalisés pour les API privées dans API Gateway dans le Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez GetDomainNames dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetExport dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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 } }
  • Pour plus de détails sur l’API, consultez GetIntegrationResponse dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetIntegration dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetMethodResponse dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetMethod dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetModelTemplate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetModel dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetModels dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-resource.

AWS CLI

Pour obtenir les 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, consultez GetResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetResources dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-rest-api.

AWS CLI

Pour obtenir les 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, consultez GetRestApi dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-rest-apis.

AWS CLI

Pour obtenir une liste des API REST

Commande :

aws apigateway get-rest-apis

Sortie :

{ "items": [ { "createdDate": 1438884790, "id": "12s44z21rb", "name": "My First API" } ] }
  • Pour plus de détails sur l’API, consultez GetRestApis dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetSdk dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-stage.

AWS CLI

Pour obtenir les informations sur une étape d’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, consultez GetStage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetStages dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetUsagePlanKey dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetUsagePlanKeys dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetUsagePlan dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetUsagePlans dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-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, consultez GetUsage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser import-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, consultez ImportRestApi dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-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 l’expression régulière 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'"'"'"}'
  • Pour plus de détails sur l’API, consultez PutIntegrationResponse dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-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’intégration AWS 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, consultez PutIntegration dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-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, consultez PutMethodResponse dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-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, consultez PutMethod dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-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, consultez PutRestApi dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser reject-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 le 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 Noms de domaine personnalisés pour les API privées dans API Gateway dans le Manuel du développeur Amazon API Gateway.

L’exemple de code suivant montre comment utiliser test-invoke-authorizer.

AWS CLI

Pour effectuer un test, 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, consultez TestInvokeAuthorizer dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser test-invoke-method.

AWS CLI

Pour effectuer un test, invoquez la ressource racine dans une API en effectuant une demande 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, consultez TestInvokeMethod dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-account.

AWS CLI

Pour modifier l’ARN du rôle IAM pour la journalisation vers CloudWatch Logs

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, consultez UpdateAccount dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdateApiKey dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdateAuthorizer dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdateBasePathMapping dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-client-certificate.

AWS CLI

Pour mettre à jour la description d’un certificat client

Commande :

aws apigateway update-client-certificate --client-certificate-id a1b2c3 --patch-operations op='replace',path='/description',value='My new description'
  • Pour plus de détails sur l’API, consultez UpdateClientCertificate dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdateDeployment dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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 Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez UpdateDomainName dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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 utiliser update-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, consultez UpdateIntegration dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-method-response.

AWS CLI

Pour créer un 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, consultez UpdateMethodResponse dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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é d’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 Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez UpdateMethod dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdateModel dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdateResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdateRestApi dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-stage.

AWS CLI

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

L’exemple update-stage suivant remplace les paramètres d’étape et désactive la journalisation complète des demandes/réponses 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 Manuel 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’exemple update-stage suivant active la journalisation complète des demandes/réponses 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 Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez UpdateStage dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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 limitation du débit en rafale définie 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, consultez UpdateUsagePlan dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-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, consultez UpdateUsage dans la Référence des commandes de l’AWS CLI.