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 S3 Angular 应用程序通过 Route 53 地址调用 ECS 任务
aws 如何从生产环境中的 lambda 函数访问 ECS 服务