ECS 任务能否调用 lambda?

Posted

技术标签:

【中文标题】ECS 任务能否调用 lambda?【英文标题】:Can a lambda be invoked by an ECS task? 【发布时间】:2021-10-17 00:03:30 【问题描述】:

我目前有一个使用 ECS + Fargate 运行的服务。现在我想创建一个 lambda,它会被之前服务中的 ECS 任务同步触发。

是否可以通过 ECS 任务触发 lambda?我遇到过documentation,其中使用 Lambda 调用 ECS,但反之则不然。

【问题讨论】:

Lambda 可以从 CLI 或 AWS 开发工具包中调用。由于我们不知道您使用什么语言来执行 ECS 任务,因此我们无法真正引导您查看文档。此外,您可以将 lambda 公开为 REST 端点并从任务中调用它。 【参考方案1】:

“您可以使用 Lambda 控制台、Lambda API、AWS 开发工具包、AWS CLI 和 AWS 工具包直接调用 Lambda 函数。”因此,您必须决定哪种方法最适合您的 ECS 任务。您需要设置正确的权限,以便您的 ECS 能够调用 Lambda 函数。

【讨论】:

【参考方案2】:

如果您想以异步方式调用 Lamda,您可以从您的 ECS 任务向 SQS 发布消息,SQS 可以在收到消息时触发 Lamda。

【讨论】:

以上是关于ECS 任务能否调用 lambda?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 AWS Lambda 函数运行 ECS 任务?

AWS S3 Angular 应用程序通过 Route 53 地址调用 ECS 任务

aws 如何从生产环境中的 lambda 函数访问 ECS 服务

如何将 AWS lambda 调用划分为独立的处理任务

鉴于所有调用都是异步的,您如何在 lambda 中构建顺序 AWS 服务调用?

最小任务数,ECS