你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Task - Add
将任务添加到指定的作业。
任务从完成到完成的最大生存期为 180 天。 如果任务在添加后的 180 天内尚未完成,批处理服务将终止该任务,并处于当时处于任何状态。
POST {batchUrl}/jobs/{jobId}/tasks?api-version=2024-07-01.20.0
POST {batchUrl}/jobs/{jobId}/tasks?timeout={timeout}&api-version=2024-07-01.20.0
URI 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
batch
|
path | True |
string |
所有 Azure Batch 服务请求的基本 URL。 |
job
|
path | True |
string |
要向其添加任务的作业的 ID。 |
api-version
|
query | True |
string |
客户端 API 版本。 |
timeout
|
query |
integer int32 |
服务器处理请求的最长时间(以秒为单位)。 默认值为 30 秒。 如果该值大于 30,则改用默认值。 |
请求头
Media Types: "application/json; odata=minimalmetadata"
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
client-request-id |
string uuid |
调用方生成的请求标识,采用不带大括号的 GUID 形式,例如 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0。 |
|
return-client-request-id |
boolean |
服务器是否应在响应中返回 client-request-id。 |
|
ocp-date |
string date-time-rfc1123 |
发出请求的时间。 客户端库通常将此设置为当前的系统时钟时间;如果直接调用 REST API,请显式设置它。 |
请求正文
Media Types: "application/json; odata=minimalmetadata"
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
commandLine | True |
string |
任务的命令行。 |
id | True |
string |
唯一标识作业中的任务的字符串。 |
affinityInfo |
Batch 服务可以使用的区域提示选择要启动新任务的计算节点。 |
||
applicationPackageReferences |
Batch 服务在运行命令行之前将部署到计算节点的包列表。 |
||
authenticationTokenSettings |
任务可用于执行 Batch 服务操作的身份验证令牌的设置。 |
||
constraints |
应用于此任务的执行约束。 |
||
containerSettings |
任务在其中运行的容器的设置。 |
||
dependsOn |
此任务所依赖的任务。 |
||
displayName |
string |
任务的显示名称。 |
|
environmentSettings |
任务的环境变量设置列表。 |
||
exitConditions |
指定 Batch 服务在任务完成时应如何响应。 |
||
multiInstanceSettings |
一个对象,指示任务是多实例任务,并包含有关如何运行多实例任务的信息。 |
||
outputFiles |
运行命令行后,Batch 服务将从计算节点上传的文件列表。 |
||
requiredSlots |
integer |
任务运行所需的计划槽数。 |
|
resourceFiles |
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 |
||
userIdentity |
运行任务的用户标识。 |
响应
名称 | 类型 | 说明 |
---|---|---|
201 Created |
对 Batch 服务的请求成功。 标头
|
|
Other Status Codes |
Batch 服务中的错误。 |
安全性
azure_auth
Microsoft Entra OAuth 2.0 身份验证代码流
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
名称 | 说明 |
---|---|
user_impersonation | 模拟用户帐户 |
Authorization
类型:
apiKey
在:
header
示例
Add a basic task
示例请求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "task1",
"commandLine": "cmd /c echo task1"
}
示例响应
Add a container task with container data isolation
示例请求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "taskId",
"commandLine": "bash -c 'echo hello'",
"containerSettings": {
"imageName": "ubuntu",
"containerHostBatchBindMounts": [
{
"source": "Task",
"isReadOnly": true
}
]
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
示例响应
Add a container task with container data isolation bad request duplicate sources
示例请求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "taskId",
"commandLine": "bash -c 'echo hello'",
"containerSettings": {
"imageName": "ubuntu",
"containerHostBatchBindMounts": [
{
"source": "Task",
"isReadOnly": true
},
{
"source": "Task",
"isReadOnly": true
}
]
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
示例响应
Add a task with container settings
示例请求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "taskId",
"commandLine": "bash -c 'echo hello'",
"containerSettings": {
"imageName": "ubuntu",
"containerRunOptions": "--rm"
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
示例响应
Add a task with exit conditions
示例请求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "taskId",
"commandLine": "cmd /c exit 3",
"exitConditions": {
"exitCodeRanges": [
{
"start": 2,
"end": 4,
"exitOptions": {
"jobAction": "terminate"
}
}
]
},
"userIdentity": {
"autoUser": {
"scope": "task",
"elevationLevel": "nonadmin"
}
}
}
示例响应
Add a task with extra slot requirement
示例请求
POST account.region.batch.azure.com/jobs/jobId/tasks?api-version=2024-07-01.20.0
{
"id": "task1",
"requiredSlots": 2,
"commandLine": "cmd /c echo task1"
}
示例响应
定义
名称 | 说明 |
---|---|
Access |
令牌向其授予访问权限的 Batch 资源。 |
Affinity |
Batch 服务可以使用的区域提示选择要在其中启动任务的计算节点。 |
Application |
对要部署到计算节点的包的引用。 |
Authentication |
任务可用于执行 Batch 服务操作的身份验证令牌的设置。 |
Auto |
自动用户的范围 |
Auto |
指定在 Batch 服务上运行 Task 的自动用户的参数。 |
Batch |
从 Azure Batch 服务收到的错误响应。 |
Batch |
Azure Batch 错误响应中包含的附加信息项。 |
Compute |
对与计算节点将使用的 Batch 池关联的用户分配标识的引用。 |
Container |
要装载到任务容器的路径和装载模式的条目。 |
Container |
将装载到容器任务的容器的路径。 |
Container |
专用容器注册表。 |
Container |
容器任务工作目录的位置。 |
Dependency |
Batch 服务对依赖于此任务的任务执行的操作。 |
Elevation |
用户的提升级别。 |
Environment |
要对任务进程设置的环境变量。 |
Error |
Azure Batch 错误响应中收到的错误消息。 |
Exit |
如果任务使用特定的退出代码退出,Batch 服务应如何响应。 |
Exit |
一系列退出代码以及 Batch 服务应如何响应该范围内的退出代码。 |
Exit |
指定 Batch 服务在任务完成时应如何响应。 |
Exit |
指定 Batch 服务如何响应特定的退出条件。 |
Http |
HTTP 标头名称值对 |
Job |
如果任务以给定退出条件完成且 Job 的 onTaskFailed 属性为“performExitOptionsJobAction”,则对包含任务的作业执行的操作。 |
Multi |
指定如何运行多实例任务的设置。 |
Output |
在 Batch 服务完成执行任务过程后,将文件从 Azure Batch 计算节点上传到另一个位置的规范。 |
Output |
指定 Azure Blob 存储容器中的文件上传目标。 |
Output |
文件应上传到的目标。 |
Output |
任务输出文件或文件集应上载的条件。 |
Output |
有关输出文件上传操作的详细信息,包括执行上传的条件。 |
Resource |
要下载到计算节点的单个文件或多个文件。 |
Task |
要添加的 Azure Batch 任务。 |
Task |
要应用于任务的执行约束。 |
Task |
任务的容器设置。 |
Task |
指定任务的任何依赖项。 显式指定或依赖范围内的任何任务都必须在计划依赖任务之前完成。 |
Task |
任务可以依赖的任务 ID 范围。 范围中具有 ID 的所有任务都必须成功完成,然后才能计划从属任务。 |
User |
运行任务的用户标识的定义。 |
AccessScope
令牌向其授予访问权限的 Batch 资源。
名称 | 类型 | 说明 |
---|---|---|
job |
string |
授予对包含任务的作业执行所有操作的权限。 |
AffinityInformation
Batch 服务可以使用的区域提示选择要在其中启动任务的计算节点。
名称 | 类型 | 说明 |
---|---|---|
affinityId |
string |
表示计算节点的位置或以前运行的任务的不透明字符串。 |
ApplicationPackageReference
对要部署到计算节点的包的引用。
名称 | 类型 | 说明 |
---|---|---|
applicationId |
string |
要部署的应用程序的 ID。 |
version |
string |
要部署的应用程序的版本。 如果省略,则部署默认版本。 |
AuthenticationTokenSettings
任务可用于执行 Batch 服务操作的身份验证令牌的设置。
名称 | 类型 | 说明 |
---|---|---|
access |
令牌向其授予访问权限的 Batch 资源。 |
AutoUserScope
自动用户的范围
名称 | 类型 | 说明 |
---|---|---|
pool |
string |
指定任务作为在池中的每个计算节点上创建的通用自动用户帐户运行。 |
task |
string |
指定服务应为任务创建新用户。 |
AutoUserSpecification
指定在 Batch 服务上运行 Task 的自动用户的参数。
名称 | 类型 | 说明 |
---|---|---|
elevationLevel |
自动用户的提升级别。 |
|
scope |
自动用户的范围 |
BatchError
从 Azure Batch 服务收到的错误响应。
名称 | 类型 | 说明 |
---|---|---|
code |
string |
错误的标识符。 代码是固定的,旨在以编程方式使用。 |
message |
描述错误的消息,旨在适合在用户界面中显示。 |
|
values |
包含有关错误的更多详细信息的键值对的集合。 |
BatchErrorDetail
Azure Batch 错误响应中包含的附加信息项。
名称 | 类型 | 说明 |
---|---|---|
key |
string |
指定 Value 属性含义的标识符。 |
value |
string |
错误响应附带的其他信息。 |
ComputeNodeIdentityReference
对与计算节点将使用的 Batch 池关联的用户分配标识的引用。
名称 | 类型 | 说明 |
---|---|---|
resourceId |
string |
用户分配标识的 ARM 资源 ID。 |
ContainerHostBatchBindMountEntry
要装载到任务容器的路径和装载模式的条目。
名称 | 类型 | 说明 |
---|---|---|
isReadOnly |
boolean |
将此源路径装载为只读模式或不装载。 默认值为 false(读/写模式)。 |
source |
装载到容器客户的路径可以选择。 |
ContainerHostDataPath
将装载到容器任务的容器的路径。
名称 | 类型 | 说明 |
---|---|---|
Applications |
string |
应用程序路径。 |
JobPrep |
string |
作业准备任务路径。 |
Shared |
string |
用于共享其文件的多实例任务的路径。 |
Startup |
string |
启动任务的路径。 |
Task |
string |
任务路径。 |
VfsMounts |
string |
该路径包含此节点上装载的所有虚拟文件系统。 |
ContainerRegistry
专用容器注册表。
名称 | 类型 | 说明 |
---|---|---|
identityReference |
对用于访问 Azure 容器注册表(而不是用户名和密码)的用户分配标识的引用。 |
|
password |
string |
登录到注册表服务器的密码。 |
registryServer |
string |
注册表 URL。 |
username |
string |
要登录到注册表服务器的用户名。 |
ContainerWorkingDirectory
容器任务工作目录的位置。
名称 | 类型 | 说明 |
---|---|---|
containerImageDefault |
string |
使用容器映像中定义的工作目录。 请注意,此目录将不包含 Batch 下载的资源文件。 |
taskWorkingDirectory |
string |
使用标准 Batch 服务任务工作目录,其中包含由 Batch 填充的任务资源文件。 |
DependencyAction
Batch 服务对依赖于此任务的任务执行的操作。
名称 | 类型 | 说明 |
---|---|---|
block |
string |
阻止等待此任务的任务,防止其计划。 |
satisfy |
string |
满足等待此任务的任务;满足所有依赖项后,任务将计划运行。 |
ElevationLevel
用户的提升级别。
名称 | 类型 | 说明 |
---|---|---|
admin |
string |
用户是具有提升访问权限并具有完全管理员权限的用户。 |
nonadmin |
string |
用户是没有提升访问权限的标准用户。 |
EnvironmentSetting
要对任务进程设置的环境变量。
名称 | 类型 | 说明 |
---|---|---|
name |
string |
环境变量的名称。 |
value |
string |
环境变量的值。 |
ErrorMessage
Azure Batch 错误响应中收到的错误消息。
名称 | 类型 | 说明 |
---|---|---|
lang |
string |
错误消息的语言代码 |
value |
string |
消息的文本。 |
ExitCodeMapping
如果任务使用特定的退出代码退出,Batch 服务应如何响应。
名称 | 类型 | 说明 |
---|---|---|
code |
integer |
进程退出代码。 |
exitOptions |
如果任务使用此退出代码退出,Batch 服务应如何响应。 |
ExitCodeRangeMapping
一系列退出代码以及 Batch 服务应如何响应该范围内的退出代码。
名称 | 类型 | 说明 |
---|---|---|
end |
integer |
范围中的最后一个退出代码。 |
exitOptions |
如果任务退出且范围中的退出代码开始到结束(含),Batch 服务应如何响应。 |
|
start |
integer |
区域中的第一个退出代码。 |
ExitConditions
指定 Batch 服务在任务完成时应如何响应。
名称 | 类型 | 说明 |
---|---|---|
default |
如果任务失败且其他任何属性未涵盖退出条件,Batch 服务应如何响应。 |
|
exitCodeRanges |
任务退出代码范围的列表以及 Batch 服务应如何响应它们。 |
|
exitCodes |
单个任务退出代码的列表以及 Batch 服务应如何响应它们。 |
|
fileUploadError |
如果发生文件上传错误,Batch 服务应如何响应。 |
|
preProcessingError |
如果任务因错误而无法启动,Batch 服务应如何响应。 |
ExitOptions
指定 Batch 服务如何响应特定的退出条件。
名称 | 类型 | 说明 |
---|---|---|
dependencyAction |
Batch 服务对依赖于此任务的任务执行的操作。 |
|
jobAction |
如果任务以给定退出条件完成且 Job 的 onTaskFailed 属性为“performExitOptionsJobAction”,则对包含任务的作业执行的操作。 |
HttpHeader
HTTP 标头名称值对
名称 | 类型 | 说明 |
---|---|---|
name |
string |
上传输出文件时要使用的标头的不区分大小写的名称 |
value |
string |
上传输出文件时要使用的标头的值 |
JobAction
如果任务以给定退出条件完成且 Job 的 onTaskFailed 属性为“performExitOptionsJobAction”,则对包含任务的作业执行的操作。
名称 | 类型 | 说明 |
---|---|---|
disable |
string |
禁用作业。 这等效于调用禁用作业 API,并具有 disableTasks 重新排队值。 |
none |
string |
不执行任何操作。 |
terminate |
string |
终止作业。 作业的执行Info 中的 terminateReason 设置为“TaskFailed”。 |
MultiInstanceSettings
指定如何运行多实例任务的设置。
名称 | 类型 | 说明 |
---|---|---|
commonResourceFiles |
在运行协调命令行之前,Batch 服务将下载的文件列表。 |
|
coordinationCommandLine |
string |
要在所有计算节点上运行的命令行,以便在主节点运行主任务命令时进行协调。 |
numberOfInstances |
integer |
任务所需的计算节点数。 |
OutputFile
在 Batch 服务完成执行任务过程后,将文件从 Azure Batch 计算节点上传到另一个位置的规范。
名称 | 类型 | 说明 |
---|---|---|
destination |
输出文件的目标。 |
|
filePattern |
string |
指示要上传的文件的模式。 |
uploadOptions |
上传操作的其他选项,包括执行上传的条件。 |
OutputFileBlobContainerDestination
指定 Azure Blob 存储容器中的文件上传目标。
名称 | 类型 | 说明 |
---|---|---|
containerUrl |
string |
要上传到文件的 Azure Blob 存储中的容器的 URL。 |
identityReference |
对用于访问 containerUrl 指定的 Azure Blob 存储的用户分配标识的引用 |
|
path |
string |
Azure 存储容器中的目标 Blob 或虚拟目录。 |
uploadHeaders |
要用于上传输出文件的标头的名称/值对列表 |
OutputFileDestination
文件应上传到的目标。
名称 | 类型 | 说明 |
---|---|---|
container |
将文件上传到的 Azure Blob 存储中的一个位置。 |
OutputFileUploadCondition
任务输出文件或文件集应上载的条件。
名称 | 类型 | 说明 |
---|---|---|
taskcompletion |
string |
在任务进程退出后上传文件,无论退出代码是什么。 |
taskfailure |
string |
仅在任务进程退出并带有非零退出代码后上传文件。 |
tasksuccess |
string |
仅在任务进程退出且退出代码为 0 后上传文件。 |
OutputFileUploadOptions
有关输出文件上传操作的详细信息,包括执行上传的条件。
名称 | 类型 | 说明 |
---|---|---|
uploadCondition |
任务输出文件或文件集应上载的条件。 |
ResourceFile
要下载到计算节点的单个文件或多个文件。
名称 | 类型 | 说明 |
---|---|---|
autoStorageContainerName |
string |
自动存储帐户中的存储容器名称。 |
blobPrefix |
string |
从 Azure 存储容器下载 Blob 时要使用的 Blob 前缀。 仅下载名称以指定前缀开头的 blob。 |
fileMode |
string |
以八进制格式的文件权限模式属性。 |
filePath |
string |
要下载文件(s)的计算节点上相对于任务的工作目录的位置。 |
httpUrl |
string |
要下载的文件的 URL。 |
identityReference |
对用户分配的标识的引用,用于访问由 storageContainerUrl 或 httpUrl 指定的 Azure Blob 存储 |
|
storageContainerUrl |
string |
Azure Blob 存储中 Blob 容器的 URL。 |
TaskAddParameter
要添加的 Azure Batch 任务。
名称 | 类型 | 说明 |
---|---|---|
affinityInfo |
Batch 服务可以使用的区域提示选择要启动新任务的计算节点。 |
|
applicationPackageReferences |
Batch 服务在运行命令行之前将部署到计算节点的包列表。 |
|
authenticationTokenSettings |
任务可用于执行 Batch 服务操作的身份验证令牌的设置。 |
|
commandLine |
string |
任务的命令行。 |
constraints |
应用于此任务的执行约束。 |
|
containerSettings |
任务在其中运行的容器的设置。 |
|
dependsOn |
此任务所依赖的任务。 |
|
displayName |
string |
任务的显示名称。 |
environmentSettings |
任务的环境变量设置列表。 |
|
exitConditions |
指定 Batch 服务在任务完成时应如何响应。 |
|
id |
string |
唯一标识作业中的任务的字符串。 |
multiInstanceSettings |
一个对象,指示任务是多实例任务,并包含有关如何运行多实例任务的信息。 |
|
outputFiles |
运行命令行后,Batch 服务将从计算节点上传的文件列表。 |
|
requiredSlots |
integer |
任务运行所需的计划槽数。 |
resourceFiles |
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 |
|
userIdentity |
运行任务的用户标识。 |
TaskConstraints
要应用于任务的执行约束。
名称 | 类型 | 说明 |
---|---|---|
maxTaskRetryCount |
integer |
可以重试任务的最大次数。 如果 Batch 服务退出代码为非零,则重试任务。 |
maxWallClockTime |
string |
任务可能运行的最大运行时间,从任务开始时间开始测量。 如果任务未在时间限制内完成,Batch 服务将终止它。 |
retentionTime |
string |
在运行任务的计算节点上保留任务目录的最短时间,从其完成执行时开始。 之后,Batch 服务可能会删除 Task 目录及其所有内容。 |
TaskContainerSettings
任务的容器设置。
名称 | 类型 | 说明 |
---|---|---|
containerHostBatchBindMounts |
要装载到容器任务的路径。 |
|
containerRunOptions |
string |
容器创建命令的其他选项。 |
imageName |
string |
用于创建任务将在其中运行容器的映像。 |
registry |
包含容器映像的专用注册表。 |
|
workingDirectory |
容器任务工作目录的位置。 |
TaskDependencies
指定任务的任何依赖项。 显式指定或依赖范围内的任何任务都必须在计划依赖任务之前完成。
名称 | 类型 | 说明 |
---|---|---|
taskIdRanges |
此任务所依赖的任务 ID 范围列表。 在计划依赖任务之前,所有范围中的所有任务都必须成功完成。 |
|
taskIds |
string[] |
此任务所依赖的任务 ID 列表。 此列表中的所有任务都必须成功完成,然后才能计划依赖任务。 |
TaskIdRange
任务可以依赖的任务 ID 范围。 范围中具有 ID 的所有任务都必须成功完成,然后才能计划从属任务。
名称 | 类型 | 说明 |
---|---|---|
end |
integer |
区域中的最后一个任务 ID。 |
start |
integer |
区域中的第一个任务 ID。 |
UserIdentity
运行任务的用户标识的定义。
名称 | 类型 | 说明 |
---|---|---|
autoUser |
运行任务的自动用户。 |
|
username |
string |
运行任务的用户标识的名称。 |