Exemples d’utilisation de l’AWS CLI avec les API HTTP et WebSocket d’API Gateway - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec les API HTTP et WebSocket d’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 les API HTTP et WebSocket d’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-mapping.

AWS CLI

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

L’exemple create-api-mapping suivant mappe 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 Manuel du développeur Amazon API Gateway.

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

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

Pour créer une API WebSocket

L’exemple create-api suivant crée une API WebSocket 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 Création d’une API WebSocket dans API Gateway dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser create-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 Contrôle de l’accès aux API HTTP avec les mécanismes d’autorisation JWT dans le Manuel du développeur Amazon API Gateway.

  • 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-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 de l’API dans le Manuel du développeur Amazon API Gateway.

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

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

AWS CLI

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

L’exemple create-integration suivant crée une intégration simulée pour une API WebSocket.

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 Configuration d’une demande d’intégration d’API WebSocket dans API Gateway dans le Manuel du développeur Amazon API Gateway.

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

L’exemple create-integration 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 Configuration des intégrations pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

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

AWS CLI

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

L’exemple create-route suivant crée une route $default 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 Utilisation des routes pour les API WebSocket dans le Manuel du développeur Amazon API Gateway.

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 Utilisation des itinéraires pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser create-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 la priorité 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 Règles de routage pour connecter des étapes d’API à un nom de domaine personnalisé pour les API REST dans le Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez CreateRoutingRule 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

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 Utilisation des étapes pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

AWS CLI

Pour créer un lien VPC pour une API HTTP

L’exemple create-vpc-link suivant crée un lien VPC pour des API HTTP.

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 Utilisation des liens VPC pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser delete-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 les paramètres de son 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 Manuel du développeur Amazon API Gateway.

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

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

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

L’exemple de code suivant montre comment utiliser delete-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 Utilisation des API HTTP et Utilisation des API WebSocket dans le Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez DeleteApi 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

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 Contrôle de l’accès aux API HTTP avec les mécanismes d’autorisation JWT dans le Manuel du développeur Amazon API Gateway.

  • 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-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 Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez DeleteCorsConfiguration 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

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

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Déploiement de l’API dans le Manuel du développeur Amazon API Gateway.

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

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 Manuel du développeur Amazon API Gateway.

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

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 Configuration des intégrations pour les API HTTP et Configuration des intégrations d’API WebSocket dans le Manuel du développeur Amazon API Gateway.

  • 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-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 Utilisation des itinéraires pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser delete-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 Utilisation des itinéraires pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser delete-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 Règles de routage pour connecter des étapes d’API à un nom de domaine personnalisé pour les API REST dans le Manuel du développeur Amazon API Gateway.

  • Pour plus de détails sur l’API, consultez DeleteRoutingRule 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

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 Utilisation des étapes pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

  • 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-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 Utilisation des liens VPC pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

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

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

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

AWS CLI

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

L’exemple get-api-mapping suivant affiche les 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 Manuel du développeur Amazon API Gateway.

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

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

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

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

AWS CLI

Pour récupérer les informations sur une API

L’exemple get-api suivant affiche les 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, consultez GetApi dans la Référence des commandes de l’AWS CLI.

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

AWS CLI

Pour récupérer une liste des API

L’exemple get-apis suivant répertorie toutes les API 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 Utilisation des API HTTP et Utilisation des API WebSocket dans le Manuel du développeur Amazon API Gateway.

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

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

AWS CLI

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

L’exemple get-authorizer suivant affiche les 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 Contrôle de l’accès aux API HTTP avec les mécanismes d’autorisation JWT dans le Manuel du développeur Amazon API Gateway.

  • 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 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 Contrôle de l’accès aux API HTTP avec les mécanismes d’autorisation JWT dans le Manuel du développeur Amazon API Gateway.

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

AWS CLI

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

L’exemple get-deployment suivant affiche les 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 de l’API dans le Manuel du développeur Amazon API Gateway.

  • 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 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 de l’API dans le Manuel du développeur Amazon API Gateway.

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

AWS CLI

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

L’exemple get-domain-name suivant affiche les 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 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

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

AWS CLI

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

L’exemple get-integration suivant affiche les 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 Configuration des intégrations pour les API HTTP et Configuration des intégrations d’API WebSocket dans le Manuel du développeur Amazon API Gateway.

  • 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-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 Configuration des intégrations pour les API HTTP et Configuration des intégrations d’API WebSocket dans le Manuel du développeur Amazon API Gateway.

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

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

AWS CLI

Pour récupérer les informations sur une route

L’exemple get-route suivant affiche les 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 Utilisation des itinéraires pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser get-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 Utilisation des itinéraires pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser get-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 Règles de routage pour connecter des étapes d’API à un nom de domaine personnalisé pour les API REST dans le Manuel du développeur Amazon API Gateway.

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

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

AWS CLI

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

L’exemple get-stage suivant affiche les 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 Utilisation des étapes pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

  • 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 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 Utilisation des étapes pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

AWS CLI

Pour récupérer 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 Manuel du développeur Amazon API Gateway.

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

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

AWS CLI

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

L’exemple get-vpc-link suivant affiche les 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 Utilisation des liens VPC pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser get-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 Utilisation des liens VPC pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser import-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 Utilisation des définitions OpenAPI pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser list-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 Règles de routage pour connecter des étapes d’API à un nom de domaine personnalisé pour les API REST dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser put-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 Règles de routage pour connecter des étapes d’API à un nom de domaine personnalisé pour les API REST dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser reimport-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 Utilisation des définitions OpenAPI pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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

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

AWS CLI

Pour baliser une ressource

L’exemple tag-resource suivant ajoute une balise avec le nom de clé Department et la valeur 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 Manuel du développeur Amazon API Gateway.

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

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

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

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

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

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

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

L’exemple de code suivant montre comment utiliser update-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 Contrôle de l’accès aux API HTTP avec les mécanismes d’autorisation JWT dans le Manuel du développeur Amazon API Gateway.

  • 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-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 Manuel du développeur Amazon API Gateway.

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

AWS CLI

Pour mettre à jour une intégration Lambda

L’exemple update-integration 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 Configuration des intégrations pour les API HTTP et Configuration des intégrations d’API WebSocket dans le Manuel du développeur Amazon API Gateway.

  • 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-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 Contrôle de l’accès aux API HTTP avec les mécanismes d’autorisation JWT dans le Manuel du développeur Amazon API Gateway.

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

L’exemple de code suivant montre comment utiliser update-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ées 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 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-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 Utilisation des liens VPC pour les API HTTP dans le Manuel du développeur Amazon API Gateway.

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