本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 API Gateway 以亚马逊规则为目标 EventBridge
您可以使用 Amazon API Gateway 来创建、发布、维护和监控 APIs。亚马逊 EventBridge支持向 API Gateway 终端节点发送事件。当您将 API Gateway 端点指定为目标时,发送到该目标的每个事件都将映射一个发送到该端点的请求。
重要
EventBridge 支持使用 API Gateway 边缘优化和区域端点作为目标。目前不支持私有端点。要了解端点的更多信息,请参阅 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-endpoint-types.html。
可以将 API Gateway 目标用于以下使用场景:
-
根据第三方事件调用 API Gateway 中托管的客户指定 AWS 的 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 Gateway 请求的最大客户端执行超时时间必须为 5 秒。如果 API Gateway 的响应 EventBridge 时间超过 5 秒,则会超时请求然后重试。
EventBridge Pipes API Gateway 请求的最大超时时间为 29 秒,这是 API Gateway 的最大超时值。