cod*_*ons 8 batch-processing amazon-web-services aws-batch
我正在使用 AWS Batch 并已开始使用数组作业。
AWS_BATCH_JOB_ARRAY_INDEX作为环境变量传递给容器。
数组大小是否以某种方式传递?必须知道该指数是与 5 个职位相关还是与 1000 个职位相关。目前,我将其作为我自己的环境变量传递,但认为该信息已经以某种方式传递到容器。
目前这是不可能的。我已经提出了一个功能请求,您可以在这里投票: https: //github.com/aws/containers-roadmap/issues/1631
与此同时,我找到了一个巧妙的解决方法。阵列工作人员的作业 ID 似乎符合$PARENT_JOB_ID:$AWS_BATCH_JOB_ARRAY_INDEX. 因此,只要您可以依赖数组工作 ID 的这种格式,您就可以描述父作业并从中获取数组总大小。这是一个使用的示例boto3:
import os
import boto3
worker_job_id = os.environ['AWS_BATCH_JOB_ID']
parent_job_id = worker_job_id.split(":")[0]
response = boto3.client('batch').describe_jobs(jobs=[parent_job_id])
parent_job = response['jobs'][0]
array_size = parent_job.get('arrayProperties', {}).get("size")
print("array_size =", array_size)
Run Code Online (Sandbox Code Playgroud)
Gow*_*and -1
如果我的理解是正确的,您是在问数组大小应该在aws批处理中传递到哪里吗?
在作业部分中,单击提交作业 - 在环境中选择阵列。
请参阅:https ://docs.aws.amazon.com/batch/latest/userguide/submit_job.html
| 归档时间: |
|
| 查看次数: |
1514 次 |
| 最近记录: |