【Azure Batch】在中国区批处理服务(Mooncake Batch Account)上实验自动池(Auto Pool)的创建/删除

简介: 【Azure Batch】在中国区批处理服务(Mooncake Batch Account)上实验自动池(Auto Pool)的创建/删除

问题描述

在Azure Batch的介绍文档中,提出了自动池的概念, 它可以在任务完成后,自动删除Pool资源,详细介绍:https://docs.azure.cn/zh-cn/batch/nodes-and-pools#autopools & https://learn.microsoft.com/zh-cn/rest/api/batchservice/job/add?tabs=HTTP#autopoolspecification

自动池是在提交作业时由 Batch 服务创建的池,而不是在创建将在池中运行的作业之前创建的。

Batch 服务将根据指定的特征管理自动池的生存期。

大多数情况下,这些池也设置为在其作业完成后自动删除。

 

虽然在自动池的文档中包含了示例,但是示例中的创建的Task需要一个 myprogram2.exe 应用,并且设置的 cloudServiceConfiguration 属性值已经不在可用。 所以,为了简化在中国区的Batch Account服务上实现自动池进行了本次实验。

 

问题解答

基于示例中,创建Task的 JSON 内容,需要做一下几点的修改:

1) POST 的请求 URL 从 Batch Account Overview 页面中 Account endpoint 复制。

account.region.batch.azure.com/jobs?api-version=2023-05-01.17.0


//变为

<your batch account>.<chinanorth3>.batch.chinacloudapi.cn/jobs?api-version=2023-05-01.17.0

2) Task中的commandLine内容修改为简单的CMD指令

"commandLine": "cmd /c  \"echo %date% %time% & set AZ_BATCH & timeout /t 90 > NUL & timeout /nobreak /t 10000 & echo 'what is your name?' & echo %date% %time%  \"",

3) Pool 的信息,指定 vm size 和 image

"pool": {
        "vmSize": "STANDARD_A1_V2",
         "virtualMachineConfiguration": {
            "imageReference": {
                "publisher": "microsoftwindowsserver",
                "offer": "windowsserver",
                "sku": "2019-datacenter-core-smalldisk",
                "version": "latest"
            },
            "nodeAgentSKUId": "batch.node.windows amd64",
            "licenseType": null,
            "nodePlacementConfiguration": {
                "policy": "Regional"
            }
        },

4)此处,获取Authorization的方式为从Azure门户上(F12 --> Network Trace )抓取Batch Task页面的Token

完成以上4步后,即可通过Postman或其他REST API工具发送POST请求。

 

完整的Task Body内容为:

{
  "id": "jobId-2",
  "priority": 100,
  "constraints": {
    "maxWallClockTime": "PT1H",
    "maxTaskRetryCount": -1
  },
  "jobManagerTask": {
    "id": "taskId",
    "commandLine": "cmd /c  \"echo %date% %time% & set AZ_BATCH & timeout /t 90 > NUL & timeout /nobreak /t 10000 & echo 'what is your name?' & echo %date% %time%  \"",
    "constraints": {
      "maxWallClockTime": "PT1H",
      "maxTaskRetryCount": 0,
      "retentionTime": "PT1H"
    },
    "requiredSlots": 2,
    "killJobOnCompletion": false,
    "userIdentity": {
      "autoUser": {
        "scope": "task",
        "elevationLevel": "admin"
      }
    },
    "runExclusive": true
  },
  "poolInfo": {
    "autoPoolSpecification": {
      "autoPoolIdPrefix": "mypool",
      "poolLifetimeOption": "job",
      "pool": {
        "vmSize": "STANDARD_A1_V2",
         "virtualMachineConfiguration": {
            "imageReference": {
                "publisher": "microsoftwindowsserver",
                "offer": "windowsserver",
                "sku": "2019-datacenter-core-smalldisk",
                "version": "latest"
            },
            "nodeAgentSKUId": "batch.node.windows amd64",
            "licenseType": null,
            "nodePlacementConfiguration": {
                "policy": "Regional"
            }
        },
        "resizeTimeout": "PT15M",
        "targetDedicatedNodes": 1,
        "targetLowPriorityNodes": 0,
        "taskSlotsPerNode": 1,
        "taskSchedulingPolicy": {
          "nodeFillType": "spread"
        },
        "enableAutoScale": false,
        "enableInterNodeCommunication": true,
        "metadata": [
          {
            "name": "myproperty",
            "value": "myvalue"
          }
        ],
        "targetNodeCommunicationMode": "default"
      }
    }
  }
}

