APIGateway HTTP ed WebSocket API esempi di utilizzo AWS CLI - Esempi di codice dell'AWS SDK

Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples GitHub .

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

APIGateway HTTP ed WebSocket API esempi di utilizzo AWS CLI

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

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

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

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

AWS CLI

Per creare una API mappatura per un API

L'create-api-mappingesempio seguente mappa lo test stadio di an API al /myApi percorso del nome di dominio regional.example.com personalizzato.

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 API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-api.

AWS CLI

Per creare un HTTP API

L'create-apiesempio seguente crea un HTTP API utilizzando la creazione rapida. Puoi utilizzare la creazione rapida per creare un percorso API con AWS Lambda o HTTP integrazione, un percorso generico predefinito e uno stadio predefinito configurato per distribuire automaticamente le modifiche. Il comando seguente utilizza la creazione rapida per creare un file HTTP 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 Developing an HTTP API in API Gateway nella Amazon API Gateway Developer Guide.

Per creare un WebSocket API

L'create-apiesempio seguente crea un file 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 Create a WebSocket API in API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-authorizer.

AWS CLI

Per creare un JWT autorizzatore per un HTTP API

L'create-authorizeresempio seguente crea un JWT autorizzatore che utilizza Amazon Cognito come provider di 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 Controlling access to HTTP APIs with JWT authorizers nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-deployment.

AWS CLI

Per creare una distribuzione per un API

L'create-deploymentesempio seguente crea una distribuzione per un API e associa tale distribuzione alla dev fase di. 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 sezione relativa alla APIdistribuzione nell'Amazon API Gateway Developer Guide.

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

AWS CLI

Per creare un nome di dominio personalizzato

L'create-domain-nameesempio seguente crea un nome di dominio personalizzato regionale per unAPI.

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 API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarecreate-integration.

AWS CLI

Per creare un' WebSocket APIintegrazione

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 WebSocket API integrazione in API Gateway nella Amazon API Gateway Developer Guide.

Per creare un'HTTPAPIintegrazione

L'create-integrationesempio seguente crea un'integrazione AWS Lambda per un. HTTP API

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 la sezione Configurazione delle integrazioni 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 o WebSocket HTTP API

L'create-routeesempio seguente crea una $default rotta per un WebSocket o HTTPAPI.

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

Per creare un percorso per un HTTP API

L'create-routeesempio seguente crea una rotta denominata signup che accetta POST richieste.

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

AWS CLI

Per creare un palcoscenico

L'create-stageesempio seguente crea una fase denominata dev per unAPI.

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

Per creare un VPC collegamento per un HTTP API

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

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

Per disabilitare la registrazione degli accessi per un API

L'delete-access-log-settingsesempio seguente elimina le impostazioni del registro di accesso per la $default fase di un. API Per disabilitare la registrazione degli accessi per una fase, eliminate le relative impostazioni del registro di accesso.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Configuring logging for an HTTP API nella Amazon API Gateway Developer Guide.

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

AWS CLI

Per eliminare una API mappatura

L'delete-api-mappingesempio seguente elimina una API mappatura per il nome di dominio api.example.com personalizzato.

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 API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-api.

AWS CLI

Per eliminare un API

L'delete-apiesempio seguente elimina unAPI.

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

Questo comando non produce alcun output.

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

Il seguente esempio di codice mostra come utilizzaredelete-authorizer.

AWS CLI

Per eliminare un autorizzatore

L'delete-authorizeresempio seguente elimina un autorizzatore.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Controlling access to HTTP APIs with JWT authorizers nella Amazon API Gateway Developer Guide.

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

AWS CLI

Per eliminare la CORS configurazione di un HTTP API

L'delete-cors-configurationesempio seguente disabilita CORS for an HTTP API eliminandone la CORS configurazione.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Configuring CORS for an HTTP API nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-deployment.

AWS CLI

Per eliminare una distribuzione

