Azure批处理客户端,如何测试有效性

本文关键字:测试有效性 批处理 客户端 Azure | 更新日期: 2023-09-27 18:17:31

我正在与Azure批处理API集成,并基于我传递的凭据构建一个客户端对象。我想知道的是,如何测试连接是否有效,凭据是否正确?我在API上看不到任何东西来做这个。您可以只创建BatchClient对象,然后调用其上的操作来列出作业,池等,如果您的初始凭据错误,所有这些操作都会失败并出现复杂的错误。我希望能够在尝试任何其他操作之前测试不正确的凭据。有人知道怎么做吗?

var client = BatchClient.Open(new BatchSharedKeyCredentials(
                                string.Format("https://{0}.{1}.batch.azure.com",
                                        _primaryBatchAccountName,
                                        _primaryRegion),
                                _primaryBatchAccountName,
                                _primaryBatchAccountKey));

这是创建客户机对象的代码。但它不会抛出任何错误,即使你传递给它完全错误的值。只有当你尝试对它做任何事情时,你才会得到错误。

Azure批处理客户端,如何测试有效性

BatchClient不保持持久连接"打开"。它只是在需要时(即当您使用方法时)向目标端点发出REST请求。

据我所知,在尝试使用BatchClient实际与服务器通信之前,没有办法确定您是否拥有"正确的"凭据值或端点数据。这是因为客户端实际上不可能知道哪些端点是有效的,也不可能知道"有效"凭据是什么样子的,或者您指定的凭据是否正确(服务器必须验证)。

我能想到的最好的建议是尝试发出一个简单的API调用(如ListJobs或其他),并确保它成功完成。这应该验证您的BatchClient工作