API Gateway HTTP e esempi di WebSocket API che utilizzano AWS CLI - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

API Gateway HTTP e esempi di WebSocket API che utilizzano AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando HTTP e WebSocket API AWS Command Line Interface with API Gateway.

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

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarecreate-api-mapping.

AWS CLI

Come creare una mappatura API per un’API

L’esempio create-api-mapping seguente mappa la fase test di un’API al percorso /myApi del nome di dominio personalizzato regional.example.com.

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

Output:

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

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzarecreate-api.

AWS CLI

Come creare un’API HTTP

L’esempio create-api seguente crea un’API HTTP utilizzando la funzione di creazione rapida. Puoi utilizzare la creazione rapida per creare un'API con un'integrazione AWS Lambda o HTTP, un percorso generico predefinito e una fase predefinita configurata per distribuire automaticamente le modifiche. Il comando seguente utilizza la funzione di creazione rapida per creare un’API che si integra con una funzione Lambda.

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

Output:

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

Per ulteriori informazioni, consulta Sviluppo di API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Per creare un'API WebSocket

L'create-apiesempio seguente crea un' WebSocket API con il nome specificato.

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

Output:

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

Per ulteriori informazioni, consulta Creare un' WebSocket API in API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-authorizer.

AWS CLI

Come creare un sistema di autorizzazione JWT per un’API HTTP

L’esempio create-authorizer seguente crea un sistema di autorizzazione JWT che utilizza Amazon Cognito come gestore dell’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

Output:

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

Per ulteriori informazioni, consulta Controllare l'accesso a HTTP APIs con gli autorizzatori JWT nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-deployment.

AWS CLI

Come creare un’implementazione per un’API

L’esempio create-deployment seguente crea un’implementazione per un’API e la associa alla fase dev dell’API.

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

Output:

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

Per ulteriori informazioni, consulta la definizione di Distribuzione API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzarecreate-domain-name.

AWS CLI

Come creare un nome di dominio personalizzato

L’esempio create-domain-name seguente crea un nome di dominio regionale personalizzato per un’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

Output:

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

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzarecreate-integration.

AWS CLI

Per creare un'integrazione WebSocket API

L'create-integrationesempio seguente crea un'integrazione fittizia per un' WebSocket API.

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

Output:

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

Per ulteriori informazioni, consulta Configurare una richiesta di integrazione WebSocket API in API Gateway nella Amazon API Gateway Developer Guide.

Come creare un’integrazione per un’API HTTP

L'create-integrationesempio seguente crea un'integrazione AWS Lambda per un'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

Output:

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

Per ulteriori informazioni, consulta Configurazione delle integrazioni per HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-route.

AWS CLI

Per creare una route $default per un'API WebSocket o HTTP

L'create-routeesempio seguente crea una $default route per un'API WebSocket o HTTP.

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

Output:

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

Per ulteriori informazioni, consulta Working with routes for WebSocket APIs nella Amazon API Gateway Developer Guide

Come creare una route per un’API HTTP

L’esempio create-route seguente crea una route denominata signup che accetta richieste POST.

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

Output:

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

Per ulteriori informazioni, consulta Working with routes for HTTP APIs nella Amazon API Gateway Developer Guide

Il seguente esempio di codice mostra come utilizzarecreate-routing-rule.

AWS CLI

Come creare una regola di routing

L’esempio create-routing-rule seguente crea una regola di routing con 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" \ } \ } \ ]'

Output:

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

Per ulteriori informazioni, consulta Regole di routing per connettere le fasi dell'API a un nome di dominio personalizzato per REST APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-stage.

AWS CLI

Come creare una fase

L’esempio create-stage seguente crea una fase denominata dev per un’API.

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

Output:

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

Per ulteriori informazioni, consulta Working with stages for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-vpc-link.

AWS CLI

Come creare un link VPC per un’API HTTP

L'create-vpc-linkesempio seguente crea un collegamento VPC per HTTP. APIs

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

Output:

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

Per ulteriori informazioni, consulta Working with VPC links for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-access-log-settings.

AWS CLI

Come disabilitare la registrazione degli accessi per un’API

L’esempio delete-access-log-settings seguente elimina le impostazioni del log degli accessi per la fase $default di un’API. Per disabilitare la registrazione degli accessi per una fase, elimina le impostazioni del relativo log degli accessi.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Configurazione della registrazione dei log per le API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzaredelete-api-mapping.

AWS CLI

Come eliminare una mappatura API

L’esempio delete-api-mapping seguente elimina una mappatura API per il nome di dominio personalizzato api.example.com.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzaredelete-api.

AWS CLI

Come eliminare un’API