L'delete-deploymentesempio seguente elimina una distribuzione di unAPI.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta la sezione relativa alla APIdistribuzione nell'Amazon API Gateway Developer Guide.

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

AWS CLI

Per eliminare un nome di dominio personalizzato

L'delete-domain-nameesempio 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 API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-integration.

AWS CLI

Per eliminare un'integrazione

L'delete-integrationesempio seguente elimina un'APIintegrazione.

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

Questo comando non produce alcun output.

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

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

AWS CLI

Per eliminare le impostazioni del percorso

L'delete-route-settingsesempio seguente elimina le impostazioni del percorso per il percorso 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 Working with routes for HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaredelete-route.

AWS CLI

Per eliminare un percorso

L'delete-routeesempio seguente elimina un API percorso.

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

AWS CLI

Per eliminare una fase

L'delete-stageesempio seguente elimina lo test stadio di unAPI.

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

Per eliminare un VPC collegamento per un HTTP API

L'delete-vpc-linkesempio seguente elimina un VPC collegamento.

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

Per esportare una API definizione aperta di un HTTP API

L'export-apiesempio seguente esporta una definizione Open API 3.0 di una API fase denominata prod in un YAML file denominatostage-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 un file HTTP API da API Gateway nella Amazon API Gateway Developer Guide.

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

AWS CLI

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

L'get-api-mappingesempio seguente visualizza informazioni su una API mappatura per il api.example.com nome di dominio personalizzato.

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 API Gateway nella Amazon API Gateway Developer Guide.

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

AWS CLI

Per ottenere API mappature per un nome di dominio personalizzato

L'get-api-mappingsesempio seguente visualizza un elenco di tutte le API mappature per il api.example.com nome di dominio personalizzato.

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 API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-api.

AWS CLI

Per recuperare informazioni su un API

L'get-apiesempio seguente visualizza informazioni su unAPI.

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 API i dettagli, vedere GetApiin AWS CLI Command Reference.

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 and Working with WebSocket APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-authorizer.

AWS CLI

Per recuperare informazioni su un autorizzatore

L'get-authorizeresempio seguente visualizza informazioni su un autorizzatore.

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 Controlling access to HTTP APIs with JWT authorizers nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-authorizers.

AWS CLI

Per recuperare un elenco di autorizzatori per un API

L'get-authorizersesempio seguente visualizza un elenco di tutti gli autorizzatori 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 Controlling access to HTTP APIs with JWT authorizers nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-deployment.

AWS CLI

Per recuperare informazioni su una distribuzione

L'get-deploymentesempio seguente visualizza informazioni su una distribuzione.

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 sezione relativa alla APIdistribuzione nell'Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-deployments.

AWS CLI

Per recuperare un elenco di distribuzioni

L'get-deploymentsesempio seguente mostra un elenco di tutte le distribuzioni di anAPI.

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 sezione relativa alla APIdistribuzione nell'Amazon API Gateway Developer Guide.

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

AWS CLI

Per recuperare informazioni su un nome di dominio personalizzato

L'get-domain-nameesempio seguente visualizza informazioni su 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 API Gateway nella Amazon API Gateway Developer Guide.

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

AWS CLI

Per recuperare un elenco di nomi di dominio personalizzati

L'get-domain-namesesempio seguente visualizza un elenco di tutti i nomi di dominio personalizzati per l'utente corrente.

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 API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-integration.

AWS CLI

Per recuperare informazioni su un'integrazione

L'get-integrationesempio seguente mostra informazioni su 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 HTTP APIs e Configurazione delle WebSocket API integrazioni nella Amazon API Gateway Developer Guide.

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

Il seguente esempio di codice mostra come utilizzareget-integrations.

AWS CLI

Per recuperare un elenco di integrazioni

L'get-integrationsesempio seguente mostra un elenco di tutte le integrazioni API di an.

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 HTTP APIs e Configurazione delle WebSocket API integrazioni nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareget-route.

AWS CLI

Per recuperare informazioni su un percorso

