批处理 API 和工具概述

使用 Azure Batch 处理并行工作负荷通常是使用批处理 API 之一以编程方式实现的。 客户端应用程序或服务可使用 Batch API 与 Batch 服务通信。 Batch API 允许用户创建和管理计算节点(虚拟机或云服务)池。 然后即可计划作业和任务,使之在这些节点上运行。

可以为组织高效处理大量工作负荷,或提供服务前端给客户,让他们可以在一个、数百个甚至数千个节点上,按需要或按计划运行作业和任务。

Tip

若要深入了解 Batch API 所提供的功能,请参阅 Batch feature overview for developers(面向开发人员的 Batch 功能概述)。

用于 Batch 开发的 Azure 帐户

开发 Batch 解决方案时,请在 Azure 中使用以下帐户。

  • Azure 帐户和订阅 - 如果还没有 Azure 订阅,可注册 Azure 帐户。 创建帐户时,系统为用户创建默认订阅。
  • 批处理帐户 - Azure Batch 资源(包括池、计算节点、作业和任务)都与 Azure Batch 帐户关联。 当应用程序针对 Batch 服务提出请求时,会使用 Azure Batch 帐户名称、帐户的 URL 以及访问密钥或 Azure Active Directory 令牌对请求进行身份验证。 可以通过 Azure 门户或编程方式创建 Batch 帐户
  • 存储帐户 - Batch 提供的内置支持允许处理 Azure 存储中的文件。 几乎每个 Batch 方案都使用 Azure Blob 存储暂存任务所运行的程序及其处理的数据,以及存储任务生成的输出数据。 若要创建存储帐户,请参阅 关于 Azure 存储帐户

批处理服务 API

应用程序和服务可以发出直接 REST API 调用或使用一个或多个下述客户端库,以便运行和管理 Azure Batch 工作负荷。

API API 参考 下载 教程 代码示例 更多信息
批处理 REST docs.microsoft.com 不适用 - - 支持的版本
Batch .NET docs.microsoft.com NuGet 教程 GitHub 发行说明
Batch Python docs.microsoft.com PyPI 教程 GitHub 自述文件
批处理 Node.js docs.microsoft.com npm 教程 - 自述文件
批处理 Java docs.microsoft.com Maven - 自述文件 自述文件

批处理管理 API

通过用于 Batch 的 Azure Resource Manager API,可以编程方式访问批处理帐户。 可以使用这些 API 通过 Microsoft.Batch 提供程序以编程方式管理 Batch 帐户、配额、应用程序包和其他资源。

API API 参考 下载 教程 代码示例
批次管理 REST docs.microsoft.com 不适用 - GitHub
Batch Management .NET docs.microsoft.com NuGet 教程 GitHub
批次管理 Python docs.microsoft.com PyPI - -
批次管理 Node.js docs.microsoft.com npm - -
批次管理 Java - Maven - -

批处理命令行工具

这些命令行工具提供的功能与批处理服务和批处理管理 API 相同:

适合应用程序开发的其他工具

下面是一些其他的工具,这些工具可能适合生成和调试批处理应用程序和服务:

  • Azure 门户:可以在 Azure 门户中创建、监视和删除 Batch 池、作业和任务。 用户运行作业时,可以查看这些资源和其他资源的状态信息,甚至从池中的计算节点下载文件。 例如,在进行故障排除时下载失败任务的 stderr.txt。 用户还可以下载可用于登录到计算节点的远程桌面 (RDP) 文件。
  • Azure BatchLabs:BatchLabs 是一个功能丰富的免费独立客户端工具,可帮助创建、调试和监视 Azure Batch 应用程序。 下载适用于 Mac、Linux 或 Windows 的安装包
  • Azure 存储资源管理器:严格地说,虽然存储资源管理器不算是 Azure Batch 工具,但却是开发和调试批处理解决方案时的另一个很有用的工具。

其他资源

后续步骤

  • 对于准备使用 Batch 的任何人,有必要阅读 面向开发人员的 Batch 功能概述了解基本信息。 本文中包含有关 Batch 服务资源(如池、节点、作业和任务)以及生成 Batch 应用程序时可以使用的许多 API 功能的更多详细信息。
  • 下载 GitHub 上的代码示例,了解如何通过综合使用 C# 和 Python 与批处理来计划和处理示例工作负荷。