【发布时间】:2021-03-30 19:30:56
【问题描述】:
当我将文件上传到 s3 存储桶时,会触发一个事件并启动 AWS 批处理作业。有什么方法可以在我的 java 代码中检查 AWS 批处理作业的状态。当 AWS 批处理作业的状态为 SUCCEEDED 时,我必须执行一些操作。
【问题讨论】:
标签: java amazon-web-services amazon-s3 aws-lambda
当我将文件上传到 s3 存储桶时,会触发一个事件并启动 AWS 批处理作业。有什么方法可以在我的 java 代码中检查 AWS 批处理作业的状态。当 AWS 批处理作业的状态为 SUCCEEDED 时,我必须执行一些操作。
【问题讨论】:
标签: java amazon-web-services amazon-s3 aws-lambda
您可以选择使用 ListJobs / DescribeJobs API 来轮询状态。
ListJobsResult listJobs(ListJobsRequest listJobsRequest) 返回一个 AWS Batch 作业列表。
您必须仅指定以下项目之一:
- 一个作业队列 ID,用于返回该作业队列中的作业列表
- 用于返回该作业节点列表的多节点并行作业 ID
- 一个数组作业 ID,用于返回该作业的子项列表
您可以使用 jobStatus 参数按作业状态过滤结果。 如果不指定状态,则只返回 RUNNING 作业。
如果您更喜欢事件驱动的架构,您也可以监听在作业从一种状态转换到另一种状态时发出的 CloudWatch 事件。
【讨论】: