问题描述

在Azure Batch的介绍文档中,提出了自动池的概念, 它可以在任务完成后,自动删除Pool资源,详细介绍:https://docs.azure.cn/zh-cn/batch/nodes-and-pools#autopoolshttps://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

 

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

  1. 批处理框架-spring Batch

    并发处理业务 数据量大,并发度高,要支持事物,回滚,并发机制.事务.并发.监控.执行等,并不提供相应的调度功能.因此,如果我们希望批处理任务定期执行,可结合 Quartz 等成熟的调度框架实现. 业务 ...

  2. 【转】大数据批处理框架 Spring Batch全面解析

    如今微服务架构讨论的如火如荼.但在企业架构里除了大量的OLTP交易外,还存在海量的批处理交易.在诸如银行的金融机构中,每天有3-4万笔的批处理作业需要处理.针对OLTP,业界有大量的开源框架.优秀的架 ...

  3. [Spring Batch 系列] 第一节 初识 Spring Batch

    距离开始使用 Spring Batch 有一段时间了,一直没有时间整理,现在项目即将完结,整理下这段时间学习和使用经历. 官网地址:http://projects.spring.io/spring-b ...

  4. [SDK2.2]Windows Azure Storage (15) 使用WCF服务,将本地图片上传至Azure Storage (上) 服务器端代码

    <Windows Azure Platform 系列文章目录> 这几天工作上的内容,把项目文件和源代码拿出来给大家分享下. 源代码下载:Part1 Part2 Part3 我们在写WEB服 ...

  5. Azure SQL 数据库:新服务级别问答

    ShawnBice   2014 年 5 月 1 日上午 11:10 本月初,我们庆祝了SQL Server 2014 的推出,并宣布正式发布分析平台系统,同时分享了智能系统服务预览版.Quentin ...

  6. Azure 中快速搭建 FTPS 服务

    FTP,FTPS 与 SFTP 的区别 FTP (File Transfer Protocol)是一种常用的文件传输协议,在日常工作中被广泛应用.不过,FTP 协议使用明文传输.如果文件传输发生在公网 ...

  7. Azure ARM (12) ARM模式下,在负载均衡器上设置多个公网IP地址

    <Windows Azure Platform 系列文章目录> 最近在帮助一个客户设置WAF (Web Application Firewall),WAF厂商要求在负载均衡器上,设置多个公 ...

  8. [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...

  9. WCF服务部署到IIS上,然后通过web服务引用方式出现错误的解决办法

    本文转载:http://www.cnblogs.com/shenba/archive/2012/01/06/2313932.html 昨天在用IIS部署一个WCF服务时,碰到了如下错误: 理解了文档内 ...

  10. 将使用netTcp绑定的WCF服务寄宿到IIS7上全记录 (这文章也不错)

    原文地址:http://www.cnblogs.com/wengyuli/archive/2010/11/22/wcf-tcp-host-to-iis.html 摘要 在项目开发中,我们可能会适时的选 ...

随机推荐

  1. Nginx调优总结-第六部分编译优化与简单测试

    第六部分 编译优化 Nginx可以自行编译,所以里面可以设置多个编译策略. 也可以自行修改源码,便于比如进行ip_hash的全IP地址验证. 也可以修改nginx的版本号等信息, 避免内发现. 还可以 ...

  2. DES加密和base64加密

    DES简介:参考知乎 https://www.zhihu.com/question/36767829 和博客https://www.cnblogs.com/idreamo/p/9333753.html ...

  3. Python 实现Web容器指纹识别

    当今的Web安全行业在进行渗透测试时普遍第一步就是去识别目标网站的指纹,从而进一步根据目标框架进行针对性的安全测试,指纹识别的原理其实很简单,目前主流的识别方式有下面这几种. 1.识别特定网页中的关键 ...

  4. OS X 下安装 pycurl

    1 (venv) ➜ pythonProject4 find / -iname ssl.h 2 find: /usr/sbin/authserver: Permission denied 3 /usr ...

  5. hadoop-3.0.0-cdh6.3.2源码编译实践

    1.编译过程 参考:https://blog.mygallop.cn/2020/10/centos/hadoop-cdh6-compile/ 2.问题记录 CDH6.3.2 Hadoop源码位置发生变 ...

  6. 【scikit-learn基础】--『回归模型评估』之损失分析

    分类模型评估中,通过各类损失(loss)函数的分析,可以衡量模型预测结果与真实值之间的差异.不同的损失函数可用于不同类型的分类问题,以便更好地评估模型的性能. 本篇将介绍分类模型评估中常用的几种损失计 ...

  7. Web-background information

    Client and Server A connection on the Internet takes place between 2 computers only: one that has th ...

  8. IIS的详细配置

    一:配置默认文档 输入ip打开哪个页面是由默认文档设定的 1.打开IIS配置页面,点击网站.我们的默认站点已经启动,可以看到绑定的ip和网页的路径 2.选中Default Web Site,可以看到有 ...

  9. Oracle-创建用户不带C##(Oracle 19c)

    由于oracle从12c开始引入了容器(PDB和CDB).租户的概念.直接连接sysdba用户创建新用户时,会默认在CDB中创建公有用户,用户名需要以"C##"或"c## ...

  10. TPCH-PostgreSQL生成数据集并导入数据表

    1.数据集下载 TPC-H数据集: https://github.com/gregrahn/tpch-kit 2.解压安装 unzip  tpch-kit-master.zip cd tpch-kit ...