【研发类-框架和库Skills】azure-compute-batch-java 技能 Azure Batch SDK for Java。运行大规模并行和HPC批处理作业包括池、作业、任务和计算节点。技能概述azure-compute-batch-java 技能提供了Azure Batch SDK for Java的完整使用指南。Azure Batch是一项托管服务用于在Azure中运行大规模并行和高性能计算HPC批处理作业。该技能帮助开发者管理池、作业、任务和计算节点实现高效的批处理计算。下载地址agentic-awesome-skills/skills/azure-compute-batch-java at main · sickn33/agentic-awesome-skills · GitHub主要功能池管理: 创建、调整、删除和管理计算节点池作业管理: 创建、监控和终止批处理作业任务管理: 创建、监控和管理计算任务节点操作: 管理计算节点包括重启和远程登录作业调度: 创建和管理定期运行的作业计划自动缩放: 根据工作负载动态调整池大小触发条件在以下情况下应该调用此技能:需要运行大规模并行批处理作业实现高性能计算HPC工作负载管理Azure Batch池和计算节点创建和调度批处理任务需要动态缩放计算资源核心概念概念描述Pool运行任务的计算节点集合Job任务的逻辑分组Task计算单元命令/脚本Node执行任务的虚拟机Job Schedule定期作业创建安装方法dependencygroupIdcom.azure/groupIdartifactIdazure-compute-batch/artifactIdversion1.0.0-beta.5/version/dependency使用示例示例1: 创建客户端import com.azure.compute.batch.BatchClient;import com.azure.compute.batch.BatchClientBuilder;import com.azure.identity.DefaultAzureCredentialBuilder;// 使用Microsoft Entra ID推荐BatchClient batchClient new BatchClientBuilder().credential(new DefaultAzureCredentialBuilder().build()).endpoint(System.getenv(AZURE_BATCH_ENDPOINT)).buildClient();// 使用共享密钥凭据import com.azure.core.credential.AzureNamedKeyCredential;String accountName System.getenv(AZURE_BATCH_ACCOUNT);String accountKey System.getenv(AZURE_BATCH_ACCESS_KEY);AzureNamedKeyCredential sharedKeyCreds new AzureNamedKeyCredential(accountName, accountKey);BatchClient batchClient new BatchClientBuilder().credential(sharedKeyCreds).endpoint(System.getenv(AZURE_BATCH_ENDPOINT)).buildClient();示例2: 创建池import com.azure.compute.batch.models.*;batchClient.createPool(new BatchPoolCreateParameters(myPoolId, STANDARD_DC2s_V2).setVirtualMachineConfiguration(new VirtualMachineConfiguration(new BatchVmImageReference().setPublisher(Canonical).setOffer(UbuntuServer).setSku(22_04-lts).setVersion(latest),batch.node.ubuntu 22.04)).setTargetDedicatedNodes(2).setTargetLowPriorityNodes(0),null);示例3: 创建作业和任务// 创建作业batchClient.createJob(new BatchJobCreateParameters(myJobId, new BatchPoolInfo().setPoolId(myPoolId)).setPriority(100).setConstraints(new BatchJobConstraints().setMaxWallClockTime(Duration.ofHours(24)).setMaxTaskRetryCount(3)),null);// 创建单个任务BatchTaskCreateParameters task new BatchTaskCreateParameters(task1, echo Hello World);batchClient.createTask(myJobId, task);// 创建多个任务ListBatchTaskCreateParameters taskList Arrays.asList(new BatchTaskCreateParameters(task1, echo Task 1),new BatchTaskCreateParameters(task2, echo Task 2),new BatchTaskCreateParameters(task3, echo Task 3));BatchTaskGroup taskGroup new BatchTaskGroup(taskList);BatchCreateTaskCollectionResult result batchClient.createTaskCollection(myJobId, taskGroup);示例4: 监控任务// 获取任务计数BatchTaskCountsResult counts batchClient.getJobTaskCounts(myJobId);System.out.println(Active: counts.getTaskCounts().getActive());System.out.println(Running: counts.getTaskCounts().getRunning());System.out.println(Completed: counts.getTaskCounts().getCompleted());// 获取任务输出import com.azure.core.util.BinaryData;import java.nio.charset.StandardCharsets;BinaryData stdout batchClient.getTaskFile(myJobId, task1, stdout.txt);System.out.println(new String(stdout.toBytes(), StandardCharsets.UTF_8));示例5: 自动缩放BatchPoolEnableAutoScaleParameters autoScaleParams new BatchPoolEnableAutoScaleParameters().setAutoScaleEvaluationInterval(Duration.ofMinutes(5)).setAutoScaleFormula($TargetDedicatedNodes min(10, $PendingTasks.GetSample(TimeInterval_Minute * 5)););batchClient.enablePoolAutoScale(myPoolId, autoScaleParams);最佳实践使用Entra ID: 优先于共享密钥进行身份验证使用管理SDK管理池: azure-resourcemanager-batch支持托管标识批量创建任务: 使用createTaskCollection或createTasks创建多个任务正确处理LRO: 池调整大小、删除操作是长时间运行的监控任务计数: 使用getJobTaskCounts跟踪进度设置约束: 配置maxWallClockTime和maxTaskRetryCount使用低优先级节点: 为容错工作负载节省成本启用自动缩放: 根据工作负载动态调整池大小环境变量AZURE_BATCH_ENDPOINThttps://account.region.batch.azure.com AZURE_BATCH_ACCOUNTaccount-name AZURE_BATCH_ACCESS_KEYaccount-key相关资源Maven包: Maven Central: com.azure:azure-compute-batchGitHub: azure-sdk-for-java/sdk/batch/azure-compute-batch at main · Azure/azure-sdk-for-java · GitHubAPI文档: com.azure.compute.batch Package | Microsoft Learn产品文档: https://learn.microsoft.com/azure/batch/REST API: https://learn.microsoft.com/rest/api/batchservice/示例: https://github.com/azure/azure-batch-samples限制说明仅当任务明确符合上述范围时使用此技能不要将输出视为环境特定验证、测试或专家审查的替代品如果缺少所需的输入、权限、安全边界或成功标准请停止并寻求澄清

