我怎样才能 运行 一个 AWS ECS 任务,然后 运行 一个 Lambda 函数就绪后最终停止任务?
How can I run an AWS ECS Task and then run a Lambda function after its ready then finally stop the Task?
我是 AWS 新手。我有一个 Lambda 函数,我想每天 运行 在 4:00 AM GMT。 Lambda 函数依赖于 AWS ECS 容器任务 运行ning。我希望能够触发 运行 它然后 运行 而不是 运行 将 AWS ECS 容器任务总是 运行 ] Lambda 任务准备就绪,最后当 Lambda 函数完成时,我想停止它。
我对此进行了调查,发现我可以 运行 使用 Amazon EventBridge 规则的 Lambda 函数。我知道我可以在每天上午 4:00 时使用 CRON 表达式 0 4 * * ? *
到 运行。但是,我不确定如何首先 运行 ECS 容器任务以及如何在 Lambda 函数完成时停止任务。
其他信息:
Lambda 函数具有 Node.js 环境。
ECS 向 EventBridge (EB) 发出 events。您可以在 EB 中设置一个规则来捕获感兴趣的事件并触发您的 lambda 函数作为事件的目标。
示例 EB 规则可以是:
{
"source": [
"aws.ecs"
],
"detail-type": [
"ECS Task State Change"
],
"detail": {
"lastStatus": [
"RUNNING"
]
}
}
可以对规则进行其他自定义。
also how to stop the task when the Lambda function finishes.
您的 lambda 可以使用 AWS SDK for ECS 并停止任务。 EB 事件捕获将包含启动了哪个任务的信息。
您还可以通过步骤函数编排您的 lambda 和 ecs 任务:
我是 AWS 新手。我有一个 Lambda 函数,我想每天 运行 在 4:00 AM GMT。 Lambda 函数依赖于 AWS ECS 容器任务 运行ning。我希望能够触发 运行 它然后 运行 而不是 运行 将 AWS ECS 容器任务总是 运行 ] Lambda 任务准备就绪,最后当 Lambda 函数完成时,我想停止它。
我对此进行了调查,发现我可以 运行 使用 Amazon EventBridge 规则的 Lambda 函数。我知道我可以在每天上午 4:00 时使用 CRON 表达式 0 4 * * ? *
到 运行。但是,我不确定如何首先 运行 ECS 容器任务以及如何在 Lambda 函数完成时停止任务。
其他信息:
Lambda 函数具有 Node.js 环境。
ECS 向 EventBridge (EB) 发出 events。您可以在 EB 中设置一个规则来捕获感兴趣的事件并触发您的 lambda 函数作为事件的目标。
示例 EB 规则可以是:
{
"source": [
"aws.ecs"
],
"detail-type": [
"ECS Task State Change"
],
"detail": {
"lastStatus": [
"RUNNING"
]
}
}
可以对规则进行其他自定义。
also how to stop the task when the Lambda function finishes.
您的 lambda 可以使用 AWS SDK for ECS 并停止任务。 EB 事件捕获将包含启动了哪个任务的信息。
您还可以通过步骤函数编排您的 lambda 和 ecs 任务: