を使用した API Gateway HTTP および WebSocket API の例 AWS CLI - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した API Gateway HTTP および WebSocket API の例 AWS CLI

次のコード例は、API Gateway HTTP および API AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています WebSocket 。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、関連するシナリオやサービス間の例ではアクションのコンテキストが確認できます。

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。このリンクには GitHub、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、create-api-mapping を使用する方法を説明しています。

AWS CLI

API の API マッピングを作成するには

次のcreate-api-mapping例では、API のtestステージをregional.example.comカスタムドメイン名の/myApiパスにマッピングします。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateApiMapping」の「」を参照してください。 AWS CLI

次の例は、create-api を使用する方法を説明しています。

AWS CLI

HTTP API を作成するには

次のcreate-api例では、クイック作成を使用して HTTP API を作成します。クイック作成を使用して、 AWS Lambda または HTTP 統合、デフォルトのキャッチオールルート、および変更を自動的にデプロイするように設定されたデフォルトステージで API を作成できます。次のコマンドは、クイック作成を使用して、Lambda 関数と統合する HTTP API を作成します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」の「API Gateway での HTTP Amazon API Gateway の開発」を参照してください。

WebSocket API を作成するには

次のcreate-api例では、指定された名前で WebSocket API を作成します。

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

出力:

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

詳細については、「Amazon WebSocket API Gateway デベロッパーガイド」の「API Gateway で API を作成する」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスCreateApi」の「」を参照してください。 AWS CLI

次の例は、create-authorizer を使用する方法を説明しています。

AWS CLI

HTTP API の JWT オーソライザーを作成するには

次のcreate-authorizer例では、Amazon Cognito を ID プロバイダーとして使用する JWT オーソライザーを作成します。

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

出力:

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

詳細については、「Amazon APIs」の「JWT オーソライザーを使用した HTTP API へのアクセスの制御」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスCreateAuthorizer」の「」を参照してください。 AWS CLI

次の例は、create-deployment を使用する方法を説明しています。

AWS CLI

API のデプロイを作成するには

次のcreate-deployment例では、API のデプロイを作成し、そのデプロイを API の devステージに関連付けます。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API デプロイ」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateDeployment」の「」を参照してください。 AWS CLI

次の例は、create-domain-name を使用する方法を説明しています。

AWS CLI

カスタムドメイン名を作成するには

次のcreate-domain-name例では、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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateDomainName」の「」を参照してください。 AWS CLI

次の例は、create-integration を使用する方法を説明しています。

AWS CLI

WebSocket API 統合を作成するには

次のcreate-integration例では、 WebSocket API のモック統合を作成します。

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

出力:

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

詳細については、「Amazon WebSocket API Gateway デベロッパーガイド」の「API Gateway で API 統合リクエストを設定する」を参照してください。 Amazon API Gateway

HTTP API 統合を作成するには

次のcreate-integration例では、HTTP API の AWS Lambda 統合を作成します。

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

出力:

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

詳細については、「Amazon APIs」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスCreateIntegration」の「」を参照してください。 AWS CLI

次の例は、create-route を使用する方法を説明しています。

AWS CLI

WebSocket または HTTP API の $default ルートを作成するには

次のcreate-route例では、 WebSocket または HTTP API の$defaultルートを作成します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」の WebSocket APIs のルートの使用」を参照してください。

HTTP API のルートを作成するには

次のcreate-route例では、POST リクエストsignupを受け入れる という名前のルートを作成します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の APIs 「HTTP API のルートの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateRoute」の「」を参照してください。 AWS CLI

次の例は、create-stage を使用する方法を説明しています。

AWS CLI

ステージを作成するには

次のcreate-stage例では、API の dev という名前のステージを作成します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の APIs 「HTTP API のステージの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateStage」の「」を参照してください。 AWS CLI

次の例は、create-vpc-link を使用する方法を説明しています。

AWS CLI

HTTP API の VPC リンクを作成するには

次のcreate-vpc-link例では、HTTP APIs の VPC リンクを作成します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」のAPIs の VPC リンクの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateVpcLink」の「」を参照してください。 AWS CLI

次の例は、delete-access-log-settings を使用する方法を説明しています。

AWS CLI

API のアクセスログを無効にするには

次のdelete-access-log-settings例では、API の $defaultステージのアクセスログ設定を削除します。ステージのアクセスログ記録を無効にするには、そのアクセスログ設定を削除します。

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

このコマンドでは何も出力されません。

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「HTTP API のログ記録の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteAccessLogSettings」の「」を参照してください。 AWS CLI

次の例は、delete-api-mapping を使用する方法を説明しています。

AWS CLI

API マッピングを削除するには

次のdelete-api-mapping例では、api.example.comカスタムドメイン名の API マッピングを削除します。

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

このコマンドでは何も出力されません。

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteApiMapping」の「」を参照してください。 AWS CLI

次の例は、delete-api を使用する方法を説明しています。

AWS CLI

API を削除するには

次のdelete-api例では、API を削除します。

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

このコマンドでは何も出力されません。

詳細については、APIs Gateway デベロッパーガイド」の「HTTP Amazon API Gateway の使用」および「API の使用 WebSocket APIs」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteApi」の「」を参照してください。 AWS CLI

次の例は、delete-authorizer を使用する方法を説明しています。

AWS CLI

オーソライザーを削除するには

次のdelete-authorizer例では、オーソライザーを削除します。

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

このコマンドでは何も出力されません。

詳細については、「Amazon APIs」の「JWT オーソライザーによる HTTP API へのアクセスの制御」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスDeleteAuthorizer」の「」を参照してください。 AWS CLI

次の例は、delete-cors-configuration を使用する方法を説明しています。

AWS CLI

HTTP API の CORS 設定を削除するには

次のdelete-cors-configuration例では、CORS 設定を削除して HTTP API の CORS を無効にします。

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

このコマンドでは何も出力されません。

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「HTTP API の CORS の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteCorsConfiguration」の「」を参照してください。 AWS CLI

次の例は、delete-deployment を使用する方法を説明しています。

AWS CLI

デプロイを削除するには

次のdelete-deployment例では、API のデプロイを削除します。

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

このコマンドでは何も出力されません。

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API デプロイ」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteDeployment」の「」を参照してください。 AWS CLI

次の例は、delete-domain-name を使用する方法を説明しています。

AWS CLI

カスタムドメイン名を削除するには

次のdelete-domain-name例では、カスタムドメイン名を削除します。

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

このコマンドでは何も出力されません。

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteDomainName」の「」を参照してください。 AWS CLI

次の例は、delete-integration を使用する方法を説明しています。

AWS CLI

統合を削除するには

次のdelete-integration例では、API 統合を削除します。

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

このコマンドでは何も出力されません。

詳細については、「Amazon API Gateway デベロッパーガイド」の「HTTP APIs」および「API 統合の設定 WebSocket 」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスDeleteIntegration」の「」を参照してください。 AWS CLI

次の例は、delete-route-settings を使用する方法を説明しています。

AWS CLI

ルート設定を削除するには

次のdelete-route-settings例では、指定されたルートのルート設定を削除します。

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

このコマンドでは何も出力されません。

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の APIs 「HTTP API のルートの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteRouteSettings」の「」を参照してください。 AWS CLI

次の例は、delete-route を使用する方法を説明しています。

AWS CLI

ルートを削除するには

次のdelete-route例では、API ルートを削除します。

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

このコマンドでは何も出力されません。

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の APIs 「HTTP API のルートの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteRoute」の「」を参照してください。 AWS CLI

次の例は、delete-stage を使用する方法を説明しています。

AWS CLI

ステージを削除するには

次のdelete-stage例では、API の testステージを削除します。

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

このコマンドでは何も出力されません。

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の APIs 「HTTP API のステージの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteStage」の「」を参照してください。 AWS CLI

次の例は、delete-vpc-link を使用する方法を説明しています。

AWS CLI

