Microsoft Azure Batch Python客户端库
项目描述
Microsoft Azure SDK for Python
这是Microsoft Azure Batch客户端库。
此包已在Python 3.6+上进行了测试
有关更完整的Azure库集,请参阅https://aka.ms/azsdk/python/all
用法
有关代码示例,请参阅GitHub上的Batch示例仓库或查看docs.microsoft.com上的Batch。
提供反馈
如果您遇到任何错误或有建议,请在项目的问题部分提交问题。
发布历史
14.2.0 (2024-02-01)
新增功能
- 向
CloudPool
定义中添加了UpgradePolicy
以用于池创建- 添加了
AutomaticOSUpgradePolicy
,以包含自动操作系统升级的配置参数。 - 添加了
RollingUpgradePolicy
,以包含滚动升级的配置参数。
- 添加了
14.1.0 (2023-11-01)
新增功能
-
在池创建中添加了对资源标签的支持,以便用户可以为池指定资源标签。此功能目前仅支持池创建,但将来将可更新。
- 在
PoolSpecification
定义中添加了resourceTags
属性。 - 在
CloudPool
定义中添加了resourceTags
属性。
- 在
-
在池创建中添加了对
SecurityProfile
的支持。可信启动为来宾操作系统提供高级安全,防止引导加载程序/根工具(如未签名驱动程序或内核修改)被引入引导链中。- 在
VirtualMachineConfiguration
定义中添加了serviceArtifactReference
和securityProfile
属性。
- 在
-
在池创建中添加了对
ServiceArtifactReference
和OSDisk
的支持。- 在
StorageAccountType
枚举中添加了standardssd_lrs
值。 - 在
NodePlacementPolicyType
定义中添加了caching
、managedDisk
、diskSizeGB
和writeAcceleratorEnabled
属性。 - 在
VirtualMachineInfo
定义中添加了scaleSetVmResourceID
属性。
- 在
14.0.0 (2023-05-01)
新增功能
- 在
NetworkConfiguration
中添加了布尔属性enableAcceleratedNetworking
。- 此属性确定此池是否应启用加速网络,默认值为False。
- 此功能是否可以启用还与操作系统/虚拟机实例是否受支持有关,应与加速网络策略(加速网络限制和约束)一致。
- 在
VMExtension
中添加了布尔属性enableAutomaticUpgrade
。- 此属性确定如果扩展有可用的新版本,平台是否应自动升级该扩展。
- 在
ContainerConfiguration
中添加了新属性type
。可能的值包括:dockerCompatible
和criCompatible
。
重大变更
- 删除了生命周期统计API。此API不再受支持。
- 删除了
job.get_all_lifetime_statistics
API。 - 删除了
pool.get_all_lifetime_statistics
API。
- 删除了
其他变更
- 弃用与
CertificateOperations
相关的方 法。- 此操作正在弃用,将在2024年2月后删除。请改用Azure KeyVault扩展。
13.0.0 (2022-11-08)
新增功能
- 添加了新的自定义枚举类型
NodeCommunicationMode
。- 此属性确定池如何与Batch服务通信。
- 可能值:默认值、经典、简化。
- 在
CloudPool
中添加了类型为NodeCommunicationMode
的属性current_node_communication_mode
和target_node_communication_mode
。 - 在
PoolSpecification
、PoolAddParameter
、PoolPatchParameter
和PoolUpdatePropertiesParameter
中添加了类型为NodeCommunicationMode
的属性target_node_communication_mode
。
12.0.0 (2022-02-01)
功能
- 在
OutputFileBlobContainerDestination
中添加了属性uploadHeaders
。- 允许用户在资源文件上传时设置自定义HTTP头。
- 类型为HttpHeader的数组(也正在添加)。
- 在
JobSpecification
、CloudJob
、JobAddParameter
、JobPatchParameter
和JobUpdateParameter
中添加了布尔属性allow_task_preemption
。- 将任务标记为可抢占,以便为更高优先级的任务腾出空间(需要Comms-Enabled或Single Tenant Pool)。
- 将“低优先级”的注释(标题、描述等)引用替换为“Spot/Low-Priority”,以反映新的服务行为。
- 无需API更改。
- 低优先级计算节点(虚拟机)将继续用于用户订阅池(以及仅用于用户订阅池),如之前一样。
- 现在,Spot计算节点(虚拟机)将用于批量管理(以及仅用于批量管理池)池。
- 相关文档
11.0.0 (2021-07-30)
功能
- 增加将用户分配的托管标识分配给
CloudPool
的功能。这些标识将在每个节点上可用,并可用来访问各种资源。 - 向以下模型添加了
identity_reference
属性以支持通过托管标识访问资源AzureBlobFileSystemConfiguration
OutputFileBlobContainerDestination
ContainerRegistry
ResourceFile
UploadBatchServiceLogsConfiguration
- 向
BatchServiceClient
添加了新的compute_node_extension
操作,用于获取/列出节点上的 VM 扩展 - 向
CloudPool
上的VirtualMachineConfiguration
添加了新的extensions
属性,用于指定节点的虚拟机扩展 - 通过在
VirtualMachineConfiguration
上添加新的node_placement_configuration
属性,增加了指定可用区的功能 - 向
VirtualMachineConfiguration
添加了新的os_disk
属性,它包含虚拟机操作系统磁盘的设置。DiffDiskSettings
上的placement
属性指定了池中所有 VM 的操作系统磁盘的临时磁盘位置。将其设置为 "CacheDisk" 将将临时 OS 磁盘存储在 VM 缓存中。
- 在
CloudJob
上添加了max_parallel_tasks
属性,用于控制每个作业允许的最大任务数(默认为 -1,表示无限制)。 - 在
ComputeNode
上添加了virtual_machine_info
属性,它包含有关虚拟机当前状态的信息,包括 VM 使用的市场映像的确切版本。
10.0.0 (2020-09-01)
功能
- [破坏性更改] 将池上的
maxTasksPerNode
属性替换为taskSlotsPerNode
。使用此属性,作业中的任务可以消耗动态数量的槽位,从而提供对资源消耗的更精细控制。 - [破坏性更改] 将
GetTaskCounts
的响应类型更改为返回TaskCountsResult
,它是一个复杂对象,包含以前的TaskCounts
对象和一个新的TaskSlotCounts
对象,提供类似的信息,但针对槽位的使用。 - 向任务添加了
requiredSlots
属性,允许用户指定节点上它应占用多少个槽位。
9.0.0 (2020-03-24)
功能
- 通过在
VirtualMachineConfiguration
上的新disk_encryption_configuration
属性中添加了加密ComputeNode
磁盘驱动器的功能。 - [破坏性更改] 现在,
ImageReference
的virtual_machine_id
属性只能引用共享映像库映像。 - [破坏性更改] 现在可以使用
NetworkConfiguration
上的新public_ip_address_configuration
属性来配置池而无需公共 IP。NetworkConfiguration
的public_ips
属性也已移动到public_ip_address_configuration
。此属性只能在ip_provisioning_type
为UserManaged
时指定。
REST API 版本
此版本的 Batch .NET 客户端库针对 Azure Batch REST API 的版本 2020-03-01.11.0。
8.0.0 (2019-8-5)
- 使用 REST API 版本 2019-08-01.10.0。
- 通过在
NetworkConfiguration
上添加新的public_ips
属性,增加了指定一组公共 IP 的功能。这确保池中的节点将具有用户提供的 IP 列表中的一个 IP。 - 通过在
CloudPool
上的mount_configuration
属性中添加了将远程文件系统挂载到池中的每个节点的功能。 - 现在可以在
ImageReference
的virtual_machine_image_id
属性中指定共享映像库映像,通过引用其 ARM ID 来引用映像。 - 破坏性更改 当未指定时,现在
StartTask
上的wait_for_success
的默认值为True
(以前为False
)。 - 破坏性更改 当未指定时,现在
AutoUserSpecification
上的scope
的默认值始终为Pool
(在 Windows 节点上为Task
,在 Linux 节点上为Pool
)。
- 通过在
7.0.0 (2019-6-11)
- 使用 REST API 版本 2019-06-01.9.0。
- 重大变更 将
AccountOperations.list_node_agent_skus
替换为AccountOperations.list_supported_images
。list_supported_images
包含了原来在list_node_agent_skus
中可用的所有信息,但以更清晰的方式呈现。现在也会返回新的未验证镜像。在list_supported_images
返回的ImageInformation
对象上可以访问有关capabilities
和batch_support_end_of_life
的附加信息。 - 现在支持基于流量的源端口,通过
network_security_group_rules
的source_port_ranges
属性来阻止对CloudPool
的网络访问。 - 在运行容器时,Batch 现在支持在容器工作目录或 Batch 任务工作目录中执行任务。这由
TaskContainerSettings
上的working_directory
属性控制。
- 重大变更 将
6.0.1 (2019-2-26)
- 修复了 TaskOperations.add_collection 方法的异常处理中的错误。
6.0.0 (2018-12-14)
- 使用 REST API 版本 2018-12-01.8.0。
- 重大变更 在
CloudServiceConfiguration
池中移除了对upgrade_os
API 的支持。- 移除了
PoolOperations.upgrade_os
API。 - 将
target_os_version
重命名为os_version
并在CloudServiceConfiguration
中移除了current_os_version
。 - 从
PoolState
枚举中移除了upgrading
状态。
- 移除了
- 重大变更 从
PoolUsageMetrics
中移除了data_egress_gi_b
和data_ingress_gi_b
。这些属性不再受支持。 - 重大变更 ResourceFile 改进
- 在
ResourceFile
中添加了指定整个 Azure 存储容器的功能。现在有三种支持的模式用于ResourceFile
http_url
创建指向单个 HTTP URL 的ResourceFile
。storage_container_url
创建指向 Azure Blob 存储容器下 blob 的ResourceFile
。auto_storage_container_name
创建指向 Azure Blob 存储容器下 blob 的ResourceFile
,这些 blob 在 Batch 注册的自动存储账户下。
- 通过
http_url
属性提供的给ResourceFile
的 URL 现在可以是任何 HTTP URL。之前,这些必须是一个 Azure Blob 存储URL。 - 可以通过
blob_prefix
属性过滤 Azure Blob 存储容器下的 blob。
- 在
- 重大变更 从
VirtualMachineConfiguration
中移除了os_disk
属性。此属性不再受支持。 - 对于将
NetworkConfiguration
上的dynamic_vnet_assignment_scope
设置为DynamicVNetAssignmentScope.job
的池,现在可以动态地为每个在作业任务上运行的节点分配虚拟网络。要连接到节点的特定虚拟网络在新的network_configuration
属性上指定于CloudJob
和JobSpecification
。- 注意:此功能处于公共预览版。除了已与我们联系并请求加入试点测试的账户外,所有 Batch 账户均已禁用。
- 任务的最大生存期现在是 180 天(之前是 7 天)。
- 在 Windows 池中添加了对通过
WindowsUserConfiguration.login_mode
创建具有特定登录模式(batch
或interactive
)的用户的支持。 - 现在所有任务的默认保留时间为 7 天,之前是无限期。
- 重大变更 在
- 重大变更 在
BatchServiceClient
类中将base_url
参数重命名为batch_url
,并且现在是必需的。
5.1.1 (2018-10-16)
错误修复
- 修复认证类以允许重用 HTTP 会话
注意
- 在 Python 3(基于 PEP420 的命名空间包)上不再安装 azure-nspkg。
5.1.0 (2018-08-28)
- 更新操作 TaskOperations.add_collection,以下为添加的功能
- 重试服务器端错误。
- 自动将超过 100 个任务的列表分成多个请求。
- 如果任务太大,无法以 100 个任务为一组提交,则减少每个请求的任务数量。
- 在提交任务时添加一个参数,用于指定要使用的线程数。
5.0.0 (2018-08-24)
- 使用REST API版本2018-08-01.7.0。
- 在ComputeNode中添加了
node_agent_info
,以返回节点代理信息。 - 重大变更 从
TaskCounts
中删除了validation_status
属性。 - 重大变更
DataDisk
和OSDisk
的默认缓存类型现在是read_write
,而不是none
。
- 在ComputeNode中添加了
BatchServiceClient
可以用作上下文管理器,以保持底层HTTP会话开启,以提高性能。- 重大变更 模型签名现在仅使用关键字参数语法。每个位置参数必须重写为关键字参数。
- 重大变更 以下操作签名已更改
- 操作 PoolOperations.enable_auto_scale
- 操作 TaskOperations.update
- 操作 ComputeNodeOperations.reimage
- 操作 ComputeNodeOperations.disable_scheduling
- 操作 ComputeNodeOperations.reboot
- 操作 JobOperations.terminate
- 枚举类型现在使用"str"混入(类AzureEnum(str, Enum))来改进遇到未识别枚举值时的行为。
4.1.3 (2018-04-24)
- 更新了一些API的注释
- 在
node_counts
类型中添加了新的属性leaving_pool
。
4.1.2 (2018-04-23)
错误修复
- 与wheel 0.31.0的sdist兼容性
- 与msrestazure 0.4.28兼容性
4.1.1 (2018-03-26)
- 修复了方法
enable_auto_scale
的回归问题。
4.1.0 (2018-03-07)
- 使用REST API版本2018-03-01.6.1。
- 添加了通过新方法
list_pool_node_counts
按状态查询池节点计数的功能。 - 添加了通过
upload_batch_service_logs
方法从特定节点上传Azure Batch节点代理日志的功能。- 这旨在供Microsoft支持在节点存在问题时代码进行调试使用。
4.0.0 (2017-09-25)
- 使用REST API版本2017-09-01.6.0。
- 如果你有要部署的OS SKUs的本地许可证,可以通过
VirtualMachineConfiguration
上的license_type
获取Windows VM定价的折扣。 - 通过在
VirtualMachineConfiguration
上添加新的data_disks
属性,支持将空数据驱动器附加到基于VirtualMachineConfiguration
的池。 - 重大变更 现在必须使用ARM Image的引用来部署自定义映像,而不是直接指向blob中的.vhd文件。
ImageReference
上的新virtual_machine_image_id
属性包含ARM Image的引用,并且OSDisk.image_uris
不再存在。- 因此,现在
image_reference
是VirtualMachineConfiguration
的必需属性。
- 重大变更 现在多实例任务(使用
MultiInstanceSettings
创建)必须指定coordination_commandLine
,而number_of_instances
现在是可选的,默认为1。 - 添加了对使用Docker容器运行任务的支持。要使用Docker容器运行任务,必须在池的
VirtualMachineConfiguration
上指定container_configuration
,然后在任务上添加container_settings
。
3.1.0 (2017-07-24)
- 添加了新操作
job.get_task_counts
,用于检索每个状态中的任务数。 - 添加了对池上的入站端点配置的支持 - 在
NetworkConfiguration
上有新的pool_endpoint_configuration
属性。此属性仅支持使用virtual_machine_configuration
的池。 ComputeNode
现在还有一个具有该节点应用端点配置详细信息的endpoint_configuration
属性。
3.0.0 (2017-05-10)
- 添加了对新的低优先级节点类型的支持;
AddPoolParameter
和PoolSpecification
现在有一个额外的属性target_low_priority_nodes
。 CloudPool
、AddPoolParameter
和PoolSpecification
上的target_dedicated
和current_dedicated
已被重命名为target_dedicated_nodes
和current_dedicated_nodes
。CloudPool
上的resize_error
现在是一个名为resize_errors
的集合。- 在
ComputeNode
上添加了一个新的is_dedicated
属性,对于低优先级节点,该属性为false
。 - 向
JobManagerTask
中添加了新的allow_low_priority_node
属性,如果设置为true
,则允许JobManagerTask
在低优先级的计算节点上运行。 PoolResizeParameter
现在接受两个可选参数,即target_dedicated_nodes
和target_low_priority_nodes
,而不是一个必需的参数target_dedicated
。必须指定这两个参数中的至少一个。- 通过在
CloudTask
和JobManagerTask
上的OutputFiles
属性,添加了对上传任务输出文件到持久存储的支持。 - 通过在
ExitConditions
上的file_upload_error
属性,添加了对基于任务输出文件上传状态执行操作的支持。 - 通过所有任务执行信息对象上的新
result
属性,添加了对确定任务是否成功或失败的支持。 - 将所有任务执行信息对象上的
scheduling_error
重命名为failure_information
。当任务失败时,将返回TaskFailureInformation
(替代TaskSchedulingError
),这包括所有以前的调度错误情况,以及非零任务退出代码,以及来自新输出文件功能的文件上传失败。 - 将
SchedulingErrorCategory
枚举重命名为ErrorCategory
。 - 将
ExitConditions
上的scheduling_error
重命名为pre_processing_error
,以更清楚地说明错误在任务生命周期中发生的时间。 - 通过在
PoolAddParameter
、CloudPool
和PoolSpecification
上添加新的application_licenses
属性,添加了对向您的池中提供应用程序许可证的支持。请注意,此功能处于受控的公共预览阶段,您必须通过支持票据请求访问。 - 已用扩展的
LinuxUserConfiguration
对象替换了UserAccount
对象的ssh_private_key
属性,该对象具有用户账户的用户ID和组ID的额外设置。 - 从
AddTaskStatus
、CertificateFormat
、CertificateVisibility
、CertStoreLocation
、ComputeNodeFillType
、OSType
和PoolLifetimeOption
中删除了unmapped
枚举状态,因为它们从未使用过。 - 改进并明确了文档。
2.0.1 (2017-04-19)
- 现在使用azure wheel扩展构建了这个轮包。
2.0.0 (2017-02-23)
- 现在支持AAD令牌认证。
- 一些操作名称已更改(以及它们相关的参数模型类)
- pool.list_pool_usage_metrics -> pool.list_usage_metrics
- pool.get_all_pools_lifetime_statistics -> pool.get_all_lifetime_statistics
- job.get_all_jobs_lifetime_statistics -> job.get_all_lifetime_statistics
- file.get_node_file_properties_from_task -> file.get_properties_from_task
- file.get_node_file_properties_from_compute_node -> file.get_properties_from_compute_node
- 与文件操作相关的属性'file_name'已重命名为'file_path'。
- 枚举值命名约定更改,使用下划线:例如,StartTaskState.waitingforstarttask -> StartTaskState.waiting_for_start_task。
- 支持在预定义或自动用户账户下运行任务。这包括任务、作业管理任务、作业准备和释放任务以及池启动任务。此功能取代了任务上的先前“run_elevated”选项。
- 任务现在有一个可选的限定范围的认证令牌(仅适用于任务和作业管理任务)。
- 支持使用用户账户列表创建池。
- 支持使用自定义VM镜像创建池(仅支持使用“用户订阅”池分配模式创建的账户)。
1.1.0 (2016-09-15)
- 添加了对任务重新激活的支持。
1.0.0 (2016-08-09)
- 添加了对使用网络配置属性将CloudPool连接到虚拟网络的支持。
- 添加了对CloudTask和JobManagerTask上的应用程序包引用的支持。
- 通过在
on_all_tasks_complete
属性和CloudTask的退出条件属性中,添加了对在所有任务完成或任务失败时自动终止作业的支持。
0.30.0rc5
- 初始发布
项目详细信息
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分布
azure-batch-14.2.0.tar.gz (243.8 kB 查看哈希值)
构建分布
azure_batch-14.2.0-py3-none-any.whl (243.3 kB 查看哈希值)
关闭
azure-batch-14.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c79267d6c3d3fe14a16a422ab5bbfabcbd68ed0b58b6bbcdfa0c8345c4c78532 |
|
MD5 | dcd487eb27659624d63568e39578c658 |
|
BLAKE2b-256 | 353e4611960f8ceb281285d764f32a0e88515fab4e1e32ff5d02bc77e55bbcb6 |
关闭
azure-batch-14.2.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 115ccff0007852784ccf8fc12f5f3d415ed80513be306da7a8938ca82d948ee7 |
|
MD5 | 62f7c9340855940bca1cbbf8ba5aa60f |
|
BLAKE2b-256 | 141542aa83f62dc47e00bed0e590d19252c24b94b8c3b740d9bce33ec867e785 |