Microsoft.Azure.Batch 16.2.0

已保留前缀
dotnet add package Microsoft.Azure.Batch --version 16.2.0                
NuGet\Install-Package Microsoft.Azure.Batch -Version 16.2.0                
此命令旨在在 Visual Studio 中的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Microsoft.Azure.Batch" Version="16.2.0" />                
对于支持 PackageReference 的项目,请将此 XML 节复制到项目文件中以引用包。
paket add Microsoft.Azure.Batch --version 16.2.0                
#r "nuget: Microsoft.Azure.Batch, 16.2.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此内容复制到交互式工具或脚本的源代码中以引用包。
// Install Microsoft.Azure.Batch as a Cake Addin
#addin nuget:?package=Microsoft.Azure.Batch&version=16.2.0

// Install Microsoft.Azure.Batch as a Cake Tool
#tool nuget:?package=Microsoft.Azure.Batch&version=16.2.0                

许可说明

Azure Batch C# 客户端现在采用 MIT 许可证。在 2017 年 3 月 10 日之前它采用 Apache 2.0 许可证。

Azure Batch SDK 开发者指南

Microsoft.Azure.Batch.sln 是您获得与 Azure Batch C# 客户端库相关的所有相关信息的单点。此解决方案文件包含与 Azure Batch 客户端相关的所有项目(包括测试和工具)。

更改 Azure Batch 客户端

根据您希望进行的更改类型,所需的工作量会有所不同。如果你遵循这个流程,就不应该有任何遗漏。

  1. 更新存放在 Azure/azure-rest-api-specs GitHub 仓库(具体见 此处)中的 Azure Batch Swagger 规范。
    • 在 Swagger 规范中添加新的实体类型。
    • 在 Swagger 规范中添加新的 API 以路径-动词对的形式。
    • 在 Swagger 规范中添加/删除现有实体类型的属性。
  2. 按照以下步骤重新生成 src\GeneratedProtocol 文件夹:[在此处生成 src\GeneratedProtocol 文件夹的步骤](#generate-the-srcgeneratedprotocol-folder-using-autorest)。
  3. 更新位于 Tools\ObjectModelCodeGenerator\Spec 中的对应便利层规范文件。
    • 添加与 Swagger 中定义的实体匹配的新实体。
    • 在 Swagger 规范中按照相同的步骤添加/删除现有实体的属性。
    • 确保文档得到适当更新以反映 Swagger 规范中的更改(查看 API 版本的 Swagger 差分通常很有帮助)。
  4. 使用以下步骤从便利层规范文件重新生成 src\Generated 文件夹:[在此处生成 src\Generated 文件夹的步骤](#generate-the-srcgenerated-folder)。
  5. 将任何自定义代码添加到 src 目录中的 partial 类中的 Generated 对象。
    • 你可能想要这样做以添加 [Obsolete] 属性或添加一些辅助工厂方法。
  6. 如果有任何 API 已更改,或添加了新的 API,必须更新以下位置:
    • src\IProtocolLayer.cs 接口。
    • src\ProtocolLayer.cs 类。
    • 对应的操作类,例如 PoolOperations.cs
    • 操作执行的对应实体,例如 CloudPool.cs
  7. 将您的新模型和 API 的测试添加到正确的测试项目中。
    • Azure.Batch.Unit.Tests 用于单元测试。这些测试没有任何外部依赖(它们完全在内存中运行)并在持续集成作业中用于验证提交。
    • BatchClientIntegrationTests 用于集成测试。这些测试针对实际的 Azure Batch 端点运行,并在 CI 中不运行。有关如何运行这些测试的更多详细信息,请参阅 [运行端到端测试](#running-the-end-to-end-tests)。
    • 注意:应该在可能的情况下优先添加单元测试而不是集成测试——集成测试应该保留以确保 Batch 服务接受 Swagger 请求。应在一个服务测试中测试服务行为,而不是在客户端。
  8. 更新 CHANGELOG.md 文件和在 src/Microsoft.Azure.Batch.csproj 中的 Version 标签。确保如果你进行了重大更改,请更新版本号的主版本。
  9. 运行测试并确保通过。
  10. https://github.com/Azure/azure-sdk-for-net 上打开 PR。

使用 AutoRest 生成 src\GeneratedProtocol 文件夹

GeneratedProtocol 文件夹包含由来自 Swagger 规范的 AutoRest 工具生成的代码。AutoRest 工具有自己的命令行界面,你可以直接使用它,或者你可以运行以下命令:

生成 src\Generated 文件夹

此文件夹包含 Azure Batch 的便利层模型。它是从自定义工具生成的。自定义工具读取位于 Tools\ObjectModelCodeGenerator\Spec 的所有规范文件。便利层模型比 Swagger 规范提供的元数据更多,因此此文件是 Swagger 之上的额外映射层,提供更多详细信息。注意:这些规范文件都与模型有关,它们与实际 API 没有关系。

  1. 这里还需要添加 Swagger 规范中定义的新实体。以现有实体为例。
  2. 如果属性的属性类型或名称在底层的 Swagger 规范中发生了变化,也应在本地进行更新。

规范文件中有许多具有特定意义的特殊标志。查看支持哪些标志及其级别的最简单方法是通过查看后台代码生成代码

  1. 对于属性:Tools\ObjectModelCodeGeneration\CodeGenerationLibrary\PropertyData.cs
  2. 对于类型:Tools\ObjectModelCodeGeneration\CodeGenerationLibrary\ObjectModelTypeData.cs

Tools\ObjectModelCodeGenerator\Spec 中添加并更新所需文件后,将 ObjectModelCodeGenerator 标记为 Visual Studio 的启动项目,并运行它 - 它将重新生成 src\Generated 文件夹的内容。

运行端到端测试

完整的端到端测试通过需要 20-40 分钟。以下环境变量必须设置才能使端到端测试生效 - 建议设置一个脚本来设置所有这些设置,以便以后可以轻松重用

  1. MABOM_BatchAccountEndpoint:您的 Batch 账户的端点,例如 https://<account>.<region>.batch.azure.com
  2. MABOM_BatchAccountSubscriptionId:您的 Batch 和存储账户所在的订阅 ID。请注意,您的存储账户和 Batch 账户需要位于同一订阅中。
  3. MABOM_BatchAccountResourceGroupName:您的 Batch 账户所在的资源组。
  4. MABOM_BatchAccountName:您的 Batch 账户的名称。
  5. MABOM_BatchAccountKey:您的 Batch 账户的密钥。
  6. MABOM_StorageAccountResourceGroupName:您的存储账户资源组的名称。
  7. MABOM_StorageAccount:您的存储账户的名称。
  8. MABOM_StorageKey:您的存储账户的密钥。
  9. MABOM_BlobEndpoint:存储账户的 blob 端点,例如 https://<account>.blob.core.windows.net
  10. MABOM_BatchManagementEndpoint:您要针对的租户的管理端点。这通常是 https://management.azure.com/
  11. MABOM_AzureAuthenticationClientId:具有对您使用的订阅(#2)的参与者访问权限的 AAD 应用注册表的客户端 ID。
  12. MABOM_AzureAuthenticationClientSecret:App 注册表的密钥(#11)。

如果您运行针对测试租户的测试,还必须设置

  1. MABOM_BatchTRPExtraHeaders 为 x-ms-version=2015-12-01;x-ms-client-tenant-id=microsoft.onmicrosoft.com
  2. MABOM_BatchTRPCertificateThumbprint:用于与 Batch 资源提供者进行身份验证的指纹。
产品 兼容和额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp1.0 已计算。 netcoreapp1.1 已计算。 netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard1.4 兼容。 netstandard1.5 已计算。 netstandard1.6 已计算。 netstandard2.0 兼容。 netstandard2.1 已计算。
.NET Framework net452 支持。 net46 已计算。 net461 支持。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen30 已计算。 tizen40 已计算。 tizen60 已计算。
Universal Windows Platform uap 已计算。 uap10.0 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解有关 目标框架.NET Standard 的更多信息。

NuGet 包 (3)

显示依赖于 Microsoft.Azure.Batch 的前 3 个 NuGet 包

下载
Microsoft.Azure.Batch.Conventions.Files

此库封装了一组用于Azure Batch任务和作业输出的存储约定,便于客户端通过任务ID、作业ID和输出类型浏览和检索输出。

Microsoft.Azure.Batch.FileStaging

此库简化了在Microsoft Azure Batch服务中用于任务的资源文件的上传。详细信息请访问我们的主页 - http://azure.microsoft.com/services/batch/。技术概述请参阅http://azure.microsoft.com/documentation/articles/batch-technical-overview/。API参考请参阅http://go.microsoft.com/fwlink/?LinkId=717949。

ProWorks.Azure.Batch

包描述

GitHub仓库 (5)

显示依赖Microsoft.Azure.Batch的GitHub最受欢迎的前5个仓库

仓库 星标
Azure/azure-sdk-for-net
此仓库用于.NET Azure SDK的活跃开发。对于SDK的消费者,我们建议访问我们的公共开发者文档https://learn.microsoft.com/dotnet/azure/或我们的版本化开发者文档https://azure.github.io/azure-sdk-for-net。
Azure/azure-powershell
Microsoft Azure PowerShell
Azure-Samples/azure-batch-samples
Azure Batch和HPC代码示例
microsoft/CromwellOnAzure
Microsoft Genomics在Azure上的Broad Institute的Cromwell工作流引擎实现
APSIMInitiative/ApsimX
ApsimX是APSIM的下一代
版本 下载 最后更新
16.2.0 66,431 2/29/2024
16.1.0 31,037 1/27/2024
16.0.0 175,625 6/15/2023
15.4.0 242,546 11/1/2022
15.3.0 361,733 1/14/2022
15.1.0 258,139 8/11/2021
15.0.0 16,540 7/31/2021
14.0.0 355,405 9/29/2020
13.0.0 295,493 3/6/2020
12.0.0 200,831 8/7/2019
11.0.0 147,013 6/6/2019
10.1.0 88,458 2/25/2019
10.0.0 76,198 12/14/2018
9.0.1 81,742 11/2/2018
9.0.0 45,943 8/24/2018
8.1.2 115,789 5/24/2018