相关新闻

最新新闻

数字孪生 + AI,不只是“好看“,这 4 个场景有了质的突破

数字孪生 + AI,不只是“好看“,这 4 个场景有了质的突破

一个园区数字孪生系统上线一年了,甲方运营负责人跟我说了句实话:"天天看,也不知道有什么用。领导来了打开演示一下,平时基本不登录。"与此同时,隔壁工厂项目组也做了一个数字孪生系统,但他们在上…

2026/7/23 23:56:23
Cesium初始化优化

Cesium初始化优化

1.imageryProvider:false跳过默认底图2.取消默认地形(按需启用):terrainProvider: undefined3.关闭不需要的部件4.nextTick分布:先渲染空白globa,再加载底图5.添加isReady供父组件感知6.去除默认背景:①开启webgl中alpha的背景透明。②Cesium 场景视觉配置 — 透明背…

2026/7/23 23:56:23
案例分享:施企云工程物资云×河南恒屹建设

案例分享:施企云工程物资云×河南恒屹建设

一、标杆案例:施企云工程物资云河南恒屹建设工程有限公司 多项目并行、异地管控难度大、材料成本居高不下,是跨区域经营建筑施工企业普遍面临的难题。河南恒屹建设工程有限公司(以下简称“河南恒屹建设”)深耕建筑施工行业多年&am…

2026/7/23 23:56:23
CNN与Transformer架构对比及计算机视觉应用指南

CNN与Transformer架构对比及计算机视觉应用指南

1. CNN与Transformer架构本质差异计算机视觉领域长期由卷积神经网络(CNN)主导,直到2020年Vision Transformer的出现打破了这一格局。两种架构的根本区别在于信息处理方式:CNN依靠局部感受野的层次化特征提取,而Transfo…

2026/7/23 23:56:23
HarmonyOS应用开发实战:萌宠日记 - 图片选择与本地媒体库访问

HarmonyOS应用开发实战:萌宠日记 - 图片选择与本地媒体库访问

HarmonyOS应用开发实战:萌宠日记 - 图片选择与本地媒体库访问 前言 图片选择 是相册功能的核心操作入口,用户需要从 本地媒体库 选择照片添加到相册中。在 萌宠日记 中,我们通过 HarmonyOS 的 photoAccessHelper API 访问系统相册&#xff0…

2026/7/23 23:56:23
统一实验范式下GSR与ECG的短时情感识别性能差异分析

统一实验范式下GSR与ECG的短时情感识别性能差异分析

导读: 当前生理信号情感识别领域已经证实单信号、短时程在技术上是可行的,有力推动了情感实时识别的发展,但是不同信号适用性差异尚不明确。本文在已证实有效的心电(ECG)短时情感识别框架下,系统引入皮肤电(GSR)信号在统一的实验…

2026/7/23 23:51:22

月新闻