![](/img/trans.png)
[英]How to get a metric/alarm on a failed scheduled AWS ECS task (based on exit code)
[英]How do I get an exit code from an Amazon ECS Task?
当我在 Amazon AWS ECS 容器中启动任务时,我需要通过 Java SDK 以编程方式恢复退出代码。
它出现在 Amazon Web 界面中,在 SDK 中我可以获得基于文本的失败原因,但是有没有办法获得显式退出代码?
退出代码可通过DescribeTasks
API作为每个容器的exitCode
获得。
这就是我获取任务特定容器名称的退出代码的方式
aws ecs describe-tasks \
--cluster $ECS_CLUSTER \
--tasks $TASK_ARN \
--query "tasks[0].containers[?name=='$CONTAINER_NAME'].exitCode" \
--output text
在脚本中
AWS_PROFILE=default
ECS_CLUSTER=cluster_name
CONTAINER_NAME=migrate
# Run task and get its arn
# NOTE: many of the necessary cli inputs have been omitted here
TASK_ARN=$(aws ecs run-task \
--cluster $ECS_CLUSTER \
--query 'tasks[].taskArn' \
--output text | rev | cut -d'/' -f1 | rev)
# Wait for ecs task to stop
aws ecs wait tasks-stopped \
--cluster $ECS_CLUSTER \
--tasks $TASK_ARN
# Get exit code
TASK_EXIT_CODE=$(aws ecs describe-tasks \
--cluster $ECS_CLUSTER \
--tasks $TASK_ARN \
--query "tasks[0].containers[?name=='$CONTAINER_NAME'].exitCode" \
--output text)
# exit with the same code
exit $TASK_EXIT_CODE
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.