メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::ApiGateway::GatewayResponse

AWS::ApiGateway::GatewayResponse リソースで、API Gateway API のカスタムレスポンスを作成します。詳細については、『API Gateway 開発者ガイド』の「API Gateway のレスポンス」を参照してください。

トピック

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::ApiGateway::GatewayResponse", "Properties" : { "ResponseParameters" : { String:String, ... }, "ResponseTemplates" : { String:String, ... }, "ResponseType" : String, "RestApiId" : String, "StatusCode" : String } }

YAML

Copy
Type: "AWS::ApiGateway::GatewayResponse" Properties: ResponseParameters: String: String ResponseTemplates: String: String ResponseType: String RestApiId: String StatusCode: String

プロパティ

ResponseParameters

レスポンスのレスポンスパラメータ (パス、クエリ文字列、ヘッダー)。重複は許可されません。

必須: いいえ

タイプ: 文字列から文字列へのマッピング

更新に伴う要件: 中断はありません。

ResponseTemplates

レスポンスのレスポンステンプレート。重複は許可されません。

必須: いいえ

タイプ: 文字列から文字列へのマッピング

更新に伴う要件: 中断はありません。

ResponseType

レスポンスのタイプ。有効な値については、『API Gateway API リファレンス』の「GatewayResponse」を参照してください。

必須: はい

タイプ: 文字列

更新に伴う要件: 置換。

RestApiId

ターゲット API エンティティの識別子。

必須: はい

タイプ: 文字列

更新に伴う要件: 置換。

StatusCode

レスポンスの HTTP ステータスコード。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません。

404 Response

以下の例では、CORS リクエストの認証トークンが見つからないのではなくリソースが見つからないことを示す、404 ステータスコードを返しています (セキュアでない API または無制限な API に該当)。

JSON

Copy
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "RestApi": { "Type": "AWS::ApiGateway::RestApi", "Properties": { "Name": "myRestApi" } }, "GatewayResponse": { "Type": "AWS::ApiGateway::GatewayResponse", "Properties": { "ResponseParameters": { "gatewayresponse.header.Access-Control-Allow-Origin": "'*'", "gatewayresponse.header.Access-Control-Allow-Headers": "'*'" }, "ResponseType": "MISSING_AUTHENTICATION_TOKEN", "RestApiId": { "Ref": "RestApi" }, "StatusCode": "404" } } } }

YAML

Copy
AWSTemplateFormatVersion: 2010-09-09 Resources: RestApi: Type: 'AWS::ApiGateway::RestApi' Properties: Name: myRestApi GatewayResponse: Type: 'AWS::ApiGateway::GatewayResponse' Properties: ResponseParameters: gatewayresponse.header.Access-Control-Allow-Origin: "'*'" gatewayresponse.header.Access-Control-Allow-Headers: "'*'" ResponseType: MISSING_AUTHENTICATION_TOKEN RestApiId: !Ref RestApi StatusCode: '404'

パラメータ化されたレスポンス

以下の例では、指定したパラメータに基づいて API のレスポンスを作成しています。

JSON

Copy
{ "Parameters": { "apiName": { "Type": "String" }, "responseParameter1": { "Type": "String" }, "responseParameter2": { "Type": "String" }, "responseType": { "Type": "String" }, "statusCode": { "Type": "String" } }, "Resources": { "RestApi": { "Type": "AWS::ApiGateway::RestApi", "Properties": { "Name": { "Ref": "apiName" } } }, "GatewayResponse": { "Type": "AWS::ApiGateway::GatewayResponse", "Properties": { "ResponseParameters": { "gatewayresponse.header.k1": { "Ref": "responseParameter1" }, "gatewayresponse.header.k2": { "Ref": "responseParameter2" } }, "ResponseType": { "Ref": "responseType" }, "RestApiId": { "Ref": "RestApi" }, "StatusCode": { "Ref": "statusCode" } } } } }

YAML

Copy
Parameters: apiName : Type : String responseParameter1: Type : String responseParameter2: Type : String responseType: Type : String statusCode: Type : String Resources : RestApi: Type: AWS::ApiGateway::RestApi Properties: Name: !Ref apiName GatewayResponse: Type: AWS::ApiGateway::GatewayResponse Properties: ResponseParameters: gatewayresponse.header.k1 : !Ref responseParameter1 gatewayresponse.header.k2 : !Ref responseParameter2 ResponseType: !Ref responseType RestApiId: !Ref RestApi StatusCode: !Ref statusCode

このページの内容: