batch.models.PoolAddParameter,具有python的低优先级节点

时间:2017-08-30 17:06:05

标签: python azure

当我使用batch.models.PoolAddParameter时如下:

new_pool = batch.models.PoolAddParameter(
    id=pool_id,
    vm_size=pool_vm_size,
    target_dedicated=pool_node_count,
    target_low_priority=pool_lowprioritynode_count,
    max_tasks_per_node=pool_max_tasks_per_node,
    cloud_service_configuration=batch.models.CloudServiceConfiguration(
        os_family=os_family,
        target_os_version=target_os_version,
    ),
    application_package_references=[batch.models.ApplicationPackageReference(
        application_id=application_id,
        version=application_version,
    )],
    start_task=batch.models.StartTask(
        command_line=wrap_commands_in_shell('windows', task_commands),
        run_elevated=True,
        wait_for_success=True,
        resource_files=resource_files),
    task_scheduling_policy=batch.models.TaskSchedulingPolicy(
        node_fill_type=batch.models.ComputeNodeFillType.spread)
    )

我收到以下错误:

TypeError: __init__() got an unexpected keyword argument 'target_lowpriority'

我试过

target_lowpriority

target_lowpriority_nodes

target_low_priority

target_low_priority_nodes

没有target_lowpriority(和变体),它的工作正常 我在线查看了各种azure文档,但找不到带有target_low_priority_nodes的batch.models.PoolAddParameter示例。 有人可以帮忙吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

基于在official document中扩展包含低优先级虚拟机的池的章节,池自动扩展公式支持低优先级虚拟机仅支持三个变量:   targetLowPriorityNodesCurrentLowPriorityNodesPreemptedNodeCount

您可以看到PoolAddParameter方法的source code,它只支持'target_low_priority_nodes': {'key': 'targetLowPriorityNodes', 'type': 'int'} targetLowPriority 确实无法找到。

因此,请使用target_low_priority_nodes扩展包含低优先级VM的池。