L'get-routeesempio seguente visualizza informazioni su un percorso.

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

Per recuperare un elenco di percorsi

L'get-routesesempio seguente mostra un elenco di tutti i percorsi API di an.

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

AWS CLI

Per recuperare informazioni su una fase

L'get-stageesempio seguente visualizza informazioni sullo prod stadio di unAPI.

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

Per recuperare un elenco di fasi

L'get-stagesesempio seguente elenca tutte le fasi API di an.

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

Per recuperare un elenco di tag per una risorsa

L'get-tagsesempio seguente elenca tutti i tag API di an.

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 your API Gateway resources nella Amazon API Gateway Developer Guide.

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

AWS CLI

Per recuperare informazioni su un collegamento VPC

L'get-vpc-linkesempio seguente visualizza informazioni su un VPC collegamento.

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

Per recuperare un elenco di collegamenti VPC

L'get-vpc-linksesempio seguente visualizza un elenco di tutti i VPC link per l'utente corrente.

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

Per importare un HTTP API

L'import-apiesempio seguente crea un file HTTP API di definizione Open API 3.0 denominatoapi-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 Working with Open API Definitions HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzarereimport-api.

AWS CLI

Per reimportare un HTTP API

L'reimport-apiesempio seguente aggiorna un esistente HTTP API per utilizzare la definizione Open API 3.0 specificata inapi-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 Working with Open API Definitions HTTP APIs nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Per etichettare una risorsa

L'tag-resourceesempio seguente aggiunge un tag con il nome della chiave Department e Accounting il valore specificatoAPI.

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 your API Gateway resources nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per rimuovere i tag da una risorsa

L'untag-resourceesempio seguente rimuove i tag con i nomi delle chiavi Project e Owner quelli specificatiAPI.

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 your API Gateway resources nella Amazon API Gateway Developer Guide.

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

AWS CLI

Per aggiornare una API mappatura

L'update-api-mappingesempio seguente modifica una API mappatura per un nome di dominio personalizzato. Di conseguenza, la base che URL utilizza il nome di dominio personalizzato per lo stadio API e specificato diventahttps://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 API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-api.

AWS CLI

CORSPer abilitare un HTTP API

L'update-apiesempio seguente aggiorna la CORS configurazione specificata API per consentire le richieste provenienti dahttps://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 Configuring CORS for an HTTP API nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-authorizer.

AWS CLI

Per aggiornare un autorizzatore

L'update-authorizeresempio seguente modifica l'origine dell'identità di un JWT autorizzatore 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 Controlling access to HTTP APIs with JWT authorizers nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-deployment.

AWS CLI

Per modificare la descrizione di una distribuzione

L'update-deploymentesempio seguente aggiorna la descrizione di una distribuzione.

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 Developing an HTTP API in API Gateway nella Amazon API Gateway Developer Guide.

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

AWS CLI

Per aggiornare un nome di dominio personalizzato

L'update-domain-nameesempio seguente specifica un nuovo ACM certificato per il nome di dominio api.example.com personalizzato.

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 API Gateway nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-integration.

AWS CLI

Per 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 HTTP APIs e Configurazione delle WebSocket API integrazioni nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-route.

AWS CLI

Esempio 1: per aggiornare l'integrazione di una rotta

L'update-routeesempio seguente aggiorna l'integrazione di una rotta 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: aggiungere un autorizzatore a una rotta

L'update-routeesempio seguente aggiorna il percorso specificato per utilizzare un JWT autorizzatore.

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 Controlling access to HTTP APIs with JWT authorizers nella Amazon API Gateway Developer Guide.

Il seguente esempio di codice mostra come utilizzareupdate-stage.

AWS CLI

Per configurare un throttling personalizzato

L'update-stageesempio seguente configura la limitazione personalizzata per la fase e il percorso 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 Protecting your HTTP API nella Amazon API Gateway Developer Guide.

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

AWS CLI

Per aggiornare un VPC collegamento

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

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.