使用板克隆工作

clone a job using boto

我点击 "clone job" 按钮,更改环境变量并提交第二个作业。现在两个工作都运行没有任何问题。

但我有一个 python 列表,其中包含几千个变量,这些变量需要循环提供给此作业。也就是说,job需要"cloned"1000次。出于显而易见的原因,我需要使用 boto 来完成它。但是使用 boto 克隆作业的最佳方法是什么?网上的教程展示了创建工作的整个过程。

"containerOverrides" 参数相当于网页界面的 "clone job" 功能。提交作业方法将如下所示...

client.submit_job(
    jobName=JOB_NAME,
    jobQueue=JOB_QUEUE,
    jobDefinition=JOB_DEFINITION,
    containerOverrides={"environment": [{"name": "senderid", "value": "XXXX"}]},
)

完整代码如下所示:

import boto3
session = boto3.Session(
    aws_access_key_id="xxx",
    aws_secret_access_key="xxxx",
    region_name="us-east-1",
)
client = session.client("batch")
JOB_NAME = "nlptensorboto1"
JOB_QUEUE = "arn:aws:batch:us-east-1:302xxx:job-queue/nlpmljob"
JOB_DEFINITION = "arn:aws:batch:us-east-1:302xxx:job-definition/nlptensor:1"

client.submit_job(
    jobName=JOB_NAME,
    jobQueue=JOB_QUEUE,
    jobDefinition=JOB_DEFINITION,
    containerOverrides={"environment": [{"name": "senderid", "value": "xxx"}]},
)