API Gateway HTTP et exemples WebSocket d'API utilisant AWS CLI - AWS Command Line Interface

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.

API Gateway HTTP et exemples WebSocket d'API utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide du protocole HTTP et de l'API AWS Command Line Interface with WebSocket 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-mapping.

AWS CLI

Pour créer un mappage d’API pour une API

L’exemple create-api-mapping suivant fait correspondre l’étape test d’une API au chemin /myApi du nom de domaine personnalisé regional.example.com.

aws apigatewayv2 create-api-mapping \ --domain-name regional.example.com \ --api-mapping-key myApi \ --api-id a1b2c3d4 \ --stage test

Sortie :

{ "ApiId": "a1b2c3d4", "ApiMappingId": "0qzs2sy7bh", "ApiMappingKey": "myApi" "Stage": "test" }

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

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

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

AWS CLI

Pour créer une API HTTP

L’exemple create-api suivant crée une API HTTP à l’aide de la création rapide. Vous pouvez utiliser la création rapide pour créer une API avec une intégration AWS Lambda ou HTTP, une route fourre-tout par défaut et une étape par défaut configurée pour déployer automatiquement les modifications. La commande suivante utilise la création rapide pour créer une API HTTP qui s’intègre avec une fonction Lambda.

aws apigatewayv2 create-api \ --name my-http-api \ --protocol-type HTTP \ --target arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function

Sortie :

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-08T19:05:45+00:00", "Name": "my-http-api", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path" }

Pour plus d’informations, consultez Développement d’une API HTTP dans API Gateway dans le Guide du développeur Amazon API Gateway.

Pour créer une WebSocket API

L'create-apiexemple suivant crée une WebSocket API portant le nom spécifié.

aws apigatewayv2 create-api \ --name "myWebSocketApi" \ --protocol-type WEBSOCKET \ --route-selection-expression '$request.body.action'

Sortie :

{ "ApiKeySelectionExpression": "$request.header.x-api-key", "Name": "myWebSocketApi", "CreatedDate": "2018-11-15T06:23:51Z", "ProtocolType": "WEBSOCKET", "RouteSelectionExpression": "'$request.body.action'", "ApiId": "aabbccddee" }

Pour plus d'informations, consultez la section Créer une WebSocket API dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour créer un mécanisme d’autorisation JWT pour une API HTTP

L’exemple create-authorizer suivant crée un mécanisme d’autorisation JWT qui utilise Amazon Cognito comme fournisseur d’identité.

aws apigatewayv2 create-authorizer \ --name my-jwt-authorizer \ --api-id a1b2c3d4 \ --authorizer-type JWT \ --identity-source '$request.header.Authorization' \ --jwt-configuration Audience=123456abc,Issuer=https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123

Sortie :

