跳转到主要内容

Microsoft Azure Batch扩展功能

项目描述

Microsoft Azure 批处理扩展

https://travis-ci.org/Azure/azure-batch-cli-extensions.svg?branch=master

此项目是 Microsoft Azure 命令行界面(Azure CLI)的预览版,用于展示 Azure 批处理中拟议的功能。有关 Azure CLI 的更多信息,请参阅官方文档

此项目的目的是允许客户尝试拟议的批处理功能,并提供反馈以帮助塑造批处理服务的方向。此处展示的功能可能与其他批处理客户端 SDK 和工具不兼容,也不一定会被纳入核心批处理服务。

由于这些功能仍处于预览阶段,它们将定期更新,并根据客户反馈进行优化。不幸的是,这可能导致偶尔的破坏性更改,尽管将尽力将其控制在最低限度。

功能

  • 将输入数据上传到与批处理链接的存储帐户

    新增一条命令,允许用户将一组文件直接上传到与其 Azure 批处理帐户链接的存储帐户。

  • 使用链接存储帐户引用输入数据

    存储在链接存储中的文件组中的输入数据可以通过一些新的 ResourceFile 属性简单地被任务引用。

  • 自动将任务输出文件持久化到文件组

    在声明任务输出文件时,现在可以将输出持久化到命名文件组,而无需生成容器 SAS URL。

  • 直接从存储下载作业输出

    新增一条命令,允许用户从与其 Azure 批处理帐户链接的存储帐户中的文件组下载作业输出文件。

  • 具有参数化的池和作业模板

    模板允许使用受 ARM 模板启发的格式在参数化 json 文件中定义池和作业。

  • 在作业提交时自动生成任务的工厂

    任务工厂提供了一种方式,可以在一个命令中创建作业及其所有任务,而不是为每个任务调用 azure batch task create。目前有三种类型的任务工厂

    • 任务集合 - 任务明确定义为作业的一部分

    • 参数扫描 - 通过将一系列值替换到模板中创建一系列任务

    • 按文件 - 模板任务针对每个可用的输入文件进行复制

  • 使用可重用应用程序模板分割作业配置和管理

    应用程序模板提供了一种将作业的详细信息分为两部分的方式。所有关于如何处理作业的详细信息都移到了 应用程序模板 中,创建了一个可重用的定义,它独立于特定帐户。应用程序模板是参数化的,允许在不修改模板本身的情况下自定义处理。

  • 通过包管理器轻松安装软件

    与现有的第三方包管理器集成以简化应用程序的安装。目前支持以下包管理器

    • Chocolatey - 用于 Windows

    • APT - 一些 Linux 发行版(包括 Ubuntu、Debian 和 Fedora)使用。

    • Yum - 一些 Linux 发行版(包括 Red Hat Enterprise Linux、Fedora、CentOS)使用的包管理器。

示例

所有预览功能的示例可以在 这里找到

SDK 安装

$ pip install azure-batch-extensions

CLI 扩展安装

为了使用这些功能,您必须安装 Azure CLI。您可以在官方文档Azure CLI GitHub 仓库中找到更多信息。

此扩展包可以安装以补充现有的 Azure CLI 批量命令。您可以使用 CLI 扩展工具(推荐)进行安装。

$ az extension add -n azure-batch-cli-extensions

CLI 的每个版本都附带 azure-batch-cli-extensions 的特定版本。这被认为是 CLI 发布的官方版本。如果您想安装不同版本,可以指定https://github.com/Azure/azure-batch-cli-extensions/releases/上列出的任何发布版本。要添加特定扩展版本并固定它

$ az extension add --source https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-x.x.x/azure_batch_cli_extensions-x.x.x-py2.py3-none-any.whl

卸载 CLI 扩展

您可以使用 az extension remove 命令来删除 CLI 扩展

$ az extension remove -n azure-batch-cli-extensions

Azure 批处理账户要求

为了使用此处预览的新功能,您需要一个具有链接存储账户的 Azure 批处理账户。有关更多信息,请参阅使用 Azure 门户创建 Azure 批处理账户

贡献

本项目采用了Microsoft 开源行为准则。有关更多信息,请参阅行为准则常见问题解答或通过opencode@microsoft.com联系以获取任何额外的问题或评论。

开发者安装

准备您的机器

  1. https://pythonlang.cn安装 Python 3.5.x。请注意,预装在 OSX 上的 Python 版本是 2.7。

  2. 克隆您的仓库并切换到 master 分支。

  3. 在您的克隆根目录下为 Python 3.5 创建一个新的虚拟环境“env”。您可以通过运行以下命令来完成此操作:

