1

我有一个使用 API Gateway 和几种方法构建的 REST API。我需要每周POST对一个方法运行一次请求。/generate-stats我目前通过 AWS 控制台调用此方法,方法是将请求正文粘贴到方法执行流程图下 API Gateway 中存在的“测试”功能中。

我将如何自动执行此呼叫?每周运行一次的 lambda 会是最简单的解决方案吗?理想情况下,如果请求失败,我可以存储响应或触发警报。

4

2 回答 2

1

如果您想自动执行每周一次的请求,您可能需要考虑使用Amazon EventBridge

服务本身支持由事件触发(例如新的 PutObject 进入 S3 或正在启动的实例),或者可以基于计划运行。您可能希望使用后者来设置一个 cron 表达式来运行它。

规则的下一部分是目标,在这种情况下是几种方法。

API Gateway 请求是事件中受支持的目标。如果 EventBridge 支持的功能适合您,那么您将能够直接执行请求而无需任何额外服务。

如果需要其他功能,您需要创建一个 Lambda 函数来执行对 API Gateway 的请求。然后,此 Lambda 将成为导致执行相同功能的事件的触发器。

于 2021-02-16T18:37:29.447 回答
1

您可以构建一个 Lambda 函数,该函数可以使用代码执行 POST 请求。然后,您可以使用计划事件来计划何时调用 Lambda 函数。使用 CRON 表达式,您可以安排您的 Lambda 每周触发一次。有关详细信息,请参阅:

使用 CloudWatch Events 安排 AWS Lambda 函数

于 2021-02-17T01:27:19.837 回答