繁体   English   中英

如何从 Amazon ECS 任务获取退出代码?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM