跳转到主要内容

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

提供反馈

如果您遇到任何错误或有建议,请在项目的问题部分提交问题。

Impressions

发布历史

14.2.0 (2024-02-01)

新增功能

  • CloudPool定义中添加了UpgradePolicy以用于池创建
    • 添加了AutomaticOSUpgradePolicy,以包含自动操作系统升级的配置参数。
    • 添加了RollingUpgradePolicy,以包含滚动升级的配置参数。

14.1.0 (2023-11-01)

新增功能

  • 在池创建中添加了对资源标签的支持,以便用户可以为池指定资源标签。此功能目前仅支持池创建,但将来将可更新。

    • PoolSpecification定义中添加了resourceTags属性。
    • CloudPool定义中添加了resourceTags属性。
  • 在池创建中添加了对SecurityProfile的支持。可信启动为来宾操作系统提供高级安全,防止引导加载程序/根工具(如未签名驱动程序或内核修改)被引入引导链中。

    • VirtualMachineConfiguration定义中添加了serviceArtifactReferencesecurityProfile属性。
  • 在池创建中添加了对ServiceArtifactReferenceOSDisk的支持。

    • StorageAccountType枚举中添加了standardssd_lrs值。
    • NodePlacementPolicyType定义中添加了cachingmanagedDiskdiskSizeGBwriteAcceleratorEnabled属性。
    • VirtualMachineInfo定义中添加了scaleSetVmResourceID属性。

14.0.0 (2023-05-01)

新增功能

  • NetworkConfiguration中添加了布尔属性enableAcceleratedNetworking
    • 此属性确定此池是否应启用加速网络,默认值为False。
    • 此功能是否可以启用还与操作系统/虚拟机实例是否受支持有关,应与加速网络策略(加速网络限制和约束)一致。
  • VMExtension中添加了布尔属性enableAutomaticUpgrade
    • 此属性确定如果扩展有可用的新版本,平台是否应自动升级该扩展。
  • ContainerConfiguration中添加了新属性type。可能的值包括:dockerCompatiblecriCompatible

重大变更

  • 删除了生命周期统计API。此API不再受支持。
    • 删除了job.get_all_lifetime_statistics API。
    • 删除了pool.get_all_lifetime_statistics API。

其他变更

  • 弃用与CertificateOperations相关的方 法。

13.0.0 (2022-11-08)

新增功能

  • 添加了新的自定义枚举类型NodeCommunicationMode
    • 此属性确定池如何与Batch服务通信。
    • 可能值:默认值、经典、简化。
  • CloudPool中添加了类型为NodeCommunicationMode的属性current_node_communication_modetarget_node_communication_mode
  • PoolSpecificationPoolAddParameterPoolPatchParameterPoolUpdatePropertiesParameter中添加了类型为NodeCommunicationMode的属性target_node_communication_mode

12.0.0 (2022-02-01)

功能

  • OutputFileBlobContainerDestination中添加了属性uploadHeaders
    • 允许用户在资源文件上传时设置自定义HTTP头。
    • 类型为HttpHeader的数组(也正在添加)。
  • JobSpecificationCloudJobJobAddParameterJobPatchParameterJobUpdateParameter中添加了布尔属性allow_task_preemption
    • 将任务标记为可抢占,以便为更高优先级的任务腾出空间(需要Comms-Enabled或Single Tenant Pool)。
  • 将“低优先级”的注释(标题、描述等)引用替换为“Spot/Low-Priority”,以反映新的服务行为。

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 磁盘驱动器的功能。
  • [破坏性更改] 现在,ImageReferencevirtual_machine_id 属性只能引用共享映像库映像。
  • [破坏性更改] 现在可以使用 NetworkConfiguration 上的新 public_ip_address_configuration 属性来配置池而无需公共 IP。
    • NetworkConfigurationpublic_ips 属性也已移动到 public_ip_address_configuration。此属性只能在 ip_provisioning_typeUserManaged 时指定。

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 属性中添加了将远程文件系统挂载到池中的每个节点的功能。
    • 现在可以在 ImageReferencevirtual_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_imageslist_supported_images 包含了原来在 list_node_agent_skus 中可用的所有信息,但以更清晰的方式呈现。现在也会返回新的未验证镜像。在 list_supported_images 返回的 ImageInformation 对象上可以访问有关 capabilitiesbatch_support_end_of_life 的附加信息。
    • 现在支持基于流量的源端口,通过 network_security_group_rulessource_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_bdata_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 属性上指定于 CloudJobJobSpecification
      • 注意:此功能处于公共预览版。除了已与我们联系并请求加入试点测试的账户外,所有 Batch 账户均已禁用。
    • 任务的最大生存期现在是 180 天(之前是 7 天)。
    • 在 Windows 池中添加了对通过 WindowsUserConfiguration.login_mode 创建具有特定登录模式(batchinteractive)的用户的支持。
    • 现在所有任务的默认保留时间为 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属性。
    • 重大变更 DataDiskOSDisk的默认缓存类型现在是read_write,而不是none
  • 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_referenceVirtualMachineConfiguration的必需属性。
  • 重大变更 现在多实例任务(使用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)

  • 添加了对新的低优先级节点类型的支持;AddPoolParameterPoolSpecification现在有一个额外的属性target_low_priority_nodes
  • CloudPoolAddPoolParameterPoolSpecification上的target_dedicatedcurrent_dedicated已被重命名为target_dedicated_nodescurrent_dedicated_nodes
  • CloudPool上的resize_error现在是一个名为resize_errors的集合。
  • ComputeNode上添加了一个新的is_dedicated属性,对于低优先级节点,该属性为false
  • JobManagerTask中添加了新的allow_low_priority_node属性,如果设置为true,则允许JobManagerTask在低优先级的计算节点上运行。
  • PoolResizeParameter现在接受两个可选参数,即target_dedicated_nodestarget_low_priority_nodes,而不是一个必需的参数target_dedicated。必须指定这两个参数中的至少一个。
  • 通过在CloudTaskJobManagerTask上的OutputFiles属性,添加了对上传任务输出文件到持久存储的支持。
  • 通过在ExitConditions上的file_upload_error属性,添加了对基于任务输出文件上传状态执行操作的支持。
  • 通过所有任务执行信息对象上的新result属性,添加了对确定任务是否成功或失败的支持。
  • 将所有任务执行信息对象上的scheduling_error重命名为failure_information。当任务失败时,将返回TaskFailureInformation(替代TaskSchedulingError),这包括所有以前的调度错误情况,以及非零任务退出代码,以及来自新输出文件功能的文件上传失败。
  • SchedulingErrorCategory枚举重命名为ErrorCategory
  • ExitConditions上的scheduling_error重命名为pre_processing_error,以更清楚地说明错误在任务生命周期中发生的时间。
  • 通过在PoolAddParameterCloudPoolPoolSpecification上添加新的application_licenses属性,添加了对向您的池中提供应用程序许可证的支持。请注意,此功能处于受控的公共预览阶段,您必须通过支持票据请求访问。
  • 已用扩展的LinuxUserConfiguration对象替换了UserAccount对象的ssh_private_key属性,该对象具有用户账户的用户ID和组ID的额外设置。
  • AddTaskStatusCertificateFormatCertificateVisibilityCertStoreLocationComputeNodeFillTypeOSTypePoolLifetimeOption中删除了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 查看哈希值)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面