HTTP API の VPC リンクを削除するには

次のdelete-vpc-link例では、VPC リンクを削除します。

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

このコマンドでは何も出力されません。

詳細については、「Amazon API Gateway デベロッパーガイド」のAPIs の VPC リンクの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteVpcLink」の「」を参照してください。 AWS CLI

次の例は、export-api を使用する方法を説明しています。

AWS CLI

HTTP API の OpenAPI 定義をエクスポートするには

次のexport-api例では、 という名前の API ステージの OpenAPI 3.0 定義prodを という名前の YAML ファイルにエクスポートしますstage-definition.yaml。エクスポートされた定義ファイルには、デフォルトで API Gateway 拡張が含まれます。

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

このコマンドでは何も出力されません。

詳細については、「Amazon API Gateway デベロッパーガイド」の「API Gateway からの HTTP API のエクスポート」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスExportApi」の「」を参照してください。 AWS CLI

次の例は、get-api-mapping を使用する方法を説明しています。

AWS CLI

カスタムドメイン名の API マッピングに関する情報を取得するには

次のget-api-mapping例では、api.example.comカスタムドメイン名の API マッピングに関する情報を表示します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetApiMapping」の「」を参照してください。 AWS CLI

次の例は、get-api-mappings を使用する方法を説明しています。

AWS CLI

カスタムドメイン名の API マッピングを取得するには

次のget-api-mappings例では、api.example.comカスタムドメイン名のすべての API マッピングのリストを表示します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetApiMappings」の「」を参照してください。 AWS CLI

次の例は、get-api を使用する方法を説明しています。

AWS CLI

API に関する情報を取得するには

次のget-api例では、API に関する情報を表示します。

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

出力:

{ "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" } }
  • API の詳細については、「 コマンドリファレンスGetApi」の「」を参照してください。 AWS CLI

次の例は、get-apis を使用する方法を説明しています。

AWS CLI

APIs のリストを取得するには

次のget-apis例では、現在のユーザーのすべての APIsを一覧表示します。

aws apigatewayv2 get-apis

出力:

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

詳細については、APIs Gateway デベロッパーガイド」の「HTTP Amazon API Gateway API の使用」および「API の使用 WebSocket APIs」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetApis」の「」を参照してください。 AWS CLI

次の例は、get-authorizer を使用する方法を説明しています。

AWS CLI

オーソライザーに関する情報を取得するには

次のget-authorizer例では、オーソライザーに関する情報を表示します。

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

出力:

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

詳細については、「Amazon APIs」の「JWT オーソライザーを使用した HTTP API へのアクセスの制御」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスGetAuthorizer」の「」を参照してください。 AWS CLI

次の例は、get-authorizers を使用する方法を説明しています。

AWS CLI

API のオーソライザーのリストを取得するには

次のget-authorizers例では、API のすべてのオーソライザーのリストを表示します。

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

出力:

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

詳細については、「Amazon APIs」の「JWT オーソライザーを使用した HTTP API へのアクセスの制御」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスGetAuthorizers」の「」を参照してください。 AWS CLI

次の例は、get-deployment を使用する方法を説明しています。

AWS CLI

デプロイに関する情報を取得するには

次のget-deployment例では、デプロイに関する情報を表示します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API デプロイ」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetDeployment」の「」を参照してください。 AWS CLI

次の例は、get-deployments を使用する方法を説明しています。

AWS CLI

デプロイのリストを取得するには

次のget-deployments例では、API のすべてのデプロイのリストを表示します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API デプロイ」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetDeployments」の「」を参照してください。 AWS CLI

次の例は、get-domain-name を使用する方法を説明しています。

AWS CLI

カスタムドメイン名に関する情報を取得するには

次のget-domain-name例では、カスタムドメイン名に関する情報を表示します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetDomainName」の「」を参照してください。 AWS CLI

次の例は、get-domain-names を使用する方法を説明しています。

AWS CLI

カスタムドメイン名のリストを取得するには

次のget-domain-names例では、現在のユーザーのすべてのカスタムドメイン名のリストを表示します。

aws apigatewayv2 get-domain-names

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetDomainNames」の「」を参照してください。 AWS CLI

次の例は、get-integration を使用する方法を説明しています。

AWS CLI

統合に関する情報を取得するには

次のget-integration例では、統合に関する情報を表示します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」の「HTTP APIs」および「API 統合の設定 WebSocket 」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスGetIntegration」の「」を参照してください。 AWS CLI

次の例は、get-integrations を使用する方法を説明しています。

AWS CLI

統合のリストを取得するには

次のget-integrations例では、API のすべての統合のリストを表示します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイドAPIs の統合の設定」および「API 統合の設定 WebSocket 」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスGetIntegrations」の「」を参照してください。 AWS CLI

次の例は、get-route を使用する方法を説明しています。

AWS CLI

ルートに関する情報を取得するには

次のget-route例では、ルートに関する情報を表示します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の APIs 「HTTP API のルートの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetRoute」の「」を参照してください。 AWS CLI

次の例は、get-routes を使用する方法を説明しています。

AWS CLI

ルートのリストを取得するには

次のget-routes例では、API のすべてのルートのリストを表示します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の APIs 「HTTP API のルートの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetRoutes」の「」を参照してください。 AWS CLI

次の例は、get-stage を使用する方法を説明しています。

AWS CLI

ステージに関する情報を取得するには

次のget-stage例では、API のprodステージに関する情報を表示します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の APIs 「HTTP API のステージの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetStage」の「」を参照してください。 AWS CLI

次の例は、get-stages を使用する方法を説明しています。

AWS CLI

ステージのリストを取得するには

次のget-stages例では、API のすべてのステージを一覧表示します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の APIs 「HTTP API のステージの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetStages」の「」を参照してください。 AWS CLI

次の例は、get-tags を使用する方法を説明しています。

AWS CLI

リソースのタグのリストを取得するには

次のget-tags例では、API のすべてのタグを一覧表示します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」の「API Gateway リソースのタグ付け」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスGetTags」の「」を参照してください。 AWS CLI

次の例は、get-vpc-link を使用する方法を説明しています。

AWS CLI

VPC リンクに関する情報を取得するには

次のget-vpc-link例では、VPC リンクに関する情報を表示します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」のAPIs の VPC リンクの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetVpcLink」の「」を参照してください。 AWS CLI

次の例は、get-vpc-links を使用する方法を説明しています。

AWS CLI

VPC リンクのリストを取得するには

次のget-vpc-links例では、現在のユーザーのすべての VPC リンクのリストを表示します。

aws apigatewayv2 get-vpc-links

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」のAPIs の VPC リンクの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetVpcLinks」の「」を参照してください。 AWS CLI

次の例は、import-api を使用する方法を説明しています。

AWS CLI

HTTP API をインポートするには

次のimport-api例では、 という名前の OpenAPI 3.0 定義ファイルから HTTP APIを作成しますapi-definition.yaml

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

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」のAPIs の OpenAPI 定義の使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスImportApi」の「」を参照してください。 AWS CLI

次の例は、reimport-api を使用する方法を説明しています。

AWS CLI

HTTP API を再インポートするには

次のreimport-api例では、 で指定された OpenAPI 3.0 定義を使用するように既存の HTTP APIを更新しますapi-definition.yaml

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

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」のAPIs の OpenAPI 定義の使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスReimportApi」の「」を参照してください。 AWS CLI

次の例は、tag-resource を使用する方法を説明しています。

AWS CLI

リソースにタグを付けるには

次のtag-resource例では、指定した API Accountingにキー名 Department と値 のタグを追加します。

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

このコマンドでは何も出力されません。

詳細については、「Amazon API Gateway デベロッパーガイド」の「API Gateway リソースのタグ付け」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスTagResource」の「」を参照してください。 AWS CLI

次の例は、untag-resource を使用する方法を説明しています。

AWS CLI

リソースからタグを削除する

次のuntag-resource例では、指定した API Ownerからキー名 Projectおよび のタグを削除します。

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

このコマンドでは何も出力されません。

詳細については、「Amazon API Gateway デベロッパーガイド」の「API Gateway リソースのタグ付け」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスUntagResource」の「」を参照してください。 AWS CLI

次の例は、update-api-mapping を使用する方法を説明しています。

AWS CLI

API マッピングを更新するには

次のupdate-api-mapping例では、カスタムドメイン名の API マッピングを変更します。その結果、指定された API とステージのカスタムドメイン名を使用するベース URL は になります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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスUpdateApiMapping」の「」を参照してください。 AWS CLI

次の例は、update-api を使用する方法を説明しています。

AWS CLI

HTTP API の CORS を有効にするには

次のupdate-api例では、指定された API の CORS 設定を更新して、 からのリクエストを許可しますhttps://www.example.com

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「HTTP API の CORS の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスUpdateApi」の「」を参照してください。 AWS CLI

次の例は、update-authorizer を使用する方法を説明しています。

AWS CLI

オーソライザーを更新するには

次のupdate-authorizer例では、JWT オーソライザーの ID ソースを という名前のヘッダーに変更しますAuthorization

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

出力:

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

詳細については、「Amazon APIs」の「JWT オーソライザーを使用した HTTP API へのアクセスの制御」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスUpdateAuthorizer」の「」を参照してください。 AWS CLI

次の例は、update-deployment を使用する方法を説明しています。

AWS CLI

デプロイの説明を変更するには

次のupdate-deployment例では、デプロイの説明を更新します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」の「API Gateway での HTTP Amazon API Gateway の開発」を参照してください。

  • API の詳細については、「 コマンドリファレンスUpdateDeployment」の「」を参照してください。 AWS CLI

次の例は、update-domain-name を使用する方法を説明しています。

AWS CLI

カスタムドメイン名を更新するには

次のupdate-domain-name例では、api.example.comカスタムドメイン名に新しい ACM 証明書を指定します。

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

出力:

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

詳細については、Amazon API Gateway API Gateway デベロッパーガイド」の「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。

  • API の詳細については、「 コマンドリファレンスUpdateDomainName」の「」を参照してください。 AWS CLI

次の例は、update-integration を使用する方法を説明しています。

AWS CLI

Lambda 統合を更新するには

次のupdate-integration例では、指定された AWS Lambda 関数を使用するように既存の Lambda 統合を更新します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイドAPIs の統合の設定」および「API 統合の設定 WebSocket 」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスUpdateIntegration」の「」を参照してください。 AWS CLI

次の例は、update-route を使用する方法を説明しています。

AWS CLI

例 1: ルートの統合を更新するには

次のupdate-route例では、指定されたルートの統合を更新します。

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

出力:

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

例 2: ルートにオーソライザーを追加するには

次のupdate-route例では、JWT オーソライザーを使用するように指定されたルートを更新します。

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

出力:

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

詳細については、「Amazon APIs」の「JWT オーソライザーによる HTTP API へのアクセスの制御」を参照してください。 Amazon API Gateway

  • API の詳細については、「 コマンドリファレンスUpdateRoute」の「」を参照してください。 AWS CLI

次の例は、update-stage を使用する方法を説明しています。

AWS CLI

カスタムスロットリングを設定するには

次のupdate-stage例では、API の指定されたステージとルートのカスタムスロットリングを設定します。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」の「HTTP Amazon API Gateway の保護」を参照してください。

  • API の詳細については、「 コマンドリファレンスUpdateStage」の「」を参照してください。 AWS CLI

次の例は、update-vpc-link を使用する方法を説明しています。

AWS CLI

VPC リンクを更新するには

次のupdate-vpc-link例では、VPC リンクの名前を更新します。VPC リンクを作成した後で、そのセキュリティグループまたはサブネットを変更することはできません。

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

出力:

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

詳細については、「Amazon API Gateway デベロッパーガイド」のAPIs の VPC リンクの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスUpdateVpcLink」の「」を参照してください。 AWS CLI