Esempi per l’API WebSocket e HTTP per Gateway API con AWS CLI - AWS Command Line Interface

Esempi per l’API WebSocket e HTTP per Gateway API con AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando l’AWS Command Line Interface con l’API WebSocket e HTTP per Gateway API.

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

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare create-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.

  • Per informazioni dettagliate sull’API, consulta CreateApiMapping in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-api.

AWS CLI

Come creare un’API HTTP

L’esempio create-api seguente crea un’API HTTP utilizzando la funzione di creazione rapida. È possibile utilizzare la creazione rapida per creare un’API con un’integrazione AWS Lambda o HTTP, un instradamento catch-all di default e una fase predefinita configurata per implementare 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.

Come creare un’API WebSocket

L’esempio create-api seguente crea un’API WebSocket 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 Creazione di API WebSocket in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta CreateApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-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à digitale.

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 Controllo degli accessi alle API HTTP con provider di autorizzazioni JWT in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta CreateAuthorizer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-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 del concetto di implementazione API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta CreateDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-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.

  • Per informazioni dettagliate sull’API, consulta CreateDomainName in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-integration.

AWS CLI

Come creare un’integrazione per un’API WebSocket

L’esempio create-integration seguente crea un’integrazione fittizia per un’API WebSocket.

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 Impostazione di una richiesta di integrazione per API WebSocket in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Come creare un’integrazione per un’API HTTP

L’esempio create-integration 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, Creazione delle integrazioni per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta CreateIntegration in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-route.

AWS CLI

Come creare un instradamento $default per un’API WebSocket o HTTP

L’esempio create-route seguente crea un instradamento $default 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 Creazione di instradamenti per API WebSocket in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

Come creare un instradamento per un’API HTTP

L’esempio create-route seguente crea un instradamento denominato 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 Creazione di instradamenti per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta CreateRoute in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-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 API a un nome di dominio personalizzato per REST API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta CreateRoutingRule in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-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 Fasi per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta CreateStage in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-vpc-link.

AWS CLI

Come creare un collegamento VPC per un’API HTTP

L’esempio create-vpc-link seguente crea un collegamento VPC per le API HTTP.

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 Configurazione dei collegamenti VPC per le API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta CreateVpcLink in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-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.

L’esempio di codice seguente mostra come utilizzare delete-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.

  • Per informazioni dettagliate sull’API, consulta DeleteApiMapping in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-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 API HTTP di Gateway API e API WebSocket di Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta DeleteApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-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 Controllo degli accessi alle API HTTP con provider di autorizzazioni JWT in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta DeleteAuthorizer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-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.

L’esempio di codice seguente mostra come utilizzare delete-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 del concetto di implementazione API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta DeleteDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-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.

  • Per informazioni dettagliate sull’API, consulta DeleteDomainName in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-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 Creazione delle integrazioni per API HTTP in Gateway API e Integrazioni per API WebSocket in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta DeleteIntegration in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-route-settings.

AWS CLI

Come eliminare le impostazioni di un instradamento

L’esempio delete-route-settings seguente elimina le impostazioni di instradamento per l’instradamento specificato.

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 Creazione di instradamenti per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta DeleteRouteSettings in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-route.

AWS CLI

Come eliminare una route

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

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

Questo comando non produce alcun output.

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

  • Per informazioni dettagliate sull’API, consulta DeleteRoute in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-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 API a un nome di dominio personalizzato per REST API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta DeleteRoutingRule in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-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 Fasi per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta DeleteStage in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-vpc-link.

AWS CLI

Come eliminare un collegamento VPC per un’API HTTP

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

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

Questo comando non produce alcun output.

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

  • Per informazioni dettagliate sull’API, consulta DeleteVpcLink in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare export-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 API Gateway.

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.

  • Per informazioni dettagliate sull’API, consulta ExportApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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.

  • Per informazioni dettagliate sull’API, consulta GetApiMapping in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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.

  • Per informazioni dettagliate sull’API, consulta GetApiMappings in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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" } }
  • Per informazioni dettagliate sull’API, consulta GetApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-apis.

AWS CLI

Come recuperare un elenco di API

