【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

相关文章
|
3月前
|
JavaScript
【Azure 批处理 】Azure Batch门户中创建自定义作业模式失败解决办法
【Azure 批处理 】Azure Batch门户中创建自定义作业模式失败解决办法
|
5月前
|
机器学习/深度学习 人工智能 NoSQL
人工智能平台PAI产品使用合集之save_summary_steps这个配置项我设置了值为50,为什么还是1000个step才记录一次summaries
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
消息中间件 Java 数据库连接
实时计算 Flink版产品使用合集之将sdkMode从rpc模式改为jdbc模式后,table.exec.mini-batch.enabled参数还生效吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
弹性计算 固态存储 网络安全
使用Count功能批量创建资源
本场景将以批量创建ECS实例和EIP,并为ECS实例绑定EIP为例,为您介绍如何使用Count功能。
Linkerd 2.10(Step by Step)—修改代理日志级别
Linkerd 2.10(Step by Step)—修改代理日志级别
176 0
|
Kubernetes Java Linux
Linkerd 2.10(Step by Step)—配置代理并发
Linkerd 2.10(Step by Step)—配置代理并发
175 0
SAP QM Batch to Batch的转移过账事务中的Vendor Batch
SAP QM Batch to Batch的转移过账事务中的Vendor Batch
SAP QM Batch to Batch的转移过账事务中的Vendor Batch
|
机器学习/深度学习 存储 人工智能
TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了
8 月中旬,谷歌大脑成员 Martin Wicke 在一封公开邮件中宣布,新版本开源框架——TensorFlow 2.0 预览版将在年底之前正式发布。今日,在上海谷歌开发者大会上,机器之心独家了解到一个重大的改变将会把 Eager Execution 变为 TensorFlow 默认的执行模式。这意味着 TensorFlow 如同 PyTorch 那样,由编写静态计算图全面转向了动态计算图。
203 0
TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了