L’esempio delete-api seguente elimina un’API.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Working with HTTP APIs e Working with WebSocket APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-authorizer.

AWS CLI

Come eliminare un sistema di autorizzazione

L’esempio delete-authorizer seguente elimina un sistema di autorizzazione.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Controllare l'accesso a HTTP APIs con gli autorizzatori JWT nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-cors-configuration.

AWS CLI

Come eliminare la configurazione CORS per un’API HTTP

L’esempio delete-cors-configuration seguente disabilita CORS per un’API HTTP eliminando la relativa configurazione CORS.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Configurazione di CORS per le API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzaredelete-deployment.

AWS CLI

Come eliminare un’implementazione

L’esempio delete-deployment seguente elimina un’implementazione di un’API.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta la definizione di Distribuzione API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzaredelete-domain-name.

AWS CLI

Come eliminare un nome di dominio personalizzato

L’esempio delete-domain-name seguente elimina un nome di dominio personalizzato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzaredelete-integration.

AWS CLI

Come eliminare un’integrazione

L’esempio delete-integration seguente elimina un’integrazione API.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Configurazione delle integrazioni per HTTP APIs e Configurazione delle integrazioni WebSocket API nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-route-settings.

AWS CLI

Come eliminare le impostazioni di una route

L’esempio delete-route-settings seguente elimina le impostazioni di routing per la route specificata.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Working with routes for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-route.

AWS CLI

Come eliminare una route

L’esempio delete-route seguente elimina una route per l’API.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Working with routes for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-routing-rule.

AWS CLI

Come eliminare una regola di routing

L’esempio delete-routing-rule seguente elimina una regola di routing per un nome di dominio personalizzato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Regole di routing per connettere le fasi dell'API a un nome di dominio personalizzato per REST APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-stage.

AWS CLI

Come eliminare una fase

L’esempio delete-stage seguente elimina la fase test di un’API.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Working with stages for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-vpc-link.

AWS CLI

Come eliminare un link VPC per un’API HTTP

L’esempio delete-vpc-link seguente elimina un link VPC.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Working with VPC links for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareexport-api.

AWS CLI

Come esportare una definizione OpenAPI di un’API HTTP

L’esempio export-api seguente esporta una definizione OpenAPI 3.0 di una fase API denominata prod in un file YAML denominato stage-definition.yaml. Per impostazione predefinita il file di definizione esportato include le estensioni Gateway API.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Esportazione di API HTTP da Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareget-api-mapping.

AWS CLI

Come ottenere informazioni su una mappatura API per un nome di dominio personalizzato

L’esempio get-api-mapping seguente mostra le informazioni relative a una mappatura API per il nome di dominio personalizzato api.example.com.

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

Output:

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

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareget-api-mappings.

AWS CLI

Come ottenere le mappature API per un nome di dominio personalizzato

L’esempio get-api-mappings seguente mostra l’elenco di tutte le mappature API per il nome di dominio personalizzato api.example.com.

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

Output:

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

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareget-api.

AWS CLI

Come recuperare le informazioni relative a un’API

L’esempio get-api seguente mostra le informazioni relative a un’API.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareget-apis.

AWS CLI

Per recuperare un elenco di APIs

L'get-apisesempio seguente elenca tutti i dati APIs relativi all'utente corrente.

aws apigatewayv2 get-apis

Output:

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

Per ulteriori informazioni, consulta Working with HTTP APIs e Working with WebSocket APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-authorizer.

AWS CLI

Come recuperare le informazioni relative a un sistema di autorizzazione

L’esempio get-authorizer seguente mostra le informazioni relative a un sistema di autorizzazione.

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

Output:

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

Per ulteriori informazioni, consulta Controllare l'accesso a HTTP APIs con gli autorizzatori JWT nella Amazon API Gateway Developer Guide.

  • Per i dettagli sull'API, consulta AWS CLI Command GetAuthorizerReference.

Il seguente esempio di codice mostra come utilizzareget-authorizers.

AWS CLI

Come recuperare un elenco di sistemi di autorizzazione per un’API

L’esempio get-authorizers seguente mostra l’elenco di tutti i sistemi di autorizzazione per un’API.

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

Output:

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

Per ulteriori informazioni, consulta Controllare l'accesso a HTTP APIs con gli autorizzatori JWT nella Amazon API Gateway Developer Guide.

  • Per i dettagli sull'API, consulta AWS CLI Command GetAuthorizersReference.

Il seguente esempio di codice mostra come utilizzareget-deployment.

AWS CLI

Come recuperare le informazioni relative a un’implementazione

L’esempio get-deployment seguente mostra le informazioni relative a un’implementazione.

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

