azure batch network_configuration - > "未能验证"

时间:2017-10-23 15:12:55

标签: python azure azure-batch

我正在使用Azure批处理服务在ubuntu节点上进行计算,它运行正常。最近我想将节点更改为在同一个子网上,因此我将来可以使用mpi,也可以使用NFS来访问公共文件服务器上的文件。

但是在添加之后:

network_configuration = batchmodels.NetworkConfiguration(subnet_id=subnet.id)

到我的batchmodels.PoolAddParameter我突然收到:

  

{' value':'服务器无法验证请求。确保   形成授权标头的值   正确\ nRequestId:a815194a-8a66-4cb4-847e-60db4ca3ff10 \ n时间:2017-10-23T15:04:00.3938448Z&#39 ;,   ' lang':' en-US'}

为什么有任何想法?如果没有network_configuration,我的游泳池开始正常......

2 个答案:

答案 0 :(得分:2)

终于让它发挥作用......

我需要为此处使用的两个客户端提供相同的凭据(然后再次不完全)。此外,我需要在应用程序中激活批处理我必须设置以获取凭据...我结束了这样的事情:

def get_credentials(res):
    if res=='mgmt':
        r='https://management.core.windows.net/'
    elif res=='batch':
        r="https://batch.core.windows.net/"

    credentials = ServicePrincipalCredentials(
        client_id = id,
        secret = secret,
        tenant = tenant,
        resource = r
    )
    return credentials
network_client = NetworkManagementClient(get_credentials('mgmt'), sub_id)
batch_client = batch.BatchServiceClient( get_credentials('batch'), base_url=batchserviceurl)

答案 1 :(得分:0)

您需要使用Azure Active Directory通过批处理服务进行身份验证,以便在具有批处理服务池分配模式帐户(默认设置)的池上启用NetworkConfiguration