AWS::ApiGateway::Method Integration - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::ApiGateway::Method Integration

IntegrationAWS::ApiGateway::Method 资源的一个属性,用于指定有关方法调用的目标后端的信息。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "CacheKeyParameters" : [ String, ... ], "CacheNamespace" : String, "ConnectionId" : String, "ConnectionType" : String, "ContentHandling" : String, "Credentials" : String, "IntegrationHttpMethod" : String, "IntegrationResponses" : [ IntegrationResponse, ... ], "PassthroughBehavior" : String, "RequestParameters" : {Key : Value, ...}, "RequestTemplates" : {Key : Value, ...}, "TimeoutInMillis" : Integer, "Type" : String, "Uri" : String }

属性

CacheKeyParameters

API Gateway 缓存其值的请求参数的列表。对于集成类型允许设置 RequestParameters 的情况,还必须在 RequestParameters 中指定这些参数,才能使其在 CacheKeyParameters 中受支持。

必需:否

类型:字符串列表

Update requires: No interruption

CacheNamespace

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

必需:否

类型:字符串

Update requires: No interruption

ConnectionId

connectionType=VPC_LINK 时用于集成的 VpcLink 的 ID,否则为未定义。

必需:否

类型:字符串

Update requires: No interruption

ConnectionType

到集成终端节点的网络连接的类型。对于通过公有可路由 Internet 的连接,有效值为 INTERNET;对于 API Gateway 与 VPC 中的网络负载均衡器之间的私有连接,有效值为 VPC_LINK。默认值为 INTERNET

必需:否

类型:字符串

Update requires: No interruption

ContentHandling

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

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

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

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

必需:否

类型:字符串

Update requires: No interruption

Credentials

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

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

必需:否

类型:字符串

Update requires: No interruption

IntegrationHttpMethod

集成的 HTTP 方法类型。

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

必需:条件

类型:字符串

Update requires: No interruption

IntegrationResponses

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

必需:否

类型IntegrationResponse 的列表

Update requires: No interruption

PassthroughBehavior

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

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

必需:否

类型:字符串

Update requires: No interruption

RequestParameters

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

使用以下 integration.request.location.name 模式指定目标,其中位置是查询字符串、路径或标题,名称是有效的唯一参数名称。

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

必需:否

类型:字符串的映射

Update requires: No interruption

RequestTemplates

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

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

有关模板的更多信息,请参阅 API Gateway 开发人员指南中的 API Gateway 映射模板和访问日志变量参考

必需:否

类型:字符串的映射

Update requires: No interruption

TimeoutInMillis

自定义超时值,范围在 50 到 29,000 毫秒之间。默认值为 29,000 毫秒或 29 秒。

必需:否

类型:整数

Update requires: No interruption

Type

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

必需:否

类型:字符串

Update requires: No interruption

Uri

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

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

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

如果您为 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 属性。

如果您为 HTTP 属性指定了 AWSType,则必须指定此属性。

必需:条件

类型:字符串

Update requires: No interruption

另请参阅

  • Amazon API Gateway REST API 参考中的方法