本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon API Gateway 以亚马逊规则为目标 EventBridge
您可以使用 Amazon API Gateway 来创建、发布、维护和监控APIs。Amazon EventBridge 支持向API网关终端节点发送事件。当您将API网关终端节点指定为目标时,发送到目标的每个事件都会映射到该终端节点的请求。
重要
EventBridge 支持使用API网关边缘优化和区域端点作为目标。目前不支持私有端点。要了解端点的更多信息,请参阅 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-endpoint-types.html。
您可以将 API Gateway 目标用于以下用例:
-
调用基于 AWS 或第三方事件在 API Gateway 中API托管的客户指定的事件。
-
按计划定期调用端点。
EventBridge JSON事件信息作为HTTP请求正文发送到您的终端节点。您可以在目标的 HttpParameters
字段中指定其他请求属性,如下所示:
-
PathParameterValues
例如,列出了与终端节点ARN中任何路径变量顺序对应的值。"arn:aws:execute-api:us-east-1:112233445566:myapi/dev/POST/pets/*/*"
-
QueryStringParameters
表示 EventBridge 附加到调用端点的查询字符串参数。 -
HeaderParameters
定义要添加到请求中的HTTP标头。
注意
出于安全考虑,不允许使用以下HTTP标头密钥:
-
任何以
X-Amz
或X-Amzn
为前缀的标头密钥 -
Authorization
-
Connection
-
Content-Encoding
-
Content-Length
-
Host
-
Max-Forwards
-
TE
-
Transfer-Encoding
-
Trailer
-
Upgrade
-
Via
-
WWW-Authenticate
-
X-Forwarded-For
动态参数
在调用 API Gateway 目标时,您可以动态地向发送到该目标的事件添加数据。有关更多信息,请参阅 目标参数。
调用重试
与所有目标一样, EventBridge 会重试一些失败的调用。对于 API Gateway, EventBridge 重试以 5xx 或 429 HTTP 状态码发送的响应长达 24 小时,并出现指数级退FailedInvocations
指标 CloudWatch。 EventBridge 不会重试其他 4xx 错误HTTP。
超时
EventBridge 规则API网关请求的最大客户端执行超时时间必须为 5 秒。如果 API Gateway 的响应 EventBridge 时间超过 5 秒,则会超时请求然后重试。
EventBridge Pi API pes Gateway 请求的最大超时时间为 29 秒,即API网关的最大超时时间。