メニュー
Amazon API Gateway
開発者ガイド

x-amazon-apigateway-integration オブジェクト

このメソッドのために使用するバックエンド統合の詳細を指定します。この拡張は、Swagger Operation オブジェクトの拡張プロパティです。結果は、API Gateway integration オブジェクトです。

プロパティ

プロパティ名 タイプ 説明
cacheKeyParameters string の配列 値がキャッシュされるリクエストパラメーターのリスト。
cacheNamespace string キャッシュされた関連パラメーターの API 固有のタググループ。
credentials string

AWS IAM ロールベースの認証情報については、該当する IAM ロールの ARN を指定します。指定しない場合、認証情報はデフォルトでリソースベースのアクセス権限に設定されます。API がリソースにアクセスできるようにするためには、リソースベースのアクセス権限を手動で追加する必要があります。詳細については、「Granting Permissions Using a Resource Policy」を参照してください。注意: IAM 認証情報を使用するときは、この API が最適なパフォーマンスのためにデプロイされているリージョンで AWS STS リージョンのエンドポイントが有効化されていることを確認してください。

contentHandling string リクエストのペイロードエンコード変換タイプ。有効な値は、1) バイナリペイロードを Base64 でエンコードされた文字列に変換する場合、テキストペイロードを utf-8 でエンコードされた文字列に変換する場合、または変更なしでテキストペイロードをネイティブに渡す場合は CONVERT_TO_TEXT、2) テキストペイロードを Base64 でデコードされた BLOB に変換する場合、または変更なしでバイナリペイロードをネイティブに渡す場合は CONVERT_TO_BINARY です。
httpMethod string 統合リクエストで使用される HTTP メソッドです。Lambda 関数の呼び出しでは、値は POST である必要があります。
passthroughBehavior string マッピングされていないコンテンツタイプのリクエストペイロードを、変更なしで統合リクエストに渡す方法を指定します。サポートされる値は when_no_templateswhen_no_matchnever です。詳細については、「Integration.passthroughBehavior」を参照してください。
requestParameters x-amazon-apigateway-integration.requestParameters オブジェクト メソッドリクエストパラメーターから統合リクエストパラメーターまでマッピングを指定します。サポートされているリクエストパラメーターは、querystringpathheader、および body です。
requestTemplates x-amazon-apigateway-integration.requestTemplates オブジェクト 指定された MIME タイプのリクエストペイロード用のマッピングテンプレートです。
responses x-amazon-apigateway-integration.responses オブジェクト メソッドのレスポンスを定義し、統合レスポンスからメソッドレスポンスまで必要なパラメーターマッピングまたはペイロードマッピングを指定します。
type string 特定のバックエンドを持つ統合のタイプ。有効な値は、http (HTTP バックエンドとの統合用) または aws (AWS Lambda 関数や、Amazon DynamoDB、Amazon Simple Notification Service、Amazon Simple Queue Service など AWS の他のサービスとの統合用) です。
uri string バックエンドのエンドポイント URI。aws タイプの統合の場合、この URI は ARN 値です。HTTP 統合の場合、この URI は、https または http スキームを含む HTTP エンドポイントの URL です。

x-amazon-apigateway-integration の例

次の例では、API の POST メソッドと Lambda 関数がバックエンドで統合されています。デモンストレーションの目的で、以下の例の requestTemplates および responseTemplates のサンプルマッピングテンプレートは、{ "stage":"value_1", "user-id":"value_2" } の JSON 出力または <stage>value_1</stage> の XML 出力を生成するために、{ "name":"value_1", "key":"value_2", "redirect": {"url" :"..."} } という JSON 形式のペイロードに適用されるものとします。

Copy
"x-amazon-apigateway-integration" : { "type" : "aws", "uri" : "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:012345678901:function:HelloWorld/invocations", "httpMethod" : "POST", "credentials" : "arn:aws:iam::012345678901:role/apigateway-invoke-lambda-exec-role", "requestTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " }, "requestParameters" : { "integration.request.path.stage" : "method.request.querystring.version", "integration.request.querystring.provider" : "method.request.querystring.vendor" }, "cacheNamespace" : "cache namespace", "cacheKeyParameters" : [], "responses" : { "2\\d{2}" : { "statusCode" : "200", "responseParameters" : { "method.response.header.requestId" : "integration.response.header.cid" }, "responseTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " } }, "302" : { "statusCode" : "302", "responseParameters" : { "method.response.header.Location" : "integration.response.body.redirect.url" } }, "default" : { "statusCode" : "400", "responseParameters" : { "method.response.header.test-method-response-header" : "'static value'" } } } }

マッピングテンプレートの JSON 文字列の二重引用符「"」は、エスケープ文字を付けて「\"」とする必要があります。

このページの内容: