Azure 批处理的 Bug,从任务项初始化作业对象

本文关键字:初始化 作业 对象 任务 批处理 Bug Azure | 更新日期: 2023-09-27 18:37:06

要添加任务,如Microsoft官方教程所示,我必须制作一个初始化链。这是代码。

var cred = new BatchCredentials(Credentials.AzureBatch.Name, Credentials.AzureBatch.AccountKey);
        var batchClient = BatchClient.Connect(Credentials.AzureBatch.Uri, cred);
        var workItemManager = batchClient.OpenWorkItemManager();
        _job = workItemManager.GetJob(Credentials.AzureBatch.Name, "job-0000000001");

问题是代码执行在下一行停止。

_job = workItemManager.GetJob(Credentials.AzureBatch.Name, "job-0000000001");

然后引发一个异常,说明为 {"远程服务器返回错误:(404) 未找到。我假设,在服务器上找不到同名的作业。但根据教程,名称在其自动创建时给定作业,以及创建工作项。怎么了?

Azure 批处理的 Bug,从任务项初始化作业对象

您的代码没有显示工作项创建部分,我假设您已经这样做了。如果没有,则需要先创建工作项。

工作项和作业创建不同步。因此,可能已创建工作项,但未创建作业。只需捕获异常并重试,直到找到工作。

@ccoxton是正确的,您可以从 https://code.msdn.microsoft.com/windowsazure/Azure-Batch-Explorer-c1d37768 下载批处理资源管理器。这应该可以让您了解服务器上发生的情况。

下载 Azure 批处理资源管理器应用程序,并将你的帐户连接到该应用程序。这将显示正在运行的池、工作项和作业。必须有一个正在运行的工作项,该代码才能正常工作。用于创建工作项的代码可能存在问题。

这里下载批处理资源管理器代码。https://github.com/Azure/azure-batch-samples/tree/master/CSharp/BatchExplorer