请求的URL及Header:

POST  https://XXXXXXXXXXXXXX.chinanorth3.batch.chinacloudapi.cn/jobs?api-version=2023-05-01.17.0

 

Accept: */*

User-Agent: Thunder Client (https://www.thunderclient.com)

Content-Type: application/json; odata=minimalmetadata

Authorization: Bearer Token

 

示例Demo:

 

参考资料

自动池: https://docs.azure.cn/zh-cn/batch/nodes-and-pools#autopools

Job - Add : https://learn.microsoft.com/zh-cn/rest/api/batchservice/job/add?tabs=HTTP#autopoolspecification

相关文章
|
4天前
|
网络安全 数据库
【Azure Batch Account】批处理服务是否可以固定出口访问IP地址呢?
本文介绍了如何解决Azure Batch Account服务访问受防火墙保护资源的问题。由于Batch Account没有固定的出口IP地址,需要将其所有IP地址加入防火墙白名单。文章提供了创建具有指定公共IP地址的Batch池的方法,并详细说明了配置步骤和注意事项。参考文档包括Azure IP范围和服务标签以及创建具有指定公共IP地址的Azure Batch池的官方指南。
|
4月前
|
存储
【Azure 存储服务】Azure Data Lake Storage (ADLS) Gen2 GRS Failover是否支持自动切换或者手动切换到灾备的终结点呢?
【Azure 存储服务】Azure Data Lake Storage (ADLS) Gen2 GRS Failover是否支持自动切换或者手动切换到灾备的终结点呢?
|
4月前
|
缓存
EMR Remote Shuffle Service实践问题之Mapper的首次PushData请求如何解决
EMR Remote Shuffle Service实践问题之Mapper的首次PushData请求如何解决
|
4月前
|
JavaScript
【Azure 批处理 】Azure Batch门户中创建自定义作业模式失败解决办法
【Azure 批处理 】Azure Batch门户中创建自定义作业模式失败解决办法
|
4月前
|
存储 分布式计算 Hadoop
【Azure 存储服务】Hadoop集群中使用ADLS(Azure Data Lake Storage)过程中遇见执行PUT操作报错
【Azure 存储服务】Hadoop集群中使用ADLS(Azure Data Lake Storage)过程中遇见执行PUT操作报错
|
4月前
|
JSON 安全 数据格式
【Azure 环境】Azure Resource Graph Explorer 中实现动态数组数据转换成多行记录模式 - mv-expand
【Azure 环境】Azure Resource Graph Explorer 中实现动态数组数据转换成多行记录模式 - mv-expand
|
5月前
|
运维 关系型数据库 流计算
实时计算 Flink版产品使用问题之作业运维界面无状态启动并指定时间和代码里指'scan.startup.mode'='latest-offset',哪个优先级更高
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
资源调度 Java Serverless
Serverless 应用引擎操作报错合集之用的NAS空间,出现报错:IOException: No space left on device,是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
机器学习/深度学习 人工智能 NoSQL
人工智能平台PAI产品使用合集之save_summary_steps这个配置项我设置了值为50,为什么还是1000个step才记录一次summaries
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
7月前
|
消息中间件 Java 数据库连接
实时计算 Flink版产品使用合集之将sdkMode从rpc模式改为jdbc模式后,table.exec.mini-batch.enabled参数还生效吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。