L’esempio get-apis seguente elenca tutte le API per l’utente attuale.

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 API HTTP di Gateway API e API WebSocket di Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetApis in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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 Controllo degli accessi alle API HTTP con provider di autorizzazioni JWT in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetAuthorizer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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 Controllo degli accessi alle API HTTP con provider di autorizzazioni JWT in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetAuthorizers in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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 del concetto di implementazione API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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 del concetto di implementazione API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetDeployments in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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.

  • Per informazioni dettagliate sull’API, consulta GetDomainName in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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.

  • Per informazioni dettagliate sull’API, consulta GetDomainNames in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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 Creazione delle integrazioni per API HTTP in Gateway API e Integrazioni per API WebSocket in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetIntegration in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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 Creazione delle integrazioni per API HTTP in Gateway API e Integrazioni per API WebSocket in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetIntegrations in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-route.

AWS CLI

Come recuperare le informazioni relative a un instradamento

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

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 Creazione di instradamenti per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetRoute in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-routes.

AWS CLI

Come recuperare un elenco di instradamenti

L’esempio get-routes seguente mostra l’elenco di tutti gli instradamenti 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 Creazione di instradamenti per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetRoutes in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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 API a un nome di dominio personalizzato per REST API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetRoutingRule in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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 Fasi per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetStage in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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 Fasi per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetStages in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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.

  • Per informazioni dettagliate sull’API, consulta GetTags in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-vpc-link.

AWS CLI

Come recuperare le informazioni relative a un collegamento 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 Configurazione dei collegamenti VPC per le API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetVpcLink in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-vpc-links.

AWS CLI

Come recuperare un elenco di collegamenti 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 Configurazione dei collegamenti VPC per le API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta GetVpcLinks in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare import-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 Utilizzo delle definizioni OpenAPI per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta ImportApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-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 API a un nome di dominio personalizzato per REST API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta ListRoutingRules in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-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 API a un nome di dominio personalizzato per REST API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta PutRoutingRule in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare reimport-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 Utilizzo delle definizioni OpenAPI per API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta ReimportApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare tag-resource.

AWS CLI

Come aggiungere un tag 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.

  • Per informazioni dettagliate sull’API, consulta TagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare untag-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.

  • Per informazioni dettagliate sull’API, consulta UntagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-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.

  • Per informazioni dettagliate sull’API, consulta UpdateApiMapping in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-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.

  • Per informazioni dettagliate sull’API, consulta UpdateApi in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-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 Controllo degli accessi alle API HTTP con provider di autorizzazioni JWT in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta UpdateAuthorizer in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-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.

  • Per informazioni dettagliate sull’API, consulta UpdateDeployment in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-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.

  • Per informazioni dettagliate sull’API, consulta UpdateDomainName in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-integration.

AWS CLI

Come aggiornare un’integrazione Lambda

L’esempio update-integration seguente aggiorna un’integrazione AWS Lambda esistente in modo che venga utilizzata 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 Creazione delle integrazioni per API HTTP in Gateway API e Integrazioni per API WebSocket in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta UpdateIntegration in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-route.

AWS CLI

Esempio 1: aggiornare l’integrazione di un instradamento

L’esempio update-route seguente aggiorna l’integrazione di un instradamento specificato.

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: aggiungere un sistema di autorizzazione a un instradamento

L’esempio update-route seguente aggiorna l’instradamento specificato 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 Controllo degli accessi alle API HTTP con provider di autorizzazioni JWT in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta UpdateRoute in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-stage.

AWS CLI

Come configurare una limitazione personalizzata

L’esempio update-stage seguente configura una limitazione personalizzata per la fase e l’instradamento specificati 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.

  • Per informazioni dettagliate sull’API, consulta UpdateStage in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-vpc-link.

AWS CLI

Come aggiornare un collegamento VPC

L’esempio update-vpc-link seguente aggiorna il nome di un collegamento VPC. Dopo aver creato un collegamento 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 Configurazione dei collegamenti VPC per le API HTTP in Gateway API nella Guida per gli sviluppatori di Gateway Amazon API.

  • Per informazioni dettagliate sull’API, consulta UpdateVpcLink in AWS CLI Command Reference.