{ "AuthorizerId": "a1b2c3", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "123456abc" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123" }, "Name": "my-jwt-authorizer" }

Pour plus d'informations, consultez la section Contrôle de l'accès au protocole HTTP APIs avec les autorisateurs JWT dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour créer un déploiement pour une API

L’exemple create-deployment suivant crée un déploiement pour une API et l’associe à l’étape dev de l’API.

aws apigatewayv2 create-deployment \ --api-id a1b2c3d4 \ --stage-name dev

Sortie :

{ "AutoDeployed": false, "CreatedDate": "2020-04-06T23:38:08Z", "DeploymentId": "53lz9l", "DeploymentStatus": "DEPLOYED" }

Pour plus d’informations, consultez Déploiement d’une API dans le Guide du développeur Amazon API Gateway.

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

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

AWS CLI

Pour créer un nom de domaine personnalisé

L’exemple create-domain-name suivant crée le nom de domaine personnalisé régional pour une API.

aws apigatewayv2 create-domain-name \ --domain-name regional.example.com \ --domain-name-configurations CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678

Sortie :

{ "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "regional.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-id.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789111", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ] }

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

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

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

AWS CLI

Pour créer une intégration WebSocket d'API

L'create-integrationexemple suivant crée une intégration fictive pour une WebSocket API.

aws apigatewayv2 create-integration \ --api-id aabbccddee \ --passthrough-behavior WHEN_NO_MATCH \ --timeout-in-millis 29000 \ --connection-type INTERNET \ --integration-type MOCK

Sortie :

{ "ConnectionType": "INTERNET", "IntegrationId": "0abcdef", "IntegrationResponseSelectionExpression": "${integration.response.statuscode}", "IntegrationType": "MOCK", "PassthroughBehavior": "WHEN_NO_MATCH", "PayloadFormatVersion": "1.0", "TimeoutInMillis": 29000 }

Pour plus d'informations, consultez Configurer une demande d'intégration d' WebSocket API dans API Gateway dans le manuel Amazon API Gateway Developer Guide.

Pour créer une intégration de l’API HTTP

L'create-integrationexemple suivant crée une intégration AWS Lambda pour une API HTTP.

aws apigatewayv2 create-integration \ --api-id a1b2c3d4 \ --integration-type AWS_PROXY \ --integration-uri arn:aws:lambda:us-west-2:123456789012:function:my-function \ --payload-format-version 2.0

Sortie :

{ "ConnectionType": "INTERNET", "IntegrationId": "0abcdef", "IntegrationMethod": "POST", "IntegrationType": "AWS_PROXY", "IntegrationUri": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "PayloadFormatVersion": "2.0", "TimeoutInMillis": 30000 }

Pour plus d'informations, consultez la section Configuration des intégrations pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour créer une route $default pour une WebSocket ou une API HTTP

L'create-routeexemple suivant crée un $default itinéraire pour une API WebSocket ou HTTP.

aws apigatewayv2 create-route \ --api-id aabbccddee \ --route-key '$default'

Sortie :

{ "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteKey": "$default", "RouteId": "1122334" }

Pour plus d'informations, consultez la section Travailler avec des routes pour WebSocket APIs dans le manuel Amazon API Gateway Developer Guide

Pour créer une route pour une API HTTP

L’exemple create-route suivant crée une route nommée signup qui accepte les demandes POST.

aws apigatewayv2 create-route \ --api-id aabbccddee \ --route-key 'POST /signup'

Sortie :

{ "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteKey": "POST /signup", "RouteId": "1122334" }

Pour plus d'informations, consultez la section Travailler avec des routes pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide

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

L'exemple de code suivant montre comment utilisercreate-routing-rule.

AWS CLI

Pour créer une règle de routage

L’exemple create-routing-rule suivant crée une règle de routage avec une priorité de 50.

aws apigatewayv2 create-routing-rule \ --domain-name 'regional.example.com' \ --priority 50 \ --conditions '[ \ { \ "MatchBasePaths": { \ "AnyOf": [ \ "PetStoreShopper" \ ] \ } \ } \ ]' \ --actions '[ \ { \ "InvokeApi": { \ "ApiId": "abcd1234", \ "Stage": "prod" \ } \ } \ ]'

Sortie :

{ "Actions": [ { "InvokeApi": { "ApiId": "abcd1234", "Stage": "prod", "StripBasePath": false } } ], "Conditions": [ { "MatchBasePaths": { "AnyOf": [ "PetStoreShopper" ] } } ], "Priority": 50, "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111", "RoutingRuleId": "aaa111" }

Pour plus d'informations, consultez la section Règles de routage pour connecter les étapes d'API à un nom de domaine personnalisé pour REST APIs dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour créer une étape

L’exemple create-stage suivant crée une étape nommée dev pour une API.

aws apigatewayv2 create-stage \ --api-id a1b2c3d4 \ --stage-name dev

Sortie :

{ "CreatedDate": "2020-04-06T23:23:46Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "LastUpdatedDate": "2020-04-06T23:23:46Z", "RouteSettings": {}, "StageName": "dev", "StageVariables": {}, "Tags": {} }

Pour plus d'informations, consultez la section Travailler avec des étapes pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utilisercreate-vpc-link.

AWS CLI

Pour créer un lien VPC pour une API HTTP

L'create-vpc-linkexemple suivant crée un lien VPC pour HTTP. APIs

aws apigatewayv2 create-vpc-link \ --name MyVpcLink \ --subnet-ids subnet-aaaa subnet-bbbb \ --security-group-ids sg1234 sg5678

Sortie :

{ "CreatedDate": "2020-04-07T00:11:46Z", "Name": "MyVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd123", "VpcLinkStatus": "PENDING", "VpcLinkStatusMessage": "VPC link is provisioning ENIs", "VpcLinkVersion": "V2" }

Pour plus d'informations, consultez la section Utilisation de liens VPC pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utiliserdelete-access-log-settings.

AWS CLI

Pour désactiver la journalisation des accès pour une API

L’exemple delete-access-log-settings suivant supprime les paramètres du journal d’accès pour l’étape $default d’une API. Pour désactiver la journalisation des accès pour une étape, supprimez ses paramètres de journal d’accès.

aws apigatewayv2 delete-access-log-settings \ --api-id a1b2c3d4 \ --stage-name '$default'

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Configuration de la journalisation pour une API HTTP dans le Guide du développeur Amazon API Gateway.

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

AWS CLI

Pour supprimer un mappage d’API

L’exemple delete-api-mapping suivant supprime un mappage d’API pour le nom de domaine personnalisé api.example.com.

aws apigatewayv2 delete-api-mapping \ --api-mapping-id a1b2c3 \ --domain-name api.example.com

Cette commande ne produit aucune sortie.

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

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

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

AWS CLI

Pour supprimer une API

L’exemple delete-api suivant supprime une API.

aws apigatewayv2 delete-api \ --api-id a1b2c3d4

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez les sections Working with HTTP APIs et Working with WebSocket APIs dans le manuel Amazon API Gateway Developer Guide.

  • Pour plus de détails sur l'API, voir DeleteApila 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

L’exemple delete-authorizer suivant supprime un mécanisme d’autorisation.

aws apigatewayv2 delete-authorizer \ --api-id a1b2c3d4 \ --authorizer-id a1b2c3

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez la section Contrôle de l'accès au protocole HTTP APIs avec les autorisateurs JWT dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utiliserdelete-cors-configuration.

AWS CLI

Pour supprimer la configuration CORS d’une API HTTP

L’exemple delete-cors-configuration suivant désactive CORS pour une API HTTP en supprimant sa configuration CORS.

aws apigatewayv2 delete-cors-configuration \ --api-id a1b2c3d4

Cette commande ne produit aucune sortie.

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

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

AWS CLI

Pour supprimer un déploiement

L’exemple delete-deployment suivant supprime un déploiement d’une API.

aws apigatewayv2 delete-deployment \ --api-id a1b2c3d4 \ --deployment-id a1b2c3

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Déploiement d’une API dans le Guide du développeur Amazon API Gateway.

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

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

AWS CLI

Pour supprimer un nom de domaine personnalisé

L’exemple delete-domain-name suivant supprime un nom de domaine personnalisé.

aws apigatewayv2 delete-domain-name \ --domain-name api.example.com

Cette commande ne produit aucune sortie.

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

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

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

AWS CLI

Pour supprimer une intégration

L’exemple delete-integration suivant supprime une intégration d’API.

aws apigatewayv2 delete-integration \ --api-id a1b2c3d4 \ --integration-id a1b2c3

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez les sections Configuration des intégrations pour le protocole HTTP APIs et Configuration des intégrations d' WebSocket API dans le manuel du développeur Amazon API Gateway.

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

L'exemple de code suivant montre comment utiliserdelete-route-settings.

AWS CLI

Pour supprimer des paramètres de routage

L’exemple delete-route-settings suivant supprime les paramètres de routage pour la route spécifiée.

aws apigatewayv2 delete-route-settings \ --api-id a1b2c3d4 \ --stage-name dev \ --route-key 'GET /pets'

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez la section Travailler avec des routes pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour supprimer une route

L’exemple delete-route suivant supprime une route d’API.

aws apigatewayv2 delete-route \ --api-id a1b2c3d4 \ --route-id a1b2c3

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez la section Travailler avec des routes pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utiliserdelete-routing-rule.

AWS CLI

Pour supprimer une règle de routage

L’exemple delete-routing-rule suivant supprime une règle de routage pour un nom de domaine personnalisé.

aws apigatewayv2 delete-routing-rule \ --domain-name 'regional.example.com' \ --routing-rule-id aaa111

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez la section Règles de routage pour connecter les étapes d'API à un nom de domaine personnalisé pour REST APIs dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour supprimer une étape

L’exemple delete-stage suivant supprime l’étape test d’une API.

aws apigatewayv2 delete-stage \ --api-id a1b2c3d4 \ --stage-name test

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez la section Travailler avec des étapes pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utiliserdelete-vpc-link.

AWS CLI

Pour supprimer un lien VPC pour une API HTTP

L’exemple delete-vpc-link suivant supprime un lien VPC.

aws apigatewayv2 delete-vpc-link \ --vpc-link-id abcd123

Cette commande ne produit aucune sortie.

Pour plus d'informations, consultez la section Utilisation de liens VPC pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utiliserexport-api.

AWS CLI

Pour exporter une définition OpenAPI d’une API HTTP

L’exemple export-api suivant exporte une définition OpenAPI 3.0 d’une étape d’API nommée prod dans un fichier YAML intitulé stage-definition.yaml. Le fichier de définition exporté inclut les extensions API Gateway par défaut.

aws apigatewayv2 export-api \ --api-id a1b2c3d4 \ --output-type YAML \ --specification OAS30 \ --stage-name prod \ stage-definition.yaml

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Exportation d’une API HTTP à partir d’API Gateway dans le Guide du développeur Amazon API Gateway.

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

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

AWS CLI

Pour obtenir des informations sur un mappage d’API pour un nom de domaine personnalisé

L’exemple get-api-mapping suivant affiche des informations sur un mappage d’API pour le nom de domaine personnalisé api.example.com.

aws apigatewayv2 get-api-mapping \ --api-mapping-id a1b2c3 \ --domain-name api.example.com

Sortie :

{ "ApiId": "a1b2c3d4", "ApiMappingId": "a1b2c3d5", "ApiMappingKey": "myTestApi" "Stage": "test" }

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

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

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

AWS CLI

Pour obtenir des mappages d’API pour un nom de domaine personnalisé

L’exemple get-api-mappings suivant affiche une liste de tous les mappages d’API pour le nom de domaine personnalisé api.example.com.

aws apigatewayv2 get-api-mappings \ --domain-name api.example.com

Sortie :

{ "Items": [ { "ApiId": "a1b2c3d4", "ApiMappingId": "a1b2c3d5", "ApiMappingKey": "myTestApi" "Stage": "test" }, { "ApiId": "a5b6c7d8", "ApiMappingId": "a1b2c3d6", "ApiMappingKey": "myDevApi" "Stage": "dev" }, ] }

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

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

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

AWS CLI

Pour récupérer des informations sur une API

L’exemple get-api suivant affiche des informations sur une API.

aws apigatewayv2 get-api \ --api-id a1b2c3d4

Sortie :

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-03-28T00:32:37Z", "Name": "my-api", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": { "department": "finance" } }
  • Pour plus de détails sur l'API, voir GetApila section Référence des AWS CLI commandes.

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

AWS CLI

Pour récupérer une liste de APIs

L'get-apisexemple suivant répertorie toutes les informations APIs pour l'utilisateur actuel.

aws apigatewayv2 get-apis

Sortie :

{ "Items": [ { "ApiEndpoint": "wss://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-07T20:21:59Z", "Name": "my-websocket-api", "ProtocolType": "WEBSOCKET", "RouteSelectionExpression": "$request.body.message", "Tags": {} }, { "ApiEndpoint": "https://a1b2c3d5.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d5", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-07T20:23:50Z", "Name": "my-http-api", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": {} } ] }

Pour plus d'informations, consultez les sections Working with HTTP APIs et Working with WebSocket APIs dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour récupérer des informations sur un mécanisme d’autorisation

L’exemple get-authorizer suivant affiche des informations sur un mécanisme d’autorisation.

aws apigatewayv2 get-authorizer \ --api-id a1b2c3d4 \ --authorizer-id a1b2c3

Sortie :

{ "AuthorizerId": "a1b2c3", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "123456abc" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123" }, "Name": "my-jwt-authorizer" }

Pour plus d'informations, consultez la section Contrôle de l'accès au protocole HTTP APIs avec les autorisateurs JWT dans le manuel Amazon API Gateway Developer Guide.

  • 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 récupérer une liste des mécanismes d’autorisation pour une API

L’exemple get-authorizers suivant affiche une liste de tous les mécanismes d’autorisation pour une API.

aws apigatewayv2 get-authorizers \ --api-id a1b2c3d4

Sortie :

{ "Items": [ { "AuthorizerId": "a1b2c3", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "123456abc" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123" }, "Name": "my-jwt-authorizer" }, { "AuthorizerId": "a1b2c4", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "6789abcde" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc234" }, "Name": "new-jwt-authorizer" } ] }

Pour plus d'informations, consultez la section Contrôle de l'accès au protocole HTTP APIs avec les autorisateurs JWT dans le manuel Amazon API Gateway Developer Guide.

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

AWS CLI

Pour récupérer des informations sur un déploiement

L’exemple get-deployment suivant affiche des informations sur un déploiement.

aws apigatewayv2 get-deployment \ --api-id a1b2c3d4 \ --deployment-id abcdef

Sortie :

{ "AutoDeployed": true, "CreatedDate": "2020-04-07T23:58:40Z", "DeploymentId": "abcdef", "DeploymentStatus": "DEPLOYED", "Description": "Automatic deployment triggered by changes to the Api configuration" }

Pour plus d’informations, consultez Déploiement d’une API dans le Guide du développeur Amazon API Gateway.

  • 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 récupérer une liste des déploiements

L’exemple get-deployments suivant affiche une liste de tous les déploiements d’une API.

aws apigatewayv2 get-deployments \ --api-id a1b2c3d4

Sortie :

{ "Items": [ { "AutoDeployed": true, "CreatedDate": "2020-04-07T23:58:40Z", "DeploymentId": "abcdef", "DeploymentStatus": "DEPLOYED", "Description": "Automatic deployment triggered by changes to the Api configuration" }, { "AutoDeployed": true, "CreatedDate": "2020-04-06T00:33:00Z", "DeploymentId": "bcdefg", "DeploymentStatus": "DEPLOYED", "Description": "Automatic deployment triggered by changes to the Api configuration" } ] }

Pour plus d’informations, consultez Déploiement d’une API dans le Guide du développeur Amazon API Gateway.

  • 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.

AWS CLI

Pour récupérer les informations sur un nom de domaine personnalisé

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

aws apigatewayv2 get-domain-name \ --domain-name api.example.com

Sortie :

{ "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "api.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-1234.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789111", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ], "Tags": {} }

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

  • 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

Pour récupérer une liste des noms de domaine personnalisés

L’exemple get-domain-names suivant affiche une liste de tous les noms de domaine personnalisés pour l’utilisateur actuel.

aws apigatewayv2 get-domain-names

Sortie :

{ "Items": [ { "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "api.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-1234.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789111", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ] }, { "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "newApi.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-5678.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789222", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ] } ] }

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

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

AWS CLI

Pour récupérer des informations sur une intégration

L’exemple get-integration suivant affiche des informations sur une intégration.

aws apigatewayv2 get-integration \ --api-id a1b2c3d4 \ --integration-id a1b2c3

Sortie :

{ "ApiGatewayManaged": true, "ConnectionType": "INTERNET", "IntegrationId": "a1b2c3", "IntegrationMethod": "POST", "IntegrationType": "AWS_PROXY", "IntegrationUri": "arn:aws:lambda:us-west-2:12356789012:function:hello12", "PayloadFormatVersion": "2.0", "TimeoutInMillis": 30000 }

Pour plus d'informations, consultez les sections Configuration des intégrations pour le protocole HTTP APIs et Configuration des intégrations d' WebSocket API dans le manuel du développeur Amazon API Gateway.

  • 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-integrations.

AWS CLI

Pour récupérer une liste d’intégrations

L’exemple get-integrations suivant affiche une liste de toutes les intégrations d’une API.

aws apigatewayv2 get-integrations \ --api-id a1b2c3d4

Sortie :

{ "Items": [ { "ApiGatewayManaged": true, "ConnectionType": "INTERNET", "IntegrationId": "a1b2c3", "IntegrationMethod": "POST", "IntegrationType": "AWS_PROXY", "IntegrationUri": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "PayloadFormatVersion": "2.0", "TimeoutInMillis": 30000 }, { "ConnectionType": "INTERNET", "IntegrationId": "a1b2c4", "IntegrationMethod": "ANY", "IntegrationType": "HTTP_PROXY", "IntegrationUri": "https://www.example.com", "PayloadFormatVersion": "1.0", "TimeoutInMillis": 30000 } ] }

Pour plus d'informations, consultez les sections Configuration des intégrations pour le protocole HTTP APIs et Configuration des intégrations d' WebSocket API dans le manuel du développeur Amazon API Gateway.

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

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

AWS CLI

Pour récupérer des informations sur une route

L’exemple get-route suivant affiche des informations sur une route.

aws apigatewayv2 get-route \ --api-id a1b2c3d4 \ --route-id 72jz1wk

Sortie :

{ "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteId": "72jz1wk", "RouteKey": "ANY /pets", "Target": "integrations/a1b2c3" }

Pour plus d'informations, consultez la section Travailler avec des routes pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide

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

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

AWS CLI

Pour récupérer une liste des routes

L’exemple get-routes suivant affiche une liste de toutes les routes d’une API.

aws apigatewayv2 get-routes \ --api-id a1b2c3d4

Sortie :

{ "Items": [ { "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteId": "72jz1wk", "RouteKey": "ANY /admin", "Target": "integrations/a1b2c3" }, { "ApiGatewayManaged": true, "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteId": "go65gqi", "RouteKey": "$default", "Target": "integrations/a1b2c4" } ] }

Pour plus d'informations, consultez la section Travailler avec des routes pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide

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

L'exemple de code suivant montre comment utiliserget-routing-rule.

AWS CLI

Pour obtenir une règle de routage

L’exemple get-routing-rule suivant obtient une règle de routage pour un nom de domaine.

aws apigatewayv2 get-routing-rule \ --domain-name 'regional.example.com' \ --routing-rule-id aaa111

Sortie :

{ "Actions": [ { "InvokeApi": { "ApiId": "abcd1234", "Stage": "prod", "StripBasePath": false } } ], "Conditions": [ { "MatchBasePaths": { "AnyOf": [ "PetStoreShopper" ] } } ], "Priority": 50, "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111", "RoutingRuleId": "aaa111" }

Pour plus d'informations, consultez la section Règles de routage pour connecter les étapes d'API à un nom de domaine personnalisé pour REST APIs dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour récupérer des informations sur une étape

L’exemple get-stage suivant affiche des informations sur l’étape prod d’une API.

aws apigatewayv2 get-stage \ --api-id a1b2c3d4 \ --stage-name prod

Sortie :

{ "CreatedDate": "2020-04-08T00:36:05Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "DeploymentId": "x1zwyv", "LastUpdatedDate": "2020-04-08T00:36:13Z", "RouteSettings": {}, "StageName": "prod", "StageVariables": { "function": "my-prod-function" }, "Tags": {} }

Pour plus d'informations, consultez la section Travailler avec des étapes pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

  • 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 récupérer une liste des étapes

L’exemple get-stages suivant répertorie toutes les étapes d’une API.

aws apigatewayv2 get-stages \ --api-id a1b2c3d4

Sortie :

{ "Items": [ { "ApiGatewayManaged": true, "AutoDeploy": true, "CreatedDate": "2020-04-08T00:08:44Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "DeploymentId": "dty748", "LastDeploymentStatusMessage": "Successfully deployed stage with deployment ID 'dty748'", "LastUpdatedDate": "2020-04-08T00:09:49Z", "RouteSettings": {}, "StageName": "$default", "StageVariables": {}, "Tags": {} }, { "AutoDeploy": true, "CreatedDate": "2020-04-08T00:35:06Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "LastUpdatedDate": "2020-04-08T00:35:48Z", "RouteSettings": {}, "StageName": "dev", "StageVariables": { "function": "my-dev-function" }, "Tags": {} }, { "CreatedDate": "2020-04-08T00:36:05Z", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "DeploymentId": "x1zwyv", "LastUpdatedDate": "2020-04-08T00:36:13Z", "RouteSettings": {}, "StageName": "prod", "StageVariables": { "function": "my-prod-function" }, "Tags": {} } ] }

Pour plus d'informations, consultez la section Travailler avec des étapes pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

  • 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-tags.

AWS CLI

Pour extraire une liste de balises pour une ressource

L’exemple get-tags suivant répertorie toutes les balises d’une API.

aws apigatewayv2 get-tags \ --resource-arn arn:aws:apigateway:us-west-2::/apis/a1b2c3d4

Sortie :

{ "Tags": { "owner": "dev-team", "environment": "prod" } }

Pour plus d’informations, consultez Ajout de balises à vos ressources API Gateway dans le Guide du développeur Amazon API Gateway.

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

L'exemple de code suivant montre comment utiliserget-vpc-link.

AWS CLI

Pour récupérer des informations sur un lien VPC

L’exemple get-vpc-link suivant affiche des informations sur un lien VPC.

aws apigatewayv2 get-vpc-link \ --vpc-link-id abcd123

Sortie :

{ "CreatedDate": "2020-04-07T00:27:47Z", "Name": "MyVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd123", "VpcLinkStatus": "AVAILABLE", "VpcLinkStatusMessage": "VPC link is ready to route traffic", "VpcLinkVersion": "V2" }

Pour plus d'informations, consultez la section Utilisation de liens VPC pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utiliserget-vpc-links.

AWS CLI

Pour récupérer une liste de liens VPC

L’exemple get-vpc-links suivant affiche une liste de tous les liens VPC pour l’utilisateur actuel.

aws apigatewayv2 get-vpc-links

Sortie :

{ "Items": [ { "CreatedDate": "2020-04-07T00:27:47Z", "Name": "MyVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd123", "VpcLinkStatus": "AVAILABLE", "VpcLinkStatusMessage": "VPC link is ready to route traffic", "VpcLinkVersion": "V2" } { "CreatedDate": "2020-04-07T00:27:47Z", "Name": "MyOtherVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd456", "VpcLinkStatus": "AVAILABLE", "VpcLinkStatusMessage": "VPC link is ready to route traffic", "VpcLinkVersion": "V2" } ] }

Pour plus d'informations, consultez la section Utilisation de liens VPC pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour importer une API HTTP

L’exemple import-api suivant crée une API HTTP à partir d’un fichier de définition OpenAPI 3.0 nommé api-definition.yaml.

aws apigatewayv2 import-api \ --body file://api-definition.yaml

Contenu de api-definition.yaml :

openapi: 3.0.1 info: title: My Lambda API version: v1.0 paths: /hello: x-amazon-apigateway-any-method: x-amazon-apigateway-integration: payloadFormatVersion: 2.0 type: aws_proxy httpMethod: POST uri: arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:hello/invocations connectionType: INTERNET

Sortie :

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-08T17:19:38+00:00", "Name": "My Lambda API", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": {}, "Version": "v1.0" }

Pour plus d'informations, consultez la section Travailler avec les définitions OpenAPI pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utiliserlist-routing-rules.

AWS CLI

Pour répertorier des règles de routage

L’exemple list-routing-rules suivant répertorie les règles de routage pour un nom de domaine.

aws apigatewayv2 list-routing-rules \ --domain-name 'regional.example.com'

Sortie :

{ "RoutingRules": [ { "Actions": [ { "InvokeApi": { "ApiId": "abcd1234", "Stage": "prod", "StripBasePath": false } } ], "Conditions": [ { "MatchBasePaths": { "AnyOf": [ "PetStoreShopper" ] } } ], "Priority": 150, "RoutingRuleArn": "arn:aws:apigateway:us-east-1:123456789012:/domainnames/regional.example.com/routingrules/aaa111", "RoutingRuleId": "aaa111" } ] }

Pour plus d'informations, consultez la section Règles de routage pour connecter les étapes d'API à un nom de domaine personnalisé pour REST APIs dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utiliserput-routing-rule.

AWS CLI

Pour mettre à jour une règle de routage

L’exemple put-routing-rule suivant met à jour la priorité d’une règle de routage.

aws apigatewayv2 put-routing-rule \ --domain-name 'regional.example.com' \ --priority 150 \ --conditions '[ \ { \ "MatchBasePaths": { \ "AnyOf": [ \ "PetStoreShopper" \ ] \ } \ } \ ]' \ --actions '[ \ { \ "InvokeApi": { \ "ApiId": "abcd1234", \ "Stage": "prod" \ } \ } \ ]'

Sortie :

{ "Actions": [ { "InvokeApi": { "ApiId": "abcd1234", "Stage": "prod", "StripBasePath": false } } ], "Conditions": [ { "MatchBasePaths": { "AnyOf": [ "PetStoreShopper" ] } } ], "Priority": 150, "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111", "RoutingRuleId": "aaa111" }

Pour plus d'informations, consultez la section Règles de routage pour connecter les étapes d'API à un nom de domaine personnalisé pour REST APIs dans le manuel Amazon API Gateway Developer Guide.

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

L'exemple de code suivant montre comment utiliserreimport-api.

AWS CLI

Pour réimporter une API HTTP

L’exemple reimport-api suivant met à jour une API HTTP existante afin d’utiliser la définition OpenAPI 3.0 spécifiée dans api-definition.yaml.

aws apigatewayv2 reimport-api \ --body file://api-definition.yaml \ --api-id a1b2c3d4

Contenu de api-definition.yaml :

openapi: 3.0.1 info: title: My Lambda API version: v1.0 paths: /hello: x-amazon-apigateway-any-method: x-amazon-apigateway-integration: payloadFormatVersion: 2.0 type: aws_proxy httpMethod: POST uri: arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:12356789012:function:hello/invocations connectionType: INTERNET

Sortie :

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CreatedDate": "2020-04-08T17:19:38+00:00", "Name": "My Lambda API", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": {}, "Version": "v1.0" }

Pour plus d'informations, consultez la section Travailler avec les définitions OpenAPI pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour baliser une ressource

L’exemple tag-resource suivant ajoute une balise avec le nom de clé Department et une valeur de Accounting à l’API spécifiée.

aws apigatewayv2 tag-resource \ --resource-arn arn:aws:apigateway:us-west-2::/apis/a1b2c3d4 \ --tags Department=Accounting

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Ajout de balises à vos ressources API Gateway dans le Guide du développeur Amazon API Gateway.

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

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

AWS CLI

Pour supprimer des balises d’une ressource

L’exemple untag-resource suivant supprime des balises portant les noms des clés Project et Owner de l’API spécifiée.

aws apigatewayv2 untag-resource \ --resource-arn arn:aws:apigateway:us-west-2::/apis/a1b2c3d4 \ --tag-keys Project Owner

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Ajout de balises à vos ressources API Gateway dans le Guide du développeur Amazon API Gateway.

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

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

AWS CLI

Pour mettre à jour un mappage d’API

L’exemple update-api-mapping suivant modifie un mappage d’API pour un nom de domaine personnalisé. En conséquence, l’URL de base utilisant le nom de domaine personnalisé pour l’API et l’étape spécifiées devient https://api.example.com/dev.

aws apigatewayv2 update-api-mapping \ --api-id a1b2c3d4 \ --stage dev \ --domain-name api.example.com \ --api-mapping-id 0qzs2sy7bh \ --api-mapping-key dev

Sortie :

{ "ApiId": "a1b2c3d4", "ApiMappingId": "0qzs2sy7bh", "ApiMappingKey": "dev" "Stage": "dev" }

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

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

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

AWS CLI

Pour activer CORS pour une API HTTP

L’exemple update-api suivant met à jour la configuration CORS de l’API spécifiée pour autoriser les demandes provenant de https://www.example.com.

aws apigatewayv2 update-api \ --api-id a1b2c3d4 \ --cors-configuration AllowOrigins=https://www.example.com

Sortie :

{ "ApiEndpoint": "https://a1b2c3d4.execute-api.us-west-2.amazonaws.com", "ApiId": "a1b2c3d4", "ApiKeySelectionExpression": "$request.header.x-api-key", "CorsConfiguration": { "AllowCredentials": false, "AllowHeaders": [ "header1", "header2" ], "AllowMethods": [ "GET", "OPTIONS" ], "AllowOrigins": [ "https://www.example.com" ] }, "CreatedDate": "2020-04-08T18:39:37+00:00", "Name": "my-http-api", "ProtocolType": "HTTP", "RouteSelectionExpression": "$request.method $request.path", "Tags": {}, "Version": "v1.0" }

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

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

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

AWS CLI

Pour mettre à jour un mécanisme d’autorisation

L’exemple update-authorizer suivant modifie la source d’identité d’un mécanisme d’autorisation JWT par un en-tête nommé Authorization.

aws apigatewayv2 update-authorizer \ --api-id a1b2c3d4 \ --authorizer-id a1b2c3 \ --identity-source '$request.header.Authorization'

Sortie :

{ "AuthorizerId": "a1b2c3", "AuthorizerType": "JWT", "IdentitySource": [ "$request.header.Authorization" ], "JwtConfiguration": { "Audience": [ "123456abc" ], "Issuer": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_abc123" }, "Name": "my-jwt-authorizer" }

Pour plus d'informations, consultez la section Contrôle de l'accès au protocole HTTP APIs avec les autorisateurs JWT dans le manuel Amazon API Gateway Developer Guide.

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

AWS CLI

Pour modifier la description d’un déploiement

L’exemple update-deployment suivant met à jour la description d’un déploiement.

aws apigatewayv2 update-deployment \ --api-id a1b2c3d4 \ --deployment-id abcdef \ --description 'Manual deployment to fix integration test failures.'

Sortie :

{ "AutoDeployed": false, "CreatedDate": "2020-02-05T16:21:48+00:00", "DeploymentId": "abcdef", "DeploymentStatus": "DEPLOYED", "Description": "Manual deployment to fix integration test failures." }

Pour plus d’informations, consultez Développement d’une API HTTP dans API Gateway dans le Guide du développeur Amazon API Gateway.

  • 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 mettre à jour un nom de domaine personnalisé

L’exemple update-domain-name suivant indique un nouveau certificat ACM pour le nom de domaine personnalisé api.example.com.

aws apigatewayv2 update-domain-name \ --domain-name api.example.com \ --domain-name-configurations CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678

Sortie :

{ "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "regional.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-id.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678", "EndpointType": "REGIONAL", "HostedZoneId": "123456789111", "SecurityPolicy": "TLS_1_2", "DomainNameStatus": "AVAILABLE" } ] }

Pour plus d’informations, consultez Configuration d’un nom de domaine personnalisé régional 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.

AWS CLI

Pour mettre à jour une intégration Lambda

L'update-integrationexemple suivant met à jour une intégration AWS Lambda existante pour utiliser la fonction Lambda spécifiée.

aws apigatewayv2 update-integration \ --api-id a1b2c3d4 \ --integration-id a1b2c3 \ --integration-uri arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:my-new-function/invocations

Sortie :

{ "ConnectionType": "INTERNET", "IntegrationId": "a1b2c3", "IntegrationMethod": "POST", "IntegrationType": "AWS_PROXY", "IntegrationUri": "arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:my-new-function/invocations", "PayloadFormatVersion": "2.0", "TimeoutInMillis": 5000 }

Pour plus d'informations, consultez les sections Configuration des intégrations pour le protocole HTTP APIs et Configuration des intégrations d' WebSocket API dans le manuel du développeur Amazon API Gateway.

  • 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-route.

AWS CLI

Exemple 1 : pour mettre à jour l’intégration d’une route

L’exemple update-route suivant met à jour l’intégration d’une route spécifiée.

aws apigatewayv2 update-route \ --api-id a1b2c3d4 \ --route-id a1b2c3 \ --target integrations/a1b2c6

Sortie :

{ "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteId": "a1b2c3", "RouteKey": "ANY /pets", "Target": "integrations/a1b2c6" }

Exemple 2 : pour ajouter un mécanisme d’autorisation à une route

L’exemple update-route suivant met à jour la route spécifiée pour utiliser un mécanisme d’autorisation JWT.

aws apigatewayv2 update-route \ --api-id a1b2c3d4 \ --route-id a1b2c3 \ --authorization-type JWT \ --authorizer-id a1b2c5 \ --authorization-scopes user.id user.email

Sortie :

{ "ApiKeyRequired": false, "AuthorizationScopes": [ "user.id", "user.email" ], "AuthorizationType": "JWT", "AuthorizerId": "a1b2c5", "OperationName": "GET HTTP", "RequestParameters": {}, "RouteId": "a1b2c3", "RouteKey": "GET /pets", "Target": "integrations/a1b2c6" }

Pour plus d'informations, consultez la section Contrôle de l'accès au protocole HTTP APIs avec les autorisateurs JWT dans le manuel Amazon API Gateway Developer Guide.

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

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

AWS CLI

Pour configurer une limitation personnalisée

L’exemple update-stage suivant configure la limitation personnalisée pour l’étape et la route spécifiés d’une API.

aws apigatewayv2 update-stage \ --api-id a1b2c3d4 \ --stage-name dev \ --route-settings '{"GET /pets":{"ThrottlingBurstLimit":100,"ThrottlingRateLimit":2000}}'

Sortie :

{ "CreatedDate": "2020-04-05T16:21:16+00:00", "DefaultRouteSettings": { "DetailedMetricsEnabled": false }, "DeploymentId": "shktxb", "LastUpdatedDate": "2020-04-08T22:23:17+00:00", "RouteSettings": { "GET /pets": { "ThrottlingBurstLimit": 100, "ThrottlingRateLimit": 2000.0 } }, "StageName": "dev", "StageVariables": {}, "Tags": {} }

Pour plus d’informations, consultez Protection de votre API HTTP dans le Guide du développeur Amazon API Gateway.

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

L'exemple de code suivant montre comment utiliserupdate-vpc-link.

AWS CLI

Pour mettre à jour un lien VPC

L’exemple update-vpc-link suivant met à jour le nom d’un lien VPC. Après avoir créé un lien VPC, vous ne pouvez pas modifier ses groupes de sécurité ou sous-réseaux.

aws apigatewayv2 update-vpc-link \ --vpc-link-id abcd123 \ --name MyUpdatedVpcLink

Sortie :

{ "CreatedDate": "2020-04-07T00:27:47Z", "Name": "MyUpdatedVpcLink", "SecurityGroupIds": [ "sg1234", "sg5678" ], "SubnetIds": [ "subnet-aaaa", "subnet-bbbb" ], "Tags": {}, "VpcLinkId": "abcd123", "VpcLinkStatus": "AVAILABLE", "VpcLinkStatusMessage": "VPC link is ready to route traffic", "VpcLinkVersion": "V2" }

Pour plus d'informations, consultez la section Utilisation de liens VPC pour HTTP APIs dans le manuel Amazon API Gateway Developer Guide.

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