当我使用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示例。 有人可以帮忙吗?
非常感谢
答案 0 :(得分:1)
基于在official document中扩展包含低优先级虚拟机的池的章节,池自动扩展公式支持低优先级虚拟机仅支持三个变量:
targetLowPriorityNodes
,CurrentLowPriorityNodes
和PreemptedNodeCount
。
您可以看到PoolAddParameter
方法的source code,它只支持'target_low_priority_nodes': {'key': 'targetLowPriorityNodes', 'type': 'int'}
, targetLowPriority 确实无法找到。
因此,请使用target_low_priority_nodes
扩展包含低优先级VM的池。