你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.App 作业 2023-08-01-preview
Bicep 资源定义
可以使用目标操作部署作业资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.App/jobs 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.App/jobs@2023-08-01-preview' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
extendedLocation: {
name: 'string'
type: 'CustomLocation'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
properties: {
configuration: {
eventTriggerConfig: {
parallelism: int
replicaCompletionCount: int
scale: {
maxExecutions: int
minExecutions: int
pollingInterval: int
rules: [
{
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: any()
name: 'string'
type: 'string'
}
]
}
}
manualTriggerConfig: {
parallelism: int
replicaCompletionCount: int
}
registries: [
{
identity: 'string'
passwordSecretRef: 'string'
server: 'string'
username: 'string'
}
]
replicaRetryLimit: int
replicaTimeout: int
scheduleTriggerConfig: {
cronExpression: 'string'
parallelism: int
replicaCompletionCount: int
}
secrets: [
{
identity: 'string'
keyVaultUrl: 'string'
name: 'string'
value: 'string'
}
]
triggerType: 'string'
}
environmentId: 'string'
template: {
containers: [
{
args: [
'string'
]
command: [
'string'
]
env: [
{
name: 'string'
secretRef: 'string'
value: 'string'
}
]
image: 'string'
name: 'string'
probes: [
{
failureThreshold: int
httpGet: {
host: 'string'
httpHeaders: [
{
name: 'string'
value: 'string'
}
]
path: 'string'
port: int
scheme: 'string'
}
initialDelaySeconds: int
periodSeconds: int
successThreshold: int
tcpSocket: {
host: 'string'
port: int
}
terminationGracePeriodSeconds: int
timeoutSeconds: int
type: 'string'
}
]
resources: {
cpu: json('decimal-as-string')
memory: 'string'
}
volumeMounts: [
{
mountPath: 'string'
subPath: 'string'
volumeName: 'string'
}
]
}
]
initContainers: [
{
args: [
'string'
]
command: [
'string'
]
env: [
{
name: 'string'
secretRef: 'string'
value: 'string'
}
]
image: 'string'
name: 'string'
resources: {
cpu: json('decimal-as-string')
memory: 'string'
}
volumeMounts: [
{
mountPath: 'string'
subPath: 'string'
volumeName: 'string'
}
]
}
]
volumes: [
{
mountOptions: 'string'
name: 'string'
secrets: [
{
path: 'string'
secretRef: 'string'
}
]
storageName: 'string'
storageType: 'string'
}
]
}
workloadProfileName: 'string'
}
}
属性值
工作
名字 | 描述 | 价值 |
---|---|---|
名字 | 资源名称 | string (必需) |
位置 | 资源所在的地理位置 | string (必需) |
标签 | 资源标记。 | 标记名称和值的字典。 请参阅模板 中的 |
extendedLocation | 扩展位置的复杂类型。 | ExtendedLocation |
身份 | 容器应用作业需要托管标识才能与其他 Azure 服务交互,以不维护代码中的任何机密或凭据。 | ManagedServiceIdentity |
性能 | 容器应用作业资源特定属性。 | JobProperties |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “CustomLocation” |
ManagedServiceIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 | “None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned”(必需) |
userAssignedIdentities | 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 | UserAssignedIdentities |
UserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentity |
UserAssignedIdentity
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
JobProperties
名字 | 描述 | 价值 |
---|---|---|
配置 | 容器应用作业配置属性。 | JobConfiguration |
environmentId | 环境的资源 ID。 | 字符串 |
模板 | 容器应用作业定义。 | JobTemplate |
workloadProfileName | 用于固定容器应用作业执行的工作负荷配置文件名称。 | 字符串 |
JobConfiguration
名字 | 描述 | 价值 |
---|---|---|
eventTriggerConfig | 触发事件驱动作业的配置。 | JobConfigurationEventTriggerConfig |
manualTriggerConfig | 单个执行作业的手动触发器配置。 属性 replicaCompletionCount 和并行度默认设置为 1 | JobConfigurationManualTriggerConfig |
登记处 | 容器应用作业使用的专用容器注册表凭据的集合 | RegistryCredentials[] |
replicaRetryLimit | 失败作业之前的最大重试次数。 | int |
replicaTimeout | 允许副本运行的最大秒数。 | int (必需) |
scheduleTriggerConfig | Cron 格式化了 cronjobs 的重复触发器计划(“* * * *”)。 默认情况下,属性完成和并行度设置为 1 | JobConfigurationScheduleTriggerConfig |
秘密 | 容器应用作业使用的机密集合 | 机密[] |
triggerType | 作业的触发器类型 | “Event” “Manual” “Schedule”(必需) |
JobConfigurationEventTriggerConfig
名字 | 描述 | 价值 |
---|---|---|
排比 | 可在给定时间运行的作业的并行副本数。 | int |
replicaCompletionCount | 在完成整个作业之前,副本成功完成的最小数目。 | int |
规模 | 缩放事件驱动作业的配置。 | JobScale |
JobScale
名字 | 描述 | 价值 |
---|---|---|
maxExecutions | 为触发器创建的最大作业执行次数,默认值为 100。 | int |
minExecutions | 为触发器创建的最小作业执行次数,默认为 0 | int |
pollingInterval | 检查每个事件源的间隔(以秒为单位)。 默认值为 30s | int |
规则 | 缩放规则。 | JobScaleRule[] |
JobScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 缩放规则的身份验证机密。 | ScaleRuleAuth[] |
元数据 | 描述缩放规则的元数据属性。 | 对于 Bicep,可以使用 any() 函数。 |
名字 | 缩放规则名称 | 字符串 |
类型 | 缩放规则的类型 例如:azure-servicebus、redis 等。 |
字符串 |
ScaleRuleAuth
名字 | 描述 | 价值 |
---|---|---|
secretRef | 要从中提取身份验证参数的机密的名称。 | 字符串 |
triggerParameter | 使用机密的触发器参数 | 字符串 |
JobConfigurationManualTriggerConfig
名字 | 描述 | 价值 |
---|---|---|
排比 | 可在给定时间运行的作业的并行副本数。 | int |
replicaCompletionCount | 在完成整个作业之前,副本成功完成的最小数目。 | int |
RegistryCredentials
名字 | 描述 | 价值 |
---|---|---|
身份 | 用于通过 Azure 容器注册表进行身份验证的托管标识。 对于用户分配的标识,请使用完整的用户分配标识资源 ID。 对于系统分配的标识,请使用“system” | 字符串 |
passwordSecretRef | 包含注册表登录密码的机密的名称 | 字符串 |
服务器 | 容器注册表服务器 | 字符串 |
username | 容器注册表用户名 | 字符串 |
JobConfigurationScheduleTriggerConfig
名字 | 描述 | 价值 |
---|---|---|
cronExpression | Cron 格式化了 Cron 作业的重复计划(“* * * *”)。 | string (必需) |
排比 | 可在给定时间运行的作业的并行副本数。 | int |
replicaCompletionCount | 在完成整个作业之前,副本成功完成的最小数目。 | int |
秘密
名字 | 描述 | 价值 |
---|---|---|
身份 | 使用 Azure Key Vault 进行身份验证的托管标识的资源 ID,或使用系统分配的标识。 | 字符串 |
keyVaultUrl | 指向容器应用引用的机密的 Azure Key Vault URL。 | 字符串 |
名字 | 机密名称。 | 字符串 |
价值 | 机密值。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
JobTemplate
名字 | 描述 | 价值 |
---|---|---|
器皿 | 容器应用的容器定义列表。 | 容器[] |
initContainers | 在应用容器之前运行的专用容器列表。 | InitContainer[] |
卷 | 容器应用的卷定义列表。 | 卷[] |
容器
名字 | 描述 | 价值 |
---|---|---|
args | 容器启动命令参数。 | string[] |
命令 | 容器启动命令。 | string[] |
env | 容器环境变量。 | EnvironmentVar[] |
图像 | 容器映像标记。 | 字符串 |
名字 | 自定义容器名称。 | 字符串 |
探针 | 容器的探测列表。 | ContainerAppProbe[] |
资源 | 容器资源要求。 | ContainerResources |
volumeMounts | 容器卷装载。 | VolumeMount[] |
EnvironmentVar
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量名称。 | 字符串 |
secretRef | 要从中拉取环境变量值的容器应用机密的名称。 | 字符串 |
价值 | 非机密环境变量值。 | 字符串 |
ContainerAppProbe
名字 | 描述 | 价值 |
---|---|---|
failureThreshold | 探测在成功后被视为失败的最小连续失败。 默认值为 3。 最小值为 1。 最大值为 10。 | int |
httpGet | HTTPGet 指定要执行的 http 请求。 | ContainerAppProbeHttpGet |
initialDelaySeconds | 启动生存情况探测之前容器启动后的秒数。 最小值为 1。 最大值为 60。 | int |
periodSeconds | 执行探测的频率(以秒为单位)。 默认值为 10 秒。 最小值为 1。 最大值为 240。 | int |
successThreshold | 探测在失败后被视为成功的最小连续成功次数。 默认值为 1。 对于实时性和启动,必须为 1。 最小值为 1。 最大值为 10。 | int |
tcpSocket | TCPSocket 指定涉及 TCP 端口的操作。 尚不支持 TCP 挂钩。 | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Pod 在探测失败时需要正常终止的可选持续时间(以秒为单位)。 宽限期是 Pod 中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间(以秒为单位)。 设置此值的时间超过进程的预期清理时间。 如果此值为 nil,将使用 Pod 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) | int |
timeoutSeconds | 探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 | int |
类型 | 探测的类型。 | “Liveness” “就绪情况” “Startup” |
ContainerAppProbeHttpGet
名字 | 描述 | 价值 |
---|---|---|
主机 | 要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 | 字符串 |
httpHeaders | 在请求中设置的自定义标头。 HTTP 允许重复标头。 | ContainerAppProbeHttpGetHttpHeadersItem[] |
路径 | 在 HTTP 服务器上访问的路径。 | 字符串 |
港口 | 要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
方案 | 用于连接到主机的方案。 默认为 HTTP。 | “HTTP” “HTTPS” |
ContainerAppProbeHttpGetHttpHeadersItem
名字 | 描述 | 价值 |
---|---|---|
名字 | 标头字段名称 | string (必需) |
价值 | 标头字段值 | string (必需) |
ContainerAppProbeTcpSocket
名字 | 描述 | 价值 |
---|---|---|
主机 | 可选:要连接到的主机名,默认为 Pod IP。 | 字符串 |
港口 | 要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
ContainerResources
名字 | 描述 | 价值 |
---|---|---|
中央处理器 | 核心中所需的 CPU,例如 0.5 若要指定十进制值,请使用 json() 函数。 | int 或 json decimal |
记忆 | 所需的内存,例如“250Mb” | 字符串 |
VolumeMount
名字 | 描述 | 价值 |
---|---|---|
mountPath | 容器中应装载卷的路径。不得包含“:”。 | 字符串 |
subPath | 应从中装载容器卷的卷中的路径。 默认为“”(卷的根目录)。 | 字符串 |
volumeName | 这必须与卷的名称匹配。 | 字符串 |
InitContainer
名字 | 描述 | 价值 |
---|---|---|
args | 容器启动命令参数。 | string[] |
命令 | 容器启动命令。 | string[] |
env | 容器环境变量。 | EnvironmentVar[] |
图像 | 容器映像标记。 | 字符串 |
名字 | 自定义容器名称。 | 字符串 |
资源 | 容器资源要求。 | ContainerResources |
volumeMounts | 容器卷装载。 | VolumeMount[] |
卷
名字 | 描述 | 价值 |
---|---|---|
mountOptions | 装载 AzureFile 时使用的装载选项。 必须是逗号分隔的字符串。 | 字符串 |
名字 | 卷名称。 | 字符串 |
秘密 | 要添加到卷中的机密列表。 如果未提供机密,集合中的所有机密都将添加到卷中。 | SecretVolumeItem[] |
storageName | 存储资源的名称。 无需提供 EmptyDir 和 Secret。 | 字符串 |
storageType | 卷的存储类型。 如果未提供,请使用 EmptyDir。 | “AzureFile” “EmptyDir” “Secret” |
SecretVolumeItem
名字 | 描述 | 价值 |
---|---|---|
路径 | 项目机密的路径。 如果未提供路径,则路径默认为 secretRef 中列出的机密的名称。 | 字符串 |
secretRef | 要从中拉取机密值的容器应用机密的名称。 | 字符串 |
ARM 模板资源定义
可以使用目标操作部署作业资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.App/jobs 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.App/jobs",
"apiVersion": "2023-08-01-preview",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"extendedLocation": {
"name": "string",
"type": "CustomLocation"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"properties": {
"configuration": {
"eventTriggerConfig": {
"parallelism": "int",
"replicaCompletionCount": "int",
"scale": {
"maxExecutions": "int",
"minExecutions": "int",
"pollingInterval": "int",
"rules": [
{
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {},
"name": "string",
"type": "string"
}
]
}
},
"manualTriggerConfig": {
"parallelism": "int",
"replicaCompletionCount": "int"
},
"registries": [
{
"identity": "string",
"passwordSecretRef": "string",
"server": "string",
"username": "string"
}
],
"replicaRetryLimit": "int",
"replicaTimeout": "int",
"scheduleTriggerConfig": {
"cronExpression": "string",
"parallelism": "int",
"replicaCompletionCount": "int"
},
"secrets": [
{
"identity": "string",
"keyVaultUrl": "string",
"name": "string",
"value": "string"
}
],
"triggerType": "string"
},
"environmentId": "string",
"template": {
"containers": [
{
"args": [ "string" ],
"command": [ "string" ],
"env": [
{
"name": "string",
"secretRef": "string",
"value": "string"
}
],
"image": "string",
"name": "string",
"probes": [
{
"failureThreshold": "int",
"httpGet": {
"host": "string",
"httpHeaders": [
{
"name": "string",
"value": "string"
}
],
"path": "string",
"port": "int",
"scheme": "string"
},
"initialDelaySeconds": "int",
"periodSeconds": "int",
"successThreshold": "int",
"tcpSocket": {
"host": "string",
"port": "int"
},
"terminationGracePeriodSeconds": "int",
"timeoutSeconds": "int",
"type": "string"
}
],
"resources": {
"cpu": "[json('decimal-as-string')]",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"subPath": "string",
"volumeName": "string"
}
]
}
],
"initContainers": [
{
"args": [ "string" ],
"command": [ "string" ],
"env": [
{
"name": "string",
"secretRef": "string",
"value": "string"
}
],
"image": "string",
"name": "string",
"resources": {
"cpu": "[json('decimal-as-string')]",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"subPath": "string",
"volumeName": "string"
}
]
}
],
"volumes": [
{
"mountOptions": "string",
"name": "string",
"secrets": [
{
"path": "string",
"secretRef": "string"
}
],
"storageName": "string",
"storageType": "string"
}
]
},
"workloadProfileName": "string"
}
}
属性值
工作
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.App/jobs” |
apiVersion | 资源 API 版本 | '2023-08-01-preview' |
名字 | 资源名称 | string (必需) |
位置 | 资源所在的地理位置 | string (必需) |
标签 | 资源标记。 | 标记名称和值的字典。 请参阅模板 中的 |
extendedLocation | 扩展位置的复杂类型。 | ExtendedLocation |
身份 | 容器应用作业需要托管标识才能与其他 Azure 服务交互,以不维护代码中的任何机密或凭据。 | ManagedServiceIdentity |
性能 | 容器应用作业资源特定属性。 | JobProperties |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “CustomLocation” |
ManagedServiceIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 | “None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned”(必需) |
userAssignedIdentities | 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 | UserAssignedIdentities |
UserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentity |
UserAssignedIdentity
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
JobProperties
名字 | 描述 | 价值 |
---|---|---|
配置 | 容器应用作业配置属性。 | JobConfiguration |
environmentId | 环境的资源 ID。 | 字符串 |
模板 | 容器应用作业定义。 | JobTemplate |
workloadProfileName | 用于固定容器应用作业执行的工作负荷配置文件名称。 | 字符串 |
JobConfiguration
名字 | 描述 | 价值 |
---|---|---|
eventTriggerConfig | 触发事件驱动作业的配置。 | JobConfigurationEventTriggerConfig |
manualTriggerConfig | 单个执行作业的手动触发器配置。 属性 replicaCompletionCount 和并行度默认设置为 1 | JobConfigurationManualTriggerConfig |
登记处 | 容器应用作业使用的专用容器注册表凭据的集合 | RegistryCredentials[] |
replicaRetryLimit | 失败作业之前的最大重试次数。 | int |
replicaTimeout | 允许副本运行的最大秒数。 | int (必需) |
scheduleTriggerConfig | Cron 格式化了 cronjobs 的重复触发器计划(“* * * *”)。 默认情况下,属性完成和并行度设置为 1 | JobConfigurationScheduleTriggerConfig |
秘密 | 容器应用作业使用的机密集合 | 机密[] |
triggerType | 作业的触发器类型 | “Event” “Manual” “Schedule”(必需) |
JobConfigurationEventTriggerConfig
名字 | 描述 | 价值 |
---|---|---|
排比 | 可在给定时间运行的作业的并行副本数。 | int |
replicaCompletionCount | 在完成整个作业之前,副本成功完成的最小数目。 | int |
规模 | 缩放事件驱动作业的配置。 | JobScale |
JobScale
名字 | 描述 | 价值 |
---|---|---|
maxExecutions | 为触发器创建的最大作业执行次数,默认值为 100。 | int |
minExecutions | 为触发器创建的最小作业执行次数,默认为 0 | int |
pollingInterval | 检查每个事件源的间隔(以秒为单位)。 默认值为 30s | int |
规则 | 缩放规则。 | JobScaleRule[] |
JobScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 缩放规则的身份验证机密。 | ScaleRuleAuth[] |
元数据 | 描述缩放规则的元数据属性。 | |
名字 | 缩放规则名称 | 字符串 |
类型 | 缩放规则的类型 例如:azure-servicebus、redis 等。 |
字符串 |
ScaleRuleAuth
名字 | 描述 | 价值 |
---|---|---|
secretRef | 要从中提取身份验证参数的机密的名称。 | 字符串 |
triggerParameter | 使用机密的触发器参数 | 字符串 |
JobConfigurationManualTriggerConfig
名字 | 描述 | 价值 |
---|---|---|
排比 | 可在给定时间运行的作业的并行副本数。 | int |
replicaCompletionCount | 在完成整个作业之前,副本成功完成的最小数目。 | int |
RegistryCredentials
名字 | 描述 | 价值 |
---|---|---|
身份 | 用于通过 Azure 容器注册表进行身份验证的托管标识。 对于用户分配的标识,请使用完整的用户分配标识资源 ID。 对于系统分配的标识,请使用“system” | 字符串 |
passwordSecretRef | 包含注册表登录密码的机密的名称 | 字符串 |
服务器 | 容器注册表服务器 | 字符串 |
username | 容器注册表用户名 | 字符串 |
JobConfigurationScheduleTriggerConfig
名字 | 描述 | 价值 |
---|---|---|
cronExpression | Cron 格式化了 Cron 作业的重复计划(“* * * *”)。 | string (必需) |
排比 | 可在给定时间运行的作业的并行副本数。 | int |
replicaCompletionCount | 在完成整个作业之前,副本成功完成的最小数目。 | int |
秘密
名字 | 描述 | 价值 |
---|---|---|
身份 | 使用 Azure Key Vault 进行身份验证的托管标识的资源 ID,或使用系统分配的标识。 | 字符串 |
keyVaultUrl | 指向容器应用引用的机密的 Azure Key Vault URL。 | 字符串 |
名字 | 机密名称。 | 字符串 |
价值 | 机密值。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
JobTemplate
名字 | 描述 | 价值 |
---|---|---|
器皿 | 容器应用的容器定义列表。 | 容器[] |
initContainers | 在应用容器之前运行的专用容器列表。 | InitContainer[] |
卷 | 容器应用的卷定义列表。 | 卷[] |
容器
名字 | 描述 | 价值 |
---|---|---|
args | 容器启动命令参数。 | string[] |
命令 | 容器启动命令。 | string[] |
env | 容器环境变量。 | EnvironmentVar[] |
图像 | 容器映像标记。 | 字符串 |
名字 | 自定义容器名称。 | 字符串 |
探针 | 容器的探测列表。 | ContainerAppProbe[] |
资源 | 容器资源要求。 | ContainerResources |
volumeMounts | 容器卷装载。 | VolumeMount[] |
EnvironmentVar
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量名称。 | 字符串 |
secretRef | 要从中拉取环境变量值的容器应用机密的名称。 | 字符串 |
价值 | 非机密环境变量值。 | 字符串 |
ContainerAppProbe
名字 | 描述 | 价值 |
---|---|---|
failureThreshold | 探测在成功后被视为失败的最小连续失败。 默认值为 3。 最小值为 1。 最大值为 10。 | int |
httpGet | HTTPGet 指定要执行的 http 请求。 | ContainerAppProbeHttpGet |
initialDelaySeconds | 启动生存情况探测之前容器启动后的秒数。 最小值为 1。 最大值为 60。 | int |
periodSeconds | 执行探测的频率(以秒为单位)。 默认值为 10 秒。 最小值为 1。 最大值为 240。 | int |
successThreshold | 探测在失败后被视为成功的最小连续成功次数。 默认值为 1。 对于实时性和启动,必须为 1。 最小值为 1。 最大值为 10。 | int |
tcpSocket | TCPSocket 指定涉及 TCP 端口的操作。 尚不支持 TCP 挂钩。 | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Pod 在探测失败时需要正常终止的可选持续时间(以秒为单位)。 宽限期是 Pod 中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间(以秒为单位)。 设置此值的时间超过进程的预期清理时间。 如果此值为 nil,将使用 Pod 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) | int |
timeoutSeconds | 探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 | int |
类型 | 探测的类型。 | “Liveness” “就绪情况” “Startup” |
ContainerAppProbeHttpGet
名字 | 描述 | 价值 |
---|---|---|
主机 | 要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 | 字符串 |
httpHeaders | 在请求中设置的自定义标头。 HTTP 允许重复标头。 | ContainerAppProbeHttpGetHttpHeadersItem[] |
路径 | 在 HTTP 服务器上访问的路径。 | 字符串 |
港口 | 要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
方案 | 用于连接到主机的方案。 默认为 HTTP。 | “HTTP” “HTTPS” |
ContainerAppProbeHttpGetHttpHeadersItem
名字 | 描述 | 价值 |
---|---|---|
名字 | 标头字段名称 | string (必需) |
价值 | 标头字段值 | string (必需) |
ContainerAppProbeTcpSocket
名字 | 描述 | 价值 |
---|---|---|
主机 | 可选:要连接到的主机名,默认为 Pod IP。 | 字符串 |
港口 | 要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
ContainerResources
名字 | 描述 | 价值 |
---|---|---|
中央处理器 | 核心中所需的 CPU,例如 0.5 若要指定十进制值,请使用 json() 函数。 | int 或 json decimal |
记忆 | 所需的内存,例如“250Mb” | 字符串 |
VolumeMount
名字 | 描述 | 价值 |
---|---|---|
mountPath | 容器中应装载卷的路径。不得包含“:”。 | 字符串 |
subPath | 应从中装载容器卷的卷中的路径。 默认为“”(卷的根目录)。 | 字符串 |
volumeName | 这必须与卷的名称匹配。 | 字符串 |
InitContainer
名字 | 描述 | 价值 |
---|---|---|
args | 容器启动命令参数。 | string[] |
命令 | 容器启动命令。 | string[] |
env | 容器环境变量。 | EnvironmentVar[] |
图像 | 容器映像标记。 | 字符串 |
名字 | 自定义容器名称。 | 字符串 |
资源 | 容器资源要求。 | ContainerResources |
volumeMounts | 容器卷装载。 | VolumeMount[] |
卷
名字 | 描述 | 价值 |
---|---|---|
mountOptions | 装载 AzureFile 时使用的装载选项。 必须是逗号分隔的字符串。 | 字符串 |
名字 | 卷名称。 | 字符串 |
秘密 | 要添加到卷中的机密列表。 如果未提供机密,集合中的所有机密都将添加到卷中。 | SecretVolumeItem[] |
storageName | 存储资源的名称。 无需提供 EmptyDir 和 Secret。 | 字符串 |
storageType | 卷的存储类型。 如果未提供,请使用 EmptyDir。 | “AzureFile” “EmptyDir” “Secret” |
SecretVolumeItem
名字 | 描述 | 价值 |
---|---|---|
路径 | 项目机密的路径。 如果未提供路径,则路径默认为 secretRef 中列出的机密的名称。 | 字符串 |
secretRef | 要从中拉取机密值的容器应用机密的名称。 | 字符串 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署作业资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.App/jobs 资源,请将以下 Terraform 添加到模板中。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/jobs@2023-08-01-preview"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
configuration = {
eventTriggerConfig = {
parallelism = int
replicaCompletionCount = int
scale = {
maxExecutions = int
minExecutions = int
pollingInterval = int
rules = [
{
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
name = "string"
type = "string"
}
]
}
}
manualTriggerConfig = {
parallelism = int
replicaCompletionCount = int
}
registries = [
{
identity = "string"
passwordSecretRef = "string"
server = "string"
username = "string"
}
]
replicaRetryLimit = int
replicaTimeout = int
scheduleTriggerConfig = {
cronExpression = "string"
parallelism = int
replicaCompletionCount = int
}
secrets = [
{
identity = "string"
keyVaultUrl = "string"
name = "string"
value = "string"
}
]
triggerType = "string"
}
environmentId = "string"
template = {
containers = [
{
args = [
"string"
]
command = [
"string"
]
env = [
{
name = "string"
secretRef = "string"
value = "string"
}
]
image = "string"
name = "string"
probes = [
{
failureThreshold = int
httpGet = {
host = "string"
httpHeaders = [
{
name = "string"
value = "string"
}
]
path = "string"
port = int
scheme = "string"
}
initialDelaySeconds = int
periodSeconds = int
successThreshold = int
tcpSocket = {
host = "string"
port = int
}
terminationGracePeriodSeconds = int
timeoutSeconds = int
type = "string"
}
]
resources = {
cpu = "decimal-as-string"
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
subPath = "string"
volumeName = "string"
}
]
}
]
initContainers = [
{
args = [
"string"
]
command = [
"string"
]
env = [
{
name = "string"
secretRef = "string"
value = "string"
}
]
image = "string"
name = "string"
resources = {
cpu = "decimal-as-string"
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
subPath = "string"
volumeName = "string"
}
]
}
]
volumes = [
{
mountOptions = "string"
name = "string"
secrets = [
{
path = "string"
secretRef = "string"
}
]
storageName = "string"
storageType = "string"
}
]
}
workloadProfileName = "string"
}
extendedLocation = {
name = "string"
type = "CustomLocation"
}
})
}
属性值
工作
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.App/jobs@2023-08-01-preview” |
名字 | 资源名称 | string (必需) |
位置 | 资源所在的地理位置 | string (必需) |
parent_id | 若要部署到资源组,请使用该资源组的 ID。 | string (必需) |
标签 | 资源标记。 | 标记名称和值的字典。 |
extendedLocation | 扩展位置的复杂类型。 | ExtendedLocation |
身份 | 容器应用作业需要托管标识才能与其他 Azure 服务交互,以不维护代码中的任何机密或凭据。 | ManagedServiceIdentity |
性能 | 容器应用作业资源特定属性。 | JobProperties |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “CustomLocation” |
ManagedServiceIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 | “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned”(必需) |
identity_ids | 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 | 用户标识 ID 的数组。 |
UserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentity |
UserAssignedIdentity
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
JobProperties
名字 | 描述 | 价值 |
---|---|---|
配置 | 容器应用作业配置属性。 | JobConfiguration |
environmentId | 环境的资源 ID。 | 字符串 |
模板 | 容器应用作业定义。 | JobTemplate |
workloadProfileName | 用于固定容器应用作业执行的工作负荷配置文件名称。 | 字符串 |
JobConfiguration
名字 | 描述 | 价值 |
---|---|---|
eventTriggerConfig | 触发事件驱动作业的配置。 | JobConfigurationEventTriggerConfig |
manualTriggerConfig | 单个执行作业的手动触发器配置。 属性 replicaCompletionCount 和并行度默认设置为 1 | JobConfigurationManualTriggerConfig |
登记处 | 容器应用作业使用的专用容器注册表凭据的集合 | RegistryCredentials[] |
replicaRetryLimit | 失败作业之前的最大重试次数。 | int |
replicaTimeout | 允许副本运行的最大秒数。 | int (必需) |
scheduleTriggerConfig | Cron 格式化了 cronjobs 的重复触发器计划(“* * * *”)。 默认情况下,属性完成和并行度设置为 1 | JobConfigurationScheduleTriggerConfig |
秘密 | 容器应用作业使用的机密集合 | 机密[] |
triggerType | 作业的触发器类型 | “Event” “手动” “计划”(必需) |
JobConfigurationEventTriggerConfig
名字 | 描述 | 价值 |
---|---|---|
排比 | 可在给定时间运行的作业的并行副本数。 | int |
replicaCompletionCount | 在完成整个作业之前,副本成功完成的最小数目。 | int |
规模 | 缩放事件驱动作业的配置。 | JobScale |
JobScale
名字 | 描述 | 价值 |
---|---|---|
maxExecutions | 为触发器创建的最大作业执行次数,默认值为 100。 | int |
minExecutions | 为触发器创建的最小作业执行次数,默认为 0 | int |
pollingInterval | 检查每个事件源的间隔(以秒为单位)。 默认值为 30s | int |
规则 | 缩放规则。 | JobScaleRule[] |
JobScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 缩放规则的身份验证机密。 | ScaleRuleAuth[] |
元数据 | 描述缩放规则的元数据属性。 | |
名字 | 缩放规则名称 | 字符串 |
类型 | 缩放规则的类型 例如:azure-servicebus、redis 等。 |
字符串 |
ScaleRuleAuth
名字 | 描述 | 价值 |
---|---|---|
secretRef | 要从中提取身份验证参数的机密的名称。 | 字符串 |
triggerParameter | 使用机密的触发器参数 | 字符串 |
JobConfigurationManualTriggerConfig
名字 | 描述 | 价值 |
---|---|---|
排比 | 可在给定时间运行的作业的并行副本数。 | int |
replicaCompletionCount | 在完成整个作业之前,副本成功完成的最小数目。 | int |
RegistryCredentials
名字 | 描述 | 价值 |
---|---|---|
身份 | 用于通过 Azure 容器注册表进行身份验证的托管标识。 对于用户分配的标识,请使用完整的用户分配标识资源 ID。 对于系统分配的标识,请使用“system” | 字符串 |
passwordSecretRef | 包含注册表登录密码的机密的名称 | 字符串 |
服务器 | 容器注册表服务器 | 字符串 |
username | 容器注册表用户名 | 字符串 |
JobConfigurationScheduleTriggerConfig
名字 | 描述 | 价值 |
---|---|---|
cronExpression | Cron 格式化了 Cron 作业的重复计划(“* * * *”)。 | string (必需) |
排比 | 可在给定时间运行的作业的并行副本数。 | int |
replicaCompletionCount | 在完成整个作业之前,副本成功完成的最小数目。 | int |
秘密
名字 | 描述 | 价值 |
---|---|---|
身份 | 使用 Azure Key Vault 进行身份验证的托管标识的资源 ID,或使用系统分配的标识。 | 字符串 |
keyVaultUrl | 指向容器应用引用的机密的 Azure Key Vault URL。 | 字符串 |
名字 | 机密名称。 | 字符串 |
价值 | 机密值。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
JobTemplate
名字 | 描述 | 价值 |
---|---|---|
器皿 | 容器应用的容器定义列表。 | 容器[] |
initContainers | 在应用容器之前运行的专用容器列表。 | InitContainer[] |
卷 | 容器应用的卷定义列表。 | 卷[] |
容器
名字 | 描述 | 价值 |
---|---|---|
args | 容器启动命令参数。 | string[] |
命令 | 容器启动命令。 | string[] |
env | 容器环境变量。 | EnvironmentVar[] |
图像 | 容器映像标记。 | 字符串 |
名字 | 自定义容器名称。 | 字符串 |
探针 | 容器的探测列表。 | ContainerAppProbe[] |
资源 | 容器资源要求。 | ContainerResources |
volumeMounts | 容器卷装载。 | VolumeMount[] |
EnvironmentVar
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量名称。 | 字符串 |
secretRef | 要从中拉取环境变量值的容器应用机密的名称。 | 字符串 |
价值 | 非机密环境变量值。 | 字符串 |
ContainerAppProbe
名字 | 描述 | 价值 |
---|---|---|
failureThreshold | 探测在成功后被视为失败的最小连续失败。 默认值为 3。 最小值为 1。 最大值为 10。 | int |
httpGet | HTTPGet 指定要执行的 http 请求。 | ContainerAppProbeHttpGet |
initialDelaySeconds | 启动生存情况探测之前容器启动后的秒数。 最小值为 1。 最大值为 60。 | int |
periodSeconds | 执行探测的频率(以秒为单位)。 默认值为 10 秒。 最小值为 1。 最大值为 240。 | int |
successThreshold | 探测在失败后被视为成功的最小连续成功次数。 默认值为 1。 对于实时性和启动,必须为 1。 最小值为 1。 最大值为 10。 | int |
tcpSocket | TCPSocket 指定涉及 TCP 端口的操作。 尚不支持 TCP 挂钩。 | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Pod 在探测失败时需要正常终止的可选持续时间(以秒为单位)。 宽限期是 Pod 中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间(以秒为单位)。 设置此值的时间超过进程的预期清理时间。 如果此值为 nil,将使用 Pod 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) | int |
timeoutSeconds | 探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 | int |
类型 | 探测的类型。 | “活泼” “就绪情况” “Startup” |
ContainerAppProbeHttpGet
名字 | 描述 | 价值 |
---|---|---|
主机 | 要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 | 字符串 |
httpHeaders | 在请求中设置的自定义标头。 HTTP 允许重复标头。 | ContainerAppProbeHttpGetHttpHeadersItem[] |
路径 | 在 HTTP 服务器上访问的路径。 | 字符串 |
港口 | 要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
方案 | 用于连接到主机的方案。 默认为 HTTP。 | “HTTP” “HTTPS” |
ContainerAppProbeHttpGetHttpHeadersItem
名字 | 描述 | 价值 |
---|---|---|
名字 | 标头字段名称 | string (必需) |
价值 | 标头字段值 | string (必需) |
ContainerAppProbeTcpSocket
名字 | 描述 | 价值 |
---|---|---|
主机 | 可选:要连接到的主机名,默认为 Pod IP。 | 字符串 |
港口 | 要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
ContainerResources
名字 | 描述 | 价值 |
---|---|---|
中央处理器 | 核心中所需的 CPU,例如 0.5 将十进制值指定为字符串。 | int 或 json decimal |
记忆 | 所需的内存,例如“250Mb” | 字符串 |
VolumeMount
名字 | 描述 | 价值 |
---|---|---|
mountPath | 容器中应装载卷的路径。不得包含“:”。 | 字符串 |
subPath | 应从中装载容器卷的卷中的路径。 默认为“”(卷的根目录)。 | 字符串 |
volumeName | 这必须与卷的名称匹配。 | 字符串 |
InitContainer
名字 | 描述 | 价值 |
---|---|---|
args | 容器启动命令参数。 | string[] |
命令 | 容器启动命令。 | string[] |
env | 容器环境变量。 | EnvironmentVar[] |
图像 | 容器映像标记。 | 字符串 |
名字 | 自定义容器名称。 | 字符串 |
资源 | 容器资源要求。 | ContainerResources |
volumeMounts | 容器卷装载。 | VolumeMount[] |
卷
名字 | 描述 | 价值 |
---|---|---|
mountOptions | 装载 AzureFile 时使用的装载选项。 必须是逗号分隔的字符串。 | 字符串 |
名字 | 卷名称。 | 字符串 |
秘密 | 要添加到卷中的机密列表。 如果未提供机密,集合中的所有机密都将添加到卷中。 | SecretVolumeItem[] |
storageName | 存储资源的名称。 无需提供 EmptyDir 和 Secret。 | 字符串 |
storageType | 卷的存储类型。 如果未提供,请使用 EmptyDir。 | “AzureFile” “EmptyDir” “Secret” |
SecretVolumeItem
名字 | 描述 | 价值 |
---|---|---|
路径 | 项目机密的路径。 如果未提供路径,则路径默认为 secretRef 中列出的机密的名称。 | 字符串 |
secretRef | 要从中拉取机密值的容器应用机密的名称。 | 字符串 |