Windows

python -m venv <clone root>\env

OSX/Ubuntu (bash)

python –m venv <clone root>/env
  1. 通过运行以下命令激活 env 虚拟环境:

Windows

<clone root>\env\scripts\activate.bat

OSX/Ubuntu (bash)

. <clone root>/env/bin/activate
  1. 安装依赖项并使用 pip 将命令模块作为本地包加载。

python scripts/dev_setup.py

SDK 发布历史

9.0.0 (2022-08-30)

  • 更新到最新 Python SDK,并采用相关破坏性更改。

8.0.0 (2020-06-15)

  • 更新到最新 Python SDK,并采用相关破坏性更改。

7.0.0 (2019-08-20)

  • 更新到最新 Python SDK,并采用相关破坏性更改。

  • 在模板解析中添加对 ARM 对象语法的支持。

6.0.1 (2019-06-20)

  • 与 Python SDK 对齐,对共享模型进行破坏性更改

5.0.5 (2019-02-25)

  • 修复 blobSource 转换为 httpUrl 中的错误

5.0.4 (2019-02-25)

  • 修复在模板中指定 mergeTask 导致任务添加失败的错误

5.0.3 (2019-02-19)

  • 修复 blobSource 不再是 ExtendedResourceFile 属性的错误

  • 提高测试覆盖率

5.0.2 (2019-02-15)

  • 修复 apiVersion 成为必需的错误

5.0.1 (2019-02-15)

  • 修复 knack.get_logger 被用于代替 logging.getLogger 的错误

5.0.0 (2019-02-01)

  • 与 Python SDK 对齐,对共享模型进行破坏性更改

  • 这还包括将所有模型合并到单个 models 文件中。模型现在应从 models 命名空间导入,而不是从它们的单独文件导入。

4.0.2 (2018-10-06)

  • ExtendedTaskOperation 功能移至标准 Azure 批处理 SDK

4.0.1 (2018-10-04)

  • 清理代码以满足 Python 标准

4.0.0 (2018-08-29)

  • 破坏性更改 模型签名现在只使用关键字参数语法。每个位置参数都必须重写为关键字参数。

3.1.2 (2018-08-22)

  • 修复与存储操作配置错误的错误

3.1.1 (2018-7-19)

  • 启用使用云壳 AAD 令牌进行扩展 SDK

  • 修复在具有奇数 CPU 内核的机器上使用默认线程数提交任务时的错误

3.1.0 (2018-7-17)

  • 与 Python SDK 对齐以共享模型

3.0.0 (2018-6-20)

  • 更新 ExtendedTaskOperations 的 add_collection 函数以重试因服务器错误而失败的请求。

  • 更新 ExtendedTaskOperations 的 add_collection 函数以跟踪因客户端错误而失败的请求,并在发生任何错误时引发 CreateTasksErrorException。

  • 输入模板/json 的元素可以不区分大小写。

  • 参数 json 文件中的转义不需要双重转义。

  • 文件操作的回调包括文件名。

2.0.0 (2018-6-1)

  • 将命名空间重命名为 azext.batch

1.1.2 (2018-5-21)

  • 更新 ExtendedTaskOperations 的 add_collection 函数以处理行为良好的任务的 RequestBodyTooLarge 错误。

  • 更新 ExtendedTaskOperations 的 add_collection 函数以启用并行度。

1.1.1 (2018-4-10)

  • 使用 azure-storage-blob 作为依赖项。

  • 模板扩展仅接受 JSON 字典对象。

  • 修复了一些小错误。

1.0.1 (2017-10-10)

  • 更好地支持 Python 2.7 中的 Unicode。

1.0.0 (2017-10-03)

  • 支持 Batch SDK 版本 4.0。

  • 在 MultiInstanceSettings 中添加了对 extended_common_resource_files 的支持。

  • 在任务中添加了对本地容器(包括任务工厂中的 RepeatTask)的支持。

0.2.0 (2017-07-29)

  • 支持 Batch SDK 版本 3.1。

  • 修复了池操作系统版本检测的错误。

  • 从文件组下载现在支持前缀。

  • 支持使用 /bin/sh 检测 Linux 命令。

0.1.1 (2017-07-10)

  • 修复以支持 azure-cli-core v2.0.11。

0.1.0 (2017-06-28)

  • 首次预览版发布。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

azure-batch-extensions-9.0.0.tar.gz (79.2 kB 查看散列值)

上传时间

构建分布

azure_batch_extensions-9.0.0-py2.py3-none-any.whl (82.5 kB 查看散列值)

上传时间 Python 2 Python 3

由以下机构支持