Azure BatchErrorException:指定的操作对于资源的当前状态无效
场景: 我在azure批处理中针对池创建了一个作业。现在,我创建了另一个池,并希望将我的作业指向新创建的池。 我使用azure批处理SDK编写以下代码Azure BatchErrorException:指定的操作对于资源的当前状态无效,azure,azure-batch,Azure,Azure Batch,场景: 我在azure批处理中针对池创建了一个作业。现在,我创建了另一个池,并希望将我的作业指向新创建的池。 我使用azure批处理SDK编写以下代码 import azure.batch.batch_service_client as batch batch_service_client = batch.BatchServiceClient(credentials, batch_url = account_url) job_id="LinuxTrainingJob" po
import azure.batch.batch_service_client as batch
batch_service_client = batch.BatchServiceClient(credentials, batch_url = account_url)
job_id="LinuxTrainingJob"
pool_id="linux-e6a63ad4-9e52-4b9a-8b09-2a0249802981"
pool_info = batch.models.PoolInformation(pool_id=pool_id)
job_patch_param = batch.models.JobPatchParameter(pool_info=pool_info)
batch_service_client.job.patch(job_id, job_patch_param)
这给了我以下的错误
BatchErrorException Traceback (most recent call last)
<ipython-input-104-ada32b24d6a0> in <module>
2 pool_info = batch.models.PoolInformation(pool_id=pool_id)
3 job_patch_param = batch.models.JobPatchParameter(pool_info=pool_info)
----> 4 batch_service_client.job.patch(job_id, job_patch_param)
~/anaconda3/lib/python3.8/site-packages/azure/batch/operations/job_operations.py in patch(self, job_id, job_patch_parameter, job_patch_options, custom_headers, raw, **operation_config)
452
453 if response.status_code not in [200]:
--> 454 raise models.BatchErrorException(self._deserialize, response)
455
456 if raw:
BatchErrorException: {'additional_properties': {}, 'lang': 'en-US', 'value': 'The specified operation is not valid for the current state of the resource.\nRequestId:46074112-9a99-4569-a078-30a7f4ad2b91\nTime:2020-10-06T17:52:43.6924378Z'}
要将作业分配给另一个池,必须调用API以从池中排出当前正在运行的任务。然后您可以调用以分配一个新的poolId来运行。更新后,您可以调用以继续执行作业。若要将作业分配给另一个池,您必须调用API以从池中排出当前正在运行的任务。然后您可以调用以分配一个新的poolId来运行。更新后,您可以调用以继续执行作业
azure-batch==9.0.0
python 3.8.3
Ubuntu 18.04