Output:

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

Per ulteriori informazioni, consulta la definizione di Distribuzione API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareget-deployments.

AWS CLI

Come recuperare un elenco di implementazioni

L’esempio get-deployments seguente mostra l’elenco di tutte le implementazioni di un’API.

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

Output:

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

Per ulteriori informazioni, consulta la definizione di Distribuzione API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareget-domain-name.

AWS CLI

Come recuperare le informazioni relative a un nome di dominio personalizzato

L’esempio get-domain-name seguente mostra le informazioni relative a un nome di dominio personalizzato.

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

Output:

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

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareget-domain-names.

AWS CLI

Come recuperare un elenco di nomi di dominio personalizzati

L’esempio get-domain-names seguente mostra l’elenco di tutti i nomi di dominio personalizzati per l’utente attuale.

aws apigatewayv2 get-domain-names

Output:

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

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareget-integration.

AWS CLI

Come recuperare le informazioni relative a un’integrazione

L’esempio get-integration seguente mostra le informazioni relative a un’integrazione.

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

Output:

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

Per ulteriori informazioni, consulta Configurazione delle integrazioni per HTTP APIs e Configurazione delle integrazioni WebSocket API nella Amazon API Gateway Developer Guide.

  • Per i dettagli sull'API, consulta Command GetIntegrationReference AWS CLI .

Il seguente esempio di codice mostra come utilizzareget-integrations.

AWS CLI

Come recuperare un elenco di integrazioni

L’esempio get-integrations seguente mostra l’elenco di tutte le integrazioni di un’API.

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

Output:

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

Per ulteriori informazioni, consulta Configurazione delle integrazioni per HTTP APIs e Configurazione delle integrazioni WebSocket API nella Amazon API Gateway Developer Guide.

  • Per i dettagli sull'API, consulta Command GetIntegrationsReference AWS CLI .

Il seguente esempio di codice mostra come utilizzareget-route.

AWS CLI

Come recuperare le informazioni relative a una route

L’esempio get-route seguente mostra le informazioni relative a una route.

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

Output:

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

Per ulteriori informazioni, consulta Working with routes for HTTP APIs nella Amazon API Gateway Developer Guide

Il seguente esempio di codice mostra come utilizzareget-routes.

AWS CLI

Come recuperare un elenco di route

L’esempio get-routes seguente mostra l’elenco di tutte le route di un’API.

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

Output:

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

Per ulteriori informazioni, consulta Working with routes for HTTP APIs nella Amazon API Gateway Developer Guide

Il seguente esempio di codice mostra come utilizzareget-routing-rule.

AWS CLI

Come ottenere una regola di routing

L’esempio get-routing-rule seguente ottiene una regola di routing per un nome di dominio.

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

Output:

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

Per ulteriori informazioni, consulta Regole di routing per connettere le fasi dell'API a un nome di dominio personalizzato per REST APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-stage.

AWS CLI

Come recuperare le informazioni relative a una fase

L’esempio get-stage seguente mostra le informazioni relative alla fase prod di un’API.

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

Output:

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

Per ulteriori informazioni, consulta Working with stages for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-stages.

AWS CLI

Come recuperare un elenco di fasi

L’esempio get-stages seguente elenca tutte le fasi di un’API.

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

Output:

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

Per ulteriori informazioni, consulta Working with stages for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-tags.

AWS CLI

Come recuperare un elenco di tag per una risorsa

L’esempio get-tags seguente elenca tutti i tag di un’API.

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

Output:

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

Per ulteriori informazioni, consulta Tagging delle risorse API Gateway nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareget-vpc-link.

AWS CLI

Come recuperare le informazioni relative a un link VPC

L’esempio get-vpc-link seguente mostra le informazioni relative a un collegamento VPC.

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

Output:

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

Per ulteriori informazioni, consulta Working with VPC links for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-vpc-links.

AWS CLI

Come recuperare un elenco di link VPC

L’esempio get-vpc-links seguente mostra l’elenco di tutti i collegamenti VPC per l’utente attuale.

aws apigatewayv2 get-vpc-links

Output:

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

Per ulteriori informazioni, consulta Working with VPC links for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareimport-api.

AWS CLI

Come importare un’API HTTP

L’esempio import-api seguente crea un’API HTTP da un file di definizione OpenAPI 3.0 denominato api-definition.yaml.

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

Contenuto di 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

Output:

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

Per ulteriori informazioni, consulta Lavorare con le definizioni di OpenAPI per HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarelist-routing-rules.

AWS CLI

Come elencare le regole di routing

L’esempio list-routing-rules seguente elenca le regole di routing per un nome di dominio.

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

Output:

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

Per ulteriori informazioni, consulta Regole di routing per connettere le fasi dell'API a un nome di dominio personalizzato per REST APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareput-routing-rule.

AWS CLI

Come aggiornare una regola di routing

L’esempio put-routing-rule seguente aggiorna la priorità di una regola di routing.

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

Output:

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

Per ulteriori informazioni, consulta Regole di routing per connettere le fasi dell'API a un nome di dominio personalizzato per REST APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarereimport-api.

AWS CLI

Come reimportare un’API HTTP

L’esempio reimport-api seguente aggiorna un’API HTTP esistente in modo che venga utilizzata la definizione OpenAPI 3.0 specificata in api-definition.yaml.

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

Contenuto di 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

Output:

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

Per ulteriori informazioni, consulta Lavorare con le definizioni di OpenAPI per HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Come taggare a una risorsa

L’esempio tag-resource seguente aggiunge un tag con il nome di chiave Department e il valore Accounting all’API specificata.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Tagging delle risorse API Gateway nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Come rimuovere tag da una risorsa

L’esempio untag-resource seguente rimuove i tag con i nomi di chiave Project e Owner dall’API specificata.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Tagging delle risorse API Gateway nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareupdate-api-mapping.

AWS CLI

Come aggiornare una mappatura API

L’esempio update-api-mapping seguente modifica una mappatura API per un nome di dominio personalizzato. Di conseguenza, l’URL di base che utilizza il nome del dominio personalizzato per l’API e la fase specificate diventa 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

Output:

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

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareupdate-api.

AWS CLI

Come abilitare CORS per un’API HTTP

L’esempio update-api seguente aggiorna la configurazione CORS dell’API specificata per consentire le richieste da https://www.example.com.

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

Output:

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

Per ulteriori informazioni, consulta Configurazione di CORS per le API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareupdate-authorizer.

AWS CLI

Come aggiornare un sistema di autorizzazione

L’esempio update-authorizer seguente modifica l’origine dell’identità di un sistema di autorizzazione JWT in un’intestazione denominata Authorization.

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

Output:

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

Per ulteriori informazioni, consulta Controllare l'accesso a HTTP APIs con gli autorizzatori JWT nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-deployment.

AWS CLI

Come modificare la descrizione di un’implementazione

L’esempio update-deployment seguente aggiorna la descrizione di un’implementazione.

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

Output:

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

Per ulteriori informazioni, consulta Sviluppo di API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareupdate-domain-name.

AWS CLI

Come aggiornare un nome di dominio personalizzato

L’esempio update-domain-name seguente specifica un nuovo certificato ACM per il nome di dominio personalizzato 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

Output:

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

Per ulteriori informazioni, consulta Configurazione di un nome di dominio personalizzato regionale in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareupdate-integration.

AWS CLI

Come aggiornare un’integrazione Lambda

L'update-integrationesempio seguente aggiorna un'integrazione AWS Lambda esistente per utilizzare la funzione Lambda specificata.

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

Output:

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

Per ulteriori informazioni, consulta Configurazione delle integrazioni per HTTP APIs e Configurazione delle integrazioni WebSocket API nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-route.

AWS CLI

Esempio 1: come aggiornare l’integrazione di una route

L’esempio update-route seguente aggiorna l’integrazione di una route specificata.

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

Output:

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

Esempio 2: come aggiungere un sistema di autorizzazione a una route

L’esempio update-route seguente aggiorna la route specificata in modo da utilizzare un sistema di autorizzazione JWT.

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

Output:

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

Per ulteriori informazioni, consulta Controllare l'accesso a HTTP APIs con gli autorizzatori JWT nella Amazon API Gateway Developer Guide.

  • Per i dettagli sull'API, consulta AWS CLI Command UpdateRouteReference.

Il seguente esempio di codice mostra come utilizzareupdate-stage.

AWS CLI

Come configurare una limitazione (della larghezza di banda della rete) personalizzata

L’esempio update-stage seguente configura una limitazione (della larghezza di banda della rete) personalizzata per la fase e la route specificate di un’API.

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

Output:

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

Per ulteriori informazioni, consulta Protezione delle API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Il seguente esempio di codice mostra come utilizzareupdate-vpc-link.

AWS CLI

Come aggiornare un link VPC

L’esempio update-vpc-link seguente aggiorna il nome di un collegamento VPC. Dopo aver creato un link VPC, non è possibile modificarne le sottoreti o i gruppi di sicurezza.

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

Output:

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

Per ulteriori informazioni, consulta Working with VPC links for HTTP APIs nella Amazon API Gateway Developer Guide.