你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.App 作业 2025-02-02-preview

Bicep 资源定义

可以使用目标操作部署作业资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.App/jobs 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.App/jobs@2025-02-02-preview' = {
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    configuration: {
      eventTriggerConfig: {
        parallelism: int
        replicaCompletionCount: int
        scale: {
          maxExecutions: int
          minExecutions: int
          pollingInterval: int
          rules: [
            {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              identity: 'string'
              metadata: any(...)
              name: 'string'
              type: 'string'
            }
          ]
        }
      }
      identitySettings: [
        {
          identity: 'string'
          lifecycle: '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'
          imageType: '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: int
            gpu: int
            memory: 'string'
          }
          volumeMounts: [
            {
              mountPath: 'string'
              subPath: 'string'
              volumeName: 'string'
            }
          ]
        }
      ]
      initContainers: [
        {
          args: [
            'string'
          ]
          command: [
            'string'
          ]
          env: [
            {
              name: 'string'
              secretRef: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          imageType: 'string'
          name: 'string'
          resources: {
            cpu: int
            gpu: int
            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'
  }
  tags: {
    {customized property}: 'string'
  }
}

属性值

Microsoft.App/jobs

名称 DESCRIPTION 价值
extendedLocation 扩展位置的复杂类型。 扩展位置
身份 容器应用作业需要托管标识才能与其他 Azure 服务交互,以不维护代码中的任何机密或凭据。 ManagedServiceIdentity
位置 资源所在的地理位置 string (必需)
姓名 资源名称 字符串

约束:
模式 = ^[-\w\._\(\)]+$ (必需)
属性 容器应用作业资源特定属性。 JobProperties (作业属性)
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

集装箱

名称 DESCRIPTION 价值
参数 容器启动命令参数。 字符串[]
指令 容器启动命令。 字符串[]
环境 容器环境变量。 EnvironmentVar (环境变量
图像 容器映像标记。 字符串
图像类型 图像的类型。 设置为 CloudBuild 可让系统管理映像,用户将无法通过映像字段更新映像。 设置为用户提供的映像的 ContainerImage。 “CloudBuild”
“ContainerImage”
姓名 自定义容器名称。 字符串
探针 容器的探测列表。 ContainerAppProbe[]
资源 容器资源要求。 容器资源
volumeMounts 容器卷装载。 体积挂载[]

ContainerAppProbe 的

名称 DESCRIPTION 价值
failureThreshold (失败阈值) 探测在成功后被视为失败的最小连续失败。 默认值为 3。 最小值为 1。 最大值为 10。 整数 (int)
httpGet HTTPGet 指定要执行的 http 请求。 ContainerAppProbeHttpGet
initialDelaySeconds 启动生存情况探测之前容器启动后的秒数。 最小值为 1。 最大值为 60。 整数 (int)
periodSeconds (周期秒) 执行探测的频率(以秒为单位)。 默认值为 10 秒。 最小值为 1。 最大值为 240。 整数 (int)
成功阈值 探测在失败后被视为成功的最小连续成功次数。 默认值为 1。 对于实时性和启动,必须为 1。 最小值为 1。 最大值为 10。 整数 (int)
tcpSocket TCPSocket 指定涉及 TCP 端口的操作。 尚不支持 TCP 挂钩。 容器应用探针 TcpSocket
terminationGracePeriodSeconds Pod 在探测失败时需要正常终止的可选持续时间(以秒为单位)。 宽限期是 Pod 中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间(以秒为单位)。 请将此值设置为大于你的进程的预期清理时间。 如果此值为 nil,将使用 Pod 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) 整数 (int)
timeoutSeconds 探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 整数 (int)
类型 探测的类型。 “Liveness”
“就绪情况”
“Startup”

ContainerAppProbeHttpGet

名称 DESCRIPTION 价值
主机 要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 字符串
httpHeaders 的 在请求中设置的自定义标头。 HTTP 允许重复标头。 ContainerAppProbeHttpGetHttpHeadersItem[]
路径 在 HTTP 服务器上访问的路径。 字符串
港口 要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 int (必需)
方案 用于连接到主机的方案。 默认为 HTTP。 “HTTP”
“HTTPS”

ContainerAppProbeHttpGetHttpHeadersItem

名称 DESCRIPTION 价值
姓名 标头字段名称 string (必需)
价值 标头字段值 string (必需)

容器应用探针 TcpSocket

名称 DESCRIPTION 价值
主机 可选:要连接到的主机名,默认为 Pod IP。 字符串
港口 要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 int (必需)

容器资源

名称 DESCRIPTION 价值
中央处理器 核心中所需的 CPU,例如 0.5 整数 (int)
GPU(图形处理器) 基于 GPU 的应用的核心中所需的 GPU,例如 1.0 整数 (int)
记忆 所需的内存,例如“250Mb” 字符串

EnvironmentVar

名称 DESCRIPTION 价值
姓名 环境变量名称。 字符串
secretRef 的 要从中拉取环境变量值的容器应用机密的名称。 字符串
价值 非机密环境变量值。 字符串

扩展位置

名称 DESCRIPTION 价值
姓名 扩展位置的名称。 字符串
类型 扩展位置的类型。 “CustomLocation”

身份设置

名称 DESCRIPTION 价值
身份 分配给容器应用的用户分配托管标识的资源 ID,或系统分配的标识的“系统”。 string (必需)
生命周期 用于选择容器应用的生命周期阶段,在此期间应提供托管标识。 “All”
“Init”
“Main”
“None”

InitContainer (初始容器)

名称 DESCRIPTION 价值
参数 容器启动命令参数。 字符串[]
指令 容器启动命令。 字符串[]
环境 容器环境变量。 EnvironmentVar (环境变量
图像 容器映像标记。 字符串
图像类型 图像的类型。 设置为 CloudBuild 可让系统管理映像,用户将无法通过映像字段更新映像。 设置为用户提供的映像的 ContainerImage。 “CloudBuild”
“ContainerImage”
姓名 自定义容器名称。 字符串
资源 容器资源要求。 容器资源
volumeMounts 容器卷装载。 体积挂载[]

JobConfiguration

名称 DESCRIPTION 价值
eventTriggerConfig 事件触发器配置 触发事件驱动作业的配置。 JobConfigurationEventTriggerConfig
identitySettings 分配给容器应用作业的托管标识的可选设置。 如果未在此处指定托管标识,将使用默认设置。 身份设置[]
手动触发配置 单个执行作业的手动触发器配置。 属性 replicaCompletionCount 和并行度默认设置为 1 JobConfigurationManualTriggerConfig
登记处 容器应用作业使用的专用容器注册表凭据的集合 RegistryCredentials[]
replicaRetryLimit 失败作业之前的最大重试次数。 整数 (int)
replicaTimeout (复制超时) 允许副本运行的最大秒数。 int (必需)
scheduleTriggerConfig Cron 格式化了 cronjobs 的重复触发器计划(“* * * *”)。 默认情况下,属性完成和并行度设置为 1 JobConfigurationScheduleTriggerConfig
机密 容器应用作业使用的机密集合 机密[]
triggerType 作业的触发器类型 “Event”
“Manual”
“Schedule”(必需)

JobConfigurationEventTriggerConfig

名称 DESCRIPTION 价值
并行性 可在给定时间运行的作业的并行副本数。 整数 (int)
replicaCompletionCount 在完成整个作业之前,副本成功完成的最小数目。 整数 (int)
规模 缩放事件驱动作业的配置。 JobScale (作业规模)

JobConfigurationManualTriggerConfig

名称 DESCRIPTION 价值
并行性 可在给定时间运行的作业的并行副本数。 整数 (int)
replicaCompletionCount 在完成整个作业之前,副本成功完成的最小数目。 整数 (int)

JobConfigurationScheduleTriggerConfig

名称 DESCRIPTION 价值
cron表达式 Cron 格式化了 Cron 作业的重复计划(“* * * *”)。 string (必需)
并行性 可在给定时间运行的作业的并行副本数。 整数 (int)
replicaCompletionCount 在完成整个作业之前,副本成功完成的最小数目。 整数 (int)

JobProperties (作业属性)

名称 DESCRIPTION 价值
配置 容器应用作业配置属性。 JobConfiguration
环境 ID 环境的资源 ID。 字符串
模板 容器应用作业定义。 JobTemplate (作业模板)
workloadProfileName (工作负载配置文件名称) 用于固定容器应用作业执行的工作负荷配置文件名称。 字符串

JobScale (作业规模)

名称 DESCRIPTION 价值
maxExecutions 为触发器创建的最大作业执行次数,默认值为 100。 整数 (int)
minExecutions 执行 为触发器创建的最小作业执行次数,默认为 0 整数 (int)
轮询间隔 检查每个事件源的间隔(以秒为单位)。 默认值为 30s 整数 (int)
规则 缩放规则。 JobScaleRule[]

JobScaleRule

名称 DESCRIPTION 价值
身份验证 缩放规则的身份验证机密。 ScaleRuleAuth []
身份 分配给作业的用户分配托管标识的资源 ID,或系统分配的标识的“系统”。 字符串
元数据 描述缩放规则的元数据属性。 任何
姓名 缩放规则名称 字符串
类型 缩放规则的类型
例如:azure-servicebus、redis 等。
字符串

JobTemplate (作业模板)

名称 DESCRIPTION 价值
器皿 容器应用的容器定义列表。 容器[]
initContainers 在应用容器之前运行的专用容器列表。 InitContainer[]
容器应用的卷定义列表。 []

ManagedServiceIdentity

名称 DESCRIPTION 价值
类型 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”(必需)
用户分配的标识 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 UserAssignedIdentities

注册表凭据

名称 DESCRIPTION 价值
身份 用于通过 Azure 容器注册表进行身份验证的托管标识。 对于用户分配的标识,请使用完整的用户分配标识资源 ID。 对于系统分配的标识,请使用“system” 字符串
密码SecretRef 包含注册表登录密码的机密的名称 字符串
服务器 容器注册表服务器 字符串
用户名 容器注册表用户名 字符串

ScaleRuleAuth 的

名称 DESCRIPTION 价值
secretRef 的 要从中提取身份验证参数的机密的名称。 字符串
triggerParameter 使用机密的触发器参数 字符串

机密

名称 DESCRIPTION 价值
身份 使用 Azure Key Vault 进行身份验证的托管标识的资源 ID,或使用系统分配的标识。 字符串
keyVaultUrl 的 指向容器应用引用的机密的 Azure Key Vault URL。 字符串
姓名 机密名称。 字符串
价值 机密值。 字符串

约束:
敏感值。 以安全参数的形式传入。

SecretVolumeItem

名称 DESCRIPTION 价值
路径 项目机密的路径。 如果未提供路径,则路径默认为 secretRef 中列出的机密的名称。 字符串
secretRef 的 要从中拉取机密值的容器应用机密的名称。 字符串

TrackedResourceTags

名称 DESCRIPTION 价值

UserAssignedIdentities

名称 DESCRIPTION 价值

UserAssignedIdentity

名称 DESCRIPTION 价值

音量

名称 DESCRIPTION 价值
mountOptions 装载 Azure 文件共享或 NFS Azure 文件共享时使用的装载选项。 必须是逗号分隔的字符串。 字符串
姓名 卷名称。 字符串
机密 要添加到卷中的机密列表。 如果未提供机密,集合中的所有机密都将添加到卷中。 SecretVolumeItem[]
存储名称 存储资源的名称。 无需提供 EmptyDir 和 Secret。 字符串
存储类型 卷的存储类型。 如果未提供,请使用 EmptyDir。 “AzureFile”
“EmptyDir”
“NfsAzureFile”
“Secret”
“Smb”

VolumeMount (体积挂载)

名称 DESCRIPTION 价值
mountPath 容器中应装载卷的路径。不得包含“:”。 字符串
subPath 应从中装载容器卷的卷中的路径。 默认为“”(卷的根目录)。 字符串
卷名称 这必须与卷的名称匹配。 字符串

用法示例

Azure 验证模块

以下 Azure 验证模块 可用于部署此资源类型。

模块 DESCRIPTION
应用作业 应用作业的 AVM 资源模块

ARM 模板资源定义

可以使用目标操作部署作业资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.App/jobs 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.App/jobs",
  "apiVersion": "2025-02-02-preview",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "configuration": {
      "eventTriggerConfig": {
        "parallelism": "int",
        "replicaCompletionCount": "int",
        "scale": {
          "maxExecutions": "int",
          "minExecutions": "int",
          "pollingInterval": "int",
          "rules": [
            {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "identity": "string",
              "metadata": {},
              "name": "string",
              "type": "string"
            }
          ]
        }
      },
      "identitySettings": [
        {
          "identity": "string",
          "lifecycle": "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",
          "imageType": "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": "int",
            "gpu": "int",
            "memory": "string"
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "subPath": "string",
              "volumeName": "string"
            }
          ]
        }
      ],
      "initContainers": [
        {
          "args": [ "string" ],
          "command": [ "string" ],
          "env": [
            {
              "name": "string",
              "secretRef": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "imageType": "string",
          "name": "string",
          "resources": {
            "cpu": "int",
            "gpu": "int",
            "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"
  },
  "tags": {
    "{customized property}": "string"
  }
}

属性值

Microsoft.App/jobs

名称 DESCRIPTION 价值
apiVersion API 版本 “2025-02-02-预览”
extendedLocation 扩展位置的复杂类型。 扩展位置
身份 容器应用作业需要托管标识才能与其他 Azure 服务交互,以不维护代码中的任何机密或凭据。 ManagedServiceIdentity
位置 资源所在的地理位置 string (必需)
姓名 资源名称 字符串

约束:
模式 = ^[-\w\._\(\)]+$ (必需)
属性 容器应用作业资源特定属性。 JobProperties (作业属性)
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.App/jobs”

集装箱

名称 DESCRIPTION 价值
参数 容器启动命令参数。 字符串[]
指令 容器启动命令。 字符串[]
环境 容器环境变量。 EnvironmentVar (环境变量
图像 容器映像标记。 字符串
图像类型 图像的类型。 设置为 CloudBuild 可让系统管理映像,用户将无法通过映像字段更新映像。 设置为用户提供的映像的 ContainerImage。 “CloudBuild”
“ContainerImage”
姓名 自定义容器名称。 字符串
探针 容器的探测列表。 ContainerAppProbe[]
资源 容器资源要求。 容器资源
volumeMounts 容器卷装载。 体积挂载[]

ContainerAppProbe 的

名称 DESCRIPTION 价值
failureThreshold (失败阈值) 探测在成功后被视为失败的最小连续失败。 默认值为 3。 最小值为 1。 最大值为 10。 整数 (int)
httpGet HTTPGet 指定要执行的 http 请求。 ContainerAppProbeHttpGet
initialDelaySeconds 启动生存情况探测之前容器启动后的秒数。 最小值为 1。 最大值为 60。 整数 (int)
periodSeconds (周期秒) 执行探测的频率(以秒为单位)。 默认值为 10 秒。 最小值为 1。 最大值为 240。 整数 (int)
成功阈值 探测在失败后被视为成功的最小连续成功次数。 默认值为 1。 对于实时性和启动,必须为 1。 最小值为 1。 最大值为 10。 整数 (int)
tcpSocket TCPSocket 指定涉及 TCP 端口的操作。 尚不支持 TCP 挂钩。 容器应用探针 TcpSocket
terminationGracePeriodSeconds Pod 在探测失败时需要正常终止的可选持续时间(以秒为单位)。 宽限期是 Pod 中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间(以秒为单位)。 请将此值设置为大于你的进程的预期清理时间。 如果此值为 nil,将使用 Pod 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) 整数 (int)
timeoutSeconds 探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 整数 (int)
类型 探测的类型。 “Liveness”
“就绪情况”
“Startup”

ContainerAppProbeHttpGet

名称 DESCRIPTION 价值
主机 要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 字符串
httpHeaders 的 在请求中设置的自定义标头。 HTTP 允许重复标头。 ContainerAppProbeHttpGetHttpHeadersItem[]
路径 在 HTTP 服务器上访问的路径。 字符串
港口 要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 int (必需)
方案 用于连接到主机的方案。 默认为 HTTP。 “HTTP”
“HTTPS”

ContainerAppProbeHttpGetHttpHeadersItem

名称 DESCRIPTION 价值
姓名 标头字段名称 string (必需)
价值 标头字段值 string (必需)

容器应用探针 TcpSocket

名称 DESCRIPTION 价值
主机 可选:要连接到的主机名,默认为 Pod IP。 字符串
港口 要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 int (必需)

容器资源

名称 DESCRIPTION 价值
中央处理器 核心中所需的 CPU,例如 0.5 整数 (int)
GPU(图形处理器) 基于 GPU 的应用的核心中所需的 GPU,例如 1.0 整数 (int)
记忆 所需的内存,例如“250Mb” 字符串

EnvironmentVar

名称 DESCRIPTION 价值
姓名 环境变量名称。 字符串
secretRef 的 要从中拉取环境变量值的容器应用机密的名称。 字符串
价值 非机密环境变量值。 字符串

扩展位置

名称 DESCRIPTION 价值
姓名 扩展位置的名称。 字符串
类型 扩展位置的类型。 “CustomLocation”

身份设置

名称 DESCRIPTION 价值
身份 分配给容器应用的用户分配托管标识的资源 ID,或系统分配的标识的“系统”。 string (必需)
生命周期 用于选择容器应用的生命周期阶段,在此期间应提供托管标识。 “All”
“Init”
“Main”
“None”

InitContainer (初始容器)

名称 DESCRIPTION 价值
参数 容器启动命令参数。 字符串[]
指令 容器启动命令。 字符串[]
环境 容器环境变量。 EnvironmentVar (环境变量
图像 容器映像标记。 字符串
图像类型 图像的类型。 设置为 CloudBuild 可让系统管理映像,用户将无法通过映像字段更新映像。 设置为用户提供的映像的 ContainerImage。 “CloudBuild”
“ContainerImage”
姓名 自定义容器名称。 字符串
资源 容器资源要求。 容器资源
volumeMounts 容器卷装载。 体积挂载[]

JobConfiguration

名称 DESCRIPTION 价值
eventTriggerConfig 事件触发器配置 触发事件驱动作业的配置。 JobConfigurationEventTriggerConfig
identitySettings 分配给容器应用作业的托管标识的可选设置。 如果未在此处指定托管标识,将使用默认设置。 身份设置[]
手动触发配置 单个执行作业的手动触发器配置。 属性 replicaCompletionCount 和并行度默认设置为 1 JobConfigurationManualTriggerConfig
登记处 容器应用作业使用的专用容器注册表凭据的集合 RegistryCredentials[]
replicaRetryLimit 失败作业之前的最大重试次数。 整数 (int)
replicaTimeout (复制超时) 允许副本运行的最大秒数。 int (必需)
scheduleTriggerConfig Cron 格式化了 cronjobs 的重复触发器计划(“* * * *”)。 默认情况下,属性完成和并行度设置为 1 JobConfigurationScheduleTriggerConfig
机密 容器应用作业使用的机密集合 机密[]
triggerType 作业的触发器类型 “Event”
“Manual”
“Schedule”(必需)

JobConfigurationEventTriggerConfig

名称 DESCRIPTION 价值
并行性 可在给定时间运行的作业的并行副本数。 整数 (int)
replicaCompletionCount 在完成整个作业之前,副本成功完成的最小数目。 整数 (int)
规模 缩放事件驱动作业的配置。 JobScale (作业规模)

JobConfigurationManualTriggerConfig

名称 DESCRIPTION 价值
并行性 可在给定时间运行的作业的并行副本数。 整数 (int)
replicaCompletionCount 在完成整个作业之前,副本成功完成的最小数目。 整数 (int)

JobConfigurationScheduleTriggerConfig

名称 DESCRIPTION 价值
cron表达式 Cron 格式化了 Cron 作业的重复计划(“* * * *”)。 string (必需)
并行性 可在给定时间运行的作业的并行副本数。 整数 (int)
replicaCompletionCount 在完成整个作业之前,副本成功完成的最小数目。 整数 (int)

JobProperties (作业属性)

名称 DESCRIPTION 价值
配置 容器应用作业配置属性。 JobConfiguration
环境 ID 环境的资源 ID。 字符串
模板 容器应用作业定义。 JobTemplate (作业模板)
workloadProfileName (工作负载配置文件名称) 用于固定容器应用作业执行的工作负荷配置文件名称。 字符串

JobScale (作业规模)

名称 DESCRIPTION 价值
maxExecutions 为触发器创建的最大作业执行次数,默认值为 100。 整数 (int)
minExecutions 执行 为触发器创建的最小作业执行次数,默认为 0 整数 (int)
轮询间隔 检查每个事件源的间隔(以秒为单位)。 默认值为 30s 整数 (int)
规则 缩放规则。 JobScaleRule[]

JobScaleRule

名称 DESCRIPTION 价值
身份验证 缩放规则的身份验证机密。 ScaleRuleAuth []
身份 分配给作业的用户分配托管标识的资源 ID,或系统分配的标识的“系统”。 字符串
元数据 描述缩放规则的元数据属性。 任何
姓名 缩放规则名称 字符串
类型 缩放规则的类型
例如:azure-servicebus、redis 等。
字符串

JobTemplate (作业模板)

名称 DESCRIPTION 价值
器皿 容器应用的容器定义列表。 容器[]
initContainers 在应用容器之前运行的专用容器列表。 InitContainer[]
容器应用的卷定义列表。 []

ManagedServiceIdentity

名称 DESCRIPTION 价值
类型 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”(必需)
用户分配的标识 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 UserAssignedIdentities

注册表凭据

名称 DESCRIPTION 价值
身份 用于通过 Azure 容器注册表进行身份验证的托管标识。 对于用户分配的标识,请使用完整的用户分配标识资源 ID。 对于系统分配的标识,请使用“system” 字符串
密码SecretRef 包含注册表登录密码的机密的名称 字符串
服务器 容器注册表服务器 字符串
用户名 容器注册表用户名 字符串

ScaleRuleAuth 的

名称 DESCRIPTION 价值
secretRef 的 要从中提取身份验证参数的机密的名称。 字符串
triggerParameter 使用机密的触发器参数 字符串

机密

名称 DESCRIPTION 价值
身份 使用 Azure Key Vault 进行身份验证的托管标识的资源 ID,或使用系统分配的标识。 字符串
keyVaultUrl 的 指向容器应用引用的机密的 Azure Key Vault URL。 字符串
姓名 机密名称。 字符串
价值 机密值。 字符串

约束:
敏感值。 以安全参数的形式传入。

SecretVolumeItem

名称 DESCRIPTION 价值
路径 项目机密的路径。 如果未提供路径,则路径默认为 secretRef 中列出的机密的名称。 字符串
secretRef 的 要从中拉取机密值的容器应用机密的名称。 字符串

TrackedResourceTags

名称 DESCRIPTION 价值

UserAssignedIdentities

名称 DESCRIPTION 价值

UserAssignedIdentity

名称 DESCRIPTION 价值

音量

名称 DESCRIPTION 价值
mountOptions 装载 Azure 文件共享或 NFS Azure 文件共享时使用的装载选项。 必须是逗号分隔的字符串。 字符串
姓名 卷名称。 字符串
机密 要添加到卷中的机密列表。 如果未提供机密,集合中的所有机密都将添加到卷中。 SecretVolumeItem[]
存储名称 存储资源的名称。 无需提供 EmptyDir 和 Secret。 字符串
存储类型 卷的存储类型。 如果未提供,请使用 EmptyDir。 “AzureFile”
“EmptyDir”
“NfsAzureFile”
“Secret”
“Smb”

VolumeMount (体积挂载)

名称 DESCRIPTION 价值
mountPath 容器中应装载卷的路径。不得包含“:”。 字符串
subPath 应从中装载容器卷的卷中的路径。 默认为“”(卷的根目录)。 字符串
卷名称 这必须与卷的名称匹配。 字符串

用法示例

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署作业资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.App/jobs 资源,请将以下 Terraform 添加到模板中。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/jobs@2025-02-02-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      configuration = {
        eventTriggerConfig = {
          parallelism = int
          replicaCompletionCount = int
          scale = {
            maxExecutions = int
            minExecutions = int
            pollingInterval = int
            rules = [
              {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                identity = "string"
                metadata = ?
                name = "string"
                type = "string"
              }
            ]
          }
        }
        identitySettings = [
          {
            identity = "string"
            lifecycle = "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"
            imageType = "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 = int
              gpu = int
              memory = "string"
            }
            volumeMounts = [
              {
                mountPath = "string"
                subPath = "string"
                volumeName = "string"
              }
            ]
          }
        ]
        initContainers = [
          {
            args = [
              "string"
            ]
            command = [
              "string"
            ]
            env = [
              {
                name = "string"
                secretRef = "string"
                value = "string"
              }
            ]
            image = "string"
            imageType = "string"
            name = "string"
            resources = {
              cpu = int
              gpu = int
              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

名称 DESCRIPTION 价值
extendedLocation 扩展位置的复杂类型。 扩展位置
身份 容器应用作业需要托管标识才能与其他 Azure 服务交互,以不维护代码中的任何机密或凭据。 ManagedServiceIdentity
位置 资源所在的地理位置 string (必需)
姓名 资源名称 字符串

约束:
模式 = ^[-\w\._\(\)]+$ (必需)
属性 容器应用作业资源特定属性。 JobProperties (作业属性)
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.App/jobs@2025-02-02-preview”

集装箱

名称 DESCRIPTION 价值
参数 容器启动命令参数。 字符串[]
指令 容器启动命令。 字符串[]
环境 容器环境变量。 EnvironmentVar (环境变量
图像 容器映像标记。 字符串
图像类型 图像的类型。 设置为 CloudBuild 可让系统管理映像,用户将无法通过映像字段更新映像。 设置为用户提供的映像的 ContainerImage。 “CloudBuild”
“ContainerImage”
姓名 自定义容器名称。 字符串
探针 容器的探测列表。 ContainerAppProbe[]
资源 容器资源要求。 容器资源
volumeMounts 容器卷装载。 体积挂载[]

ContainerAppProbe 的

名称 DESCRIPTION 价值
failureThreshold (失败阈值) 探测在成功后被视为失败的最小连续失败。 默认值为 3。 最小值为 1。 最大值为 10。 整数 (int)
httpGet HTTPGet 指定要执行的 http 请求。 ContainerAppProbeHttpGet
initialDelaySeconds 启动生存情况探测之前容器启动后的秒数。 最小值为 1。 最大值为 60。 整数 (int)
periodSeconds (周期秒) 执行探测的频率(以秒为单位)。 默认值为 10 秒。 最小值为 1。 最大值为 240。 整数 (int)
成功阈值 探测在失败后被视为成功的最小连续成功次数。 默认值为 1。 对于实时性和启动,必须为 1。 最小值为 1。 最大值为 10。 整数 (int)
tcpSocket TCPSocket 指定涉及 TCP 端口的操作。 尚不支持 TCP 挂钩。 容器应用探针 TcpSocket
terminationGracePeriodSeconds Pod 在探测失败时需要正常终止的可选持续时间(以秒为单位)。 宽限期是 Pod 中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间(以秒为单位)。 请将此值设置为大于你的进程的预期清理时间。 如果此值为 nil,将使用 Pod 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) 整数 (int)
timeoutSeconds 探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 整数 (int)
类型 探测的类型。 “Liveness”
“就绪情况”
“Startup”

ContainerAppProbeHttpGet

名称 DESCRIPTION 价值
主机 要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 字符串
httpHeaders 的 在请求中设置的自定义标头。 HTTP 允许重复标头。 ContainerAppProbeHttpGetHttpHeadersItem[]
路径 在 HTTP 服务器上访问的路径。 字符串
港口 要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 int (必需)
方案 用于连接到主机的方案。 默认为 HTTP。 “HTTP”
“HTTPS”

ContainerAppProbeHttpGetHttpHeadersItem

名称 DESCRIPTION 价值
姓名 标头字段名称 string (必需)
价值 标头字段值 string (必需)

容器应用探针 TcpSocket

名称 DESCRIPTION 价值
主机 可选:要连接到的主机名,默认为 Pod IP。 字符串
港口 要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 int (必需)

容器资源

名称 DESCRIPTION 价值
中央处理器 核心中所需的 CPU,例如 0.5 整数 (int)
GPU(图形处理器) 基于 GPU 的应用的核心中所需的 GPU,例如 1.0 整数 (int)
记忆 所需的内存,例如“250Mb” 字符串

EnvironmentVar

名称 DESCRIPTION 价值
姓名 环境变量名称。 字符串
secretRef 的 要从中拉取环境变量值的容器应用机密的名称。 字符串
价值 非机密环境变量值。 字符串

扩展位置

名称 DESCRIPTION 价值
姓名 扩展位置的名称。 字符串
类型 扩展位置的类型。 “CustomLocation”

身份设置

名称 DESCRIPTION 价值
身份 分配给容器应用的用户分配托管标识的资源 ID,或系统分配的标识的“系统”。 string (必需)
生命周期 用于选择容器应用的生命周期阶段,在此期间应提供托管标识。 “All”
“Init”
“Main”
“None”

InitContainer (初始容器)

名称 DESCRIPTION 价值
参数 容器启动命令参数。 字符串[]
指令 容器启动命令。 字符串[]
环境 容器环境变量。 EnvironmentVar (环境变量
图像 容器映像标记。 字符串
图像类型 图像的类型。 设置为 CloudBuild 可让系统管理映像,用户将无法通过映像字段更新映像。 设置为用户提供的映像的 ContainerImage。 “CloudBuild”
“ContainerImage”
姓名 自定义容器名称。 字符串
资源 容器资源要求。 容器资源
volumeMounts 容器卷装载。 体积挂载[]

JobConfiguration

名称 DESCRIPTION 价值
eventTriggerConfig 事件触发器配置 触发事件驱动作业的配置。 JobConfigurationEventTriggerConfig
identitySettings 分配给容器应用作业的托管标识的可选设置。 如果未在此处指定托管标识,将使用默认设置。 身份设置[]
手动触发配置 单个执行作业的手动触发器配置。 属性 replicaCompletionCount 和并行度默认设置为 1 JobConfigurationManualTriggerConfig
登记处 容器应用作业使用的专用容器注册表凭据的集合 RegistryCredentials[]
replicaRetryLimit 失败作业之前的最大重试次数。 整数 (int)
replicaTimeout (复制超时) 允许副本运行的最大秒数。 int (必需)
scheduleTriggerConfig Cron 格式化了 cronjobs 的重复触发器计划(“* * * *”)。 默认情况下,属性完成和并行度设置为 1 JobConfigurationScheduleTriggerConfig
机密 容器应用作业使用的机密集合 机密[]
triggerType 作业的触发器类型 “Event”
“Manual”
“Schedule”(必需)

JobConfigurationEventTriggerConfig

名称 DESCRIPTION 价值
并行性 可在给定时间运行的作业的并行副本数。 整数 (int)
replicaCompletionCount 在完成整个作业之前,副本成功完成的最小数目。 整数 (int)
规模 缩放事件驱动作业的配置。 JobScale (作业规模)

JobConfigurationManualTriggerConfig

名称 DESCRIPTION 价值
并行性 可在给定时间运行的作业的并行副本数。 整数 (int)
replicaCompletionCount 在完成整个作业之前,副本成功完成的最小数目。 整数 (int)

JobConfigurationScheduleTriggerConfig

名称 DESCRIPTION 价值
cron表达式 Cron 格式化了 Cron 作业的重复计划(“* * * *”)。 string (必需)
并行性 可在给定时间运行的作业的并行副本数。 整数 (int)
replicaCompletionCount 在完成整个作业之前,副本成功完成的最小数目。 整数 (int)

JobProperties (作业属性)

名称 DESCRIPTION 价值
配置 容器应用作业配置属性。 JobConfiguration
环境 ID 环境的资源 ID。 字符串
模板 容器应用作业定义。 JobTemplate (作业模板)
workloadProfileName (工作负载配置文件名称) 用于固定容器应用作业执行的工作负荷配置文件名称。 字符串

JobScale (作业规模)

名称 DESCRIPTION 价值
maxExecutions 为触发器创建的最大作业执行次数,默认值为 100。 整数 (int)
minExecutions 执行 为触发器创建的最小作业执行次数,默认为 0 整数 (int)
轮询间隔 检查每个事件源的间隔(以秒为单位)。 默认值为 30s 整数 (int)
规则 缩放规则。 JobScaleRule[]

JobScaleRule

名称 DESCRIPTION 价值
身份验证 缩放规则的身份验证机密。 ScaleRuleAuth []
身份 分配给作业的用户分配托管标识的资源 ID,或系统分配的标识的“系统”。 字符串
元数据 描述缩放规则的元数据属性。 任何
姓名 缩放规则名称 字符串
类型 缩放规则的类型
例如:azure-servicebus、redis 等。
字符串

JobTemplate (作业模板)

名称 DESCRIPTION 价值
器皿 容器应用的容器定义列表。 容器[]
initContainers 在应用容器之前运行的专用容器列表。 InitContainer[]
容器应用的卷定义列表。 []

ManagedServiceIdentity

名称 DESCRIPTION 价值
类型 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”(必需)
用户分配的标识 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 UserAssignedIdentities

注册表凭据

名称 DESCRIPTION 价值
身份 用于通过 Azure 容器注册表进行身份验证的托管标识。 对于用户分配的标识,请使用完整的用户分配标识资源 ID。 对于系统分配的标识,请使用“system” 字符串
密码SecretRef 包含注册表登录密码的机密的名称 字符串
服务器 容器注册表服务器 字符串
用户名 容器注册表用户名 字符串

ScaleRuleAuth 的

名称 DESCRIPTION 价值
secretRef 的 要从中提取身份验证参数的机密的名称。 字符串
triggerParameter 使用机密的触发器参数 字符串

机密

名称 DESCRIPTION 价值
身份 使用 Azure Key Vault 进行身份验证的托管标识的资源 ID,或使用系统分配的标识。 字符串
keyVaultUrl 的 指向容器应用引用的机密的 Azure Key Vault URL。 字符串
姓名 机密名称。 字符串
价值 机密值。 字符串

约束:
敏感值。 以安全参数的形式传入。

SecretVolumeItem

名称 DESCRIPTION 价值
路径 项目机密的路径。 如果未提供路径,则路径默认为 secretRef 中列出的机密的名称。 字符串
secretRef 的 要从中拉取机密值的容器应用机密的名称。 字符串

TrackedResourceTags

名称 DESCRIPTION 价值

UserAssignedIdentities

名称 DESCRIPTION 价值

UserAssignedIdentity

名称 DESCRIPTION 价值

音量

名称 DESCRIPTION 价值
mountOptions 装载 Azure 文件共享或 NFS Azure 文件共享时使用的装载选项。 必须是逗号分隔的字符串。 字符串
姓名 卷名称。 字符串
机密 要添加到卷中的机密列表。 如果未提供机密,集合中的所有机密都将添加到卷中。 SecretVolumeItem[]
存储名称 存储资源的名称。 无需提供 EmptyDir 和 Secret。 字符串
存储类型 卷的存储类型。 如果未提供,请使用 EmptyDir。 “AzureFile”
“EmptyDir”
“NfsAzureFile”
“Secret”
“Smb”

VolumeMount (体积挂载)

名称 DESCRIPTION 价值
mountPath 容器中应装载卷的路径。不得包含“:”。 字符串
subPath 应从中装载容器卷的卷中的路径。 默认为“”(卷的根目录)。 字符串
卷名称 这必须与卷的名称匹配。 字符串