AWS CloudFormation
User Guide (API 版本 2010-05-15)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Amazon API Gateway 方法集成

IntegrationAWS::ApiGateway::Method 资源的一个属性,它指定有关 Amazon API Gateway (API 网关) 方法调用的目标后端的信息。

语法

JSON

{ "CacheKeyParameters" : [ String, ... ], "CacheNamespace" : String, "ContentHandling" : String, "Credentials" : String, "IntegrationHttpMethod" : String, "IntegrationResponses" : [ IntegrationResponse, ... ], "PassthroughBehavior" : String, "RequestParameters" : { 字符串字符串, ... }, "RequestTemplates" : { 字符串字符串, ... }, "Type" : String, "Uri" : String }

YAML

CacheKeyParameters: - 字符串 CacheNamespace: String ContentHandling: String Credentials: String IntegrationHttpMethod: String IntegrationResponses: IntegrationResponse PassthroughBehavior: String RequestParameters: 字符串字符串 RequestTemplates: 字符串字符串 Type: String Uri: String

属性

CacheKeyParameters

API 网关 缓存其值的请求参数的列表。

Required: No

Type: List of String values

CacheNamespace

相关缓存参数的 API 特定的标记组。

Required: No

Type: String

ContentHandling

指定如何处理请求负载内容类型转换。有效值为:

  • CONVERT_TO_BINARY:将请求负载从 base64 编码字符串转换为二进制 Blob。

  • CONVERT_TO_TEXT:将请求负载从二进制 Blob 转换为 base64 编码字符串。

如果未定义此属性,则在不修改的情况下直接将请求负载从方法请求传递到集成请求,前提是已配置 PassthroughBehaviors 属性来支持负载传递。

必需:

类型:字符串

更新要求无需中断

Credentials

集成所需的凭证。要指定 API 网关 代入的 AWS Identity and Access Management (IAM) 角色,请指定角色的 Amazon 资源名称 (ARN)。要让调用方的身份通过请求传递,请指定 arn:aws:iam::*:user/*

要对 AWS Lambda (Lambda) 函数使用基于资源的权限,请不要指定此属性。使用 AWS::Lambda::Permission 资源可允许 API 网关 调用此函数。有关更多信息,请参阅 AWS Lambda Developer Guide 中的 允许 Amazon API Gateway 调用 Lambda 函数

Required: No

Type: String

IntegrationHttpMethod

集成的 HTTP 方法类型。

Required: Conditional。对于 Type 属性,如果您指定 MOCK,则此属性是可选的。对于所有其他类型,您必须指定此属性。

Type: String

IntegrationResponses

API 网关 在方法的后端处理完请求后提供的响应。API 网关 将拦截来自后端的响应,以便您能够控制 API 网关 呈现后端响应的方式。例如,您可以将后端状态代码映射到您定义的代码。

Required: No

Type: Amazon API Gateway Method Integration IntegrationResponse 属性类型的列表

PassthroughBehavior

指示 API 网关 将请求传递到目标后端的时间。此行为取决于请求的 Content-Type 标头以及您是否为其定义了映射模板。

有关更多信息和有效值,请参阅 API 网关 API 参考 中的 passthroughBehavior 字段。

Required: No

Type: String

RequestParameters

API 网关 随后端请求一起发送的请求参数。将请求参数指定为键/值对 (字符串-字符串映射),其中目标作为键,源作为值。

使用以下 integration.request.location.name 模式 (其中 locationquerystringpathheadername 是有效的唯一参数名称) 指定目标。

源必须是现有方法请求参数或静态值。您必须用单引号将静态值引起来,并基于这些值在请求中的目标对这些值预先进行编码。

Required: No

类型:键值对的映射

RequestTemplates

对请求负载应用的 Apache Velocity 模板的映射。API 网关 使用的模板基于由客户端发送的 Content-Type 标头的值。内容类型值为密钥,模板为值(指定为字符串),例如以下代码段:

"application/json": "{\n \"statusCode\": \"200\"\n}"

有关模板的更多信息,请参阅 API 网关 开发人员指南 中的 API 网关 API 请求和响应负载-映射模板参考

Required: No

类型:键值对的映射

Type

您的方法运行的后端的类型,例如 HTTPMOCK。有关所有的有效值,请参阅 Amazon API Gateway REST API 参考 中的 Integration 资源的 type 属性。

Required: Yes

Type: String

Uri

集成的统一资源标识符 (URI)。

如果您为 Type 属性指定 HTTP,请指定 API 终端节点 URL。

如果您为 Type 属性指定 MOCK,则不要指定此属性。

如果为 Type 属性指定 AWS,请指定以下形式的 AWS 服务:arn:aws:apigateway:region:subdomain.service|service:path|action/service_api。例如,Lambda 函数 URI 采用以下形式:arn:aws:apigateway:region:lambda:path/path。路径通常采用以下形式:/2015-03-31/functions/LambdaFunctionARN/invocations。有关更多信息,请参阅 Amazon API Gateway REST API 参考中的集成资源的 uri 属性。

Required: Conditional。如果您为 Type 属性指定了 HTTPAWS,则必须指定此属性。

Type: String

本页内容: