Compartir a través de


Microsoft.App trabajos 2023-04-01-preview

Definición de recursos de Bicep

El tipo de recurso jobs se puede implementar con operaciones destinadas a:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.App/jobs, agregue la siguiente bicep a la plantilla.

resource symbolicname 'Microsoft.App/jobs@2023-04-01-preview' = {
  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'
                }
              ]
              metadata: any(Azure.Bicep.Types.Concrete.AnyType)
              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: int
            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: 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'
  }
}

Valores de propiedad

Contenedor

Nombre Descripción Valor
args Argumentos de comando de inicio de contenedor. string[]
mandar Comando container start. string[]
Env Variables de entorno de contenedor. EnvironmentVar[]
imagen Etiqueta de imagen de contenedor. cuerda
nombre Nombre de contenedor personalizado. cuerda
Sondas Lista de sondeos para el contenedor. ContainerAppProbe []
Recursos Requisitos de recursos de contenedor. containerResources de
volumeMounts Montajes de volúmenes de contenedor. VolumeMount[]

ContainerAppProbe

Nombre Descripción Valor
failureThreshold Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor predeterminado es 3. El valor mínimo es 1. El valor máximo es 10. Int
httpGet HTTPGet especifica la solicitud HTTP que se va a realizar. ContainerAppProbeHttpGet
initialDelaySeconds Número de segundos después de que se haya iniciado el contenedor antes de iniciar los sondeos de ejecución. El valor mínimo es 1. El valor máximo es 60. Int
periodSeconds Frecuencia (en segundos) para realizar el sondeo. El valor predeterminado es de 10 segundos. El valor mínimo es 1. El valor máximo es 240. Int
successThreshold Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de haber producido un error. El valor predeterminado es 1. Debe ser 1 para la vida y el inicio. El valor mínimo es 1. El valor máximo es 10. Int
tcpSocket TCPSocket especifica una acción que implica un puerto TCP. Todavía no se admiten enlaces TCP. containerAppProbeTcpSocket
terminationGracePeriodSeconds Duración opcional en segundos, el pod debe finalizar correctamente tras un error de sondeo. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en el pod se envíen una señal de terminación y el tiempo en que los procesos se detengan forzadamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. Si este valor es nulo, se usará la terminación del podGracePeriodSeconds. De lo contrario, este valor invalida el valor proporcionado por la especificación de pod. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Se trata de un campo alfa y requiere habilitar la puerta de características ProbeTerminationGracePeriod. El valor máximo es de 3600 segundos (1 hora) Int
timeoutSeconds Número de segundos después del cual el sondeo agota el tiempo de espera. El valor predeterminado es 1 segundo. El valor mínimo es 1. El valor máximo es 240. Int
tipo Tipo de sondeo. "Liveness"
"Preparación"
'Inicio'

ContainerAppProbeHttpGet

Nombre Descripción Valor
anfitrión Nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. Probablemente quiera establecer "Host" en httpHeaders en su lugar. cuerda
httpHeaders Encabezados personalizados que se van a establecer en la solicitud. HTTP permite encabezados repetidos. ContainerAppProbeHttpGetHttpHeadersItem[]
camino Ruta de acceso al acceso en el servidor HTTP. cuerda
puerto Nombre o número del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. int (obligatorio)
esquema Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nombre Descripción Valor
nombre Nombre del campo de encabezado string (obligatorio)
valor Valor del campo de encabezado string (obligatorio)

ContainerAppProbeTcpSocket

Nombre Descripción Valor
anfitrión Opcional: nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. cuerda
puerto Número o nombre del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. int (obligatorio)

ContainerResources

Nombre Descripción Valor
CPU CPU necesaria en núcleos, por ejemplo, 0,5 Int
memoria Memoria necesaria, por ejemplo, "250 Mb" cuerda

EnvironmentVar

Nombre Descripción Valor
nombre Nombre de la variable de entorno. cuerda
secretRef Nombre del secreto de aplicación contenedora del que se va a extraer el valor de la variable de entorno. cuerda
valor Valor de variable de entorno no secreto. cuerda

InitContainer

Nombre Descripción Valor
args Argumentos de comando de inicio de contenedor. string[]
mandar Comando container start. string[]
Env Variables de entorno de contenedor. EnvironmentVar[]
imagen Etiqueta de imagen de contenedor. cuerda
nombre Nombre de contenedor personalizado. cuerda
Recursos Requisitos de recursos de contenedor. containerResources de
volumeMounts Montajes de volúmenes de contenedor. VolumeMount[]

JobConfiguration

Nombre Descripción Valor
eventTriggerConfig Desencadene la configuración de un trabajo controlado por eventos. JobConfigurationEventTriggerConfig
manualTriggerConfig Configuración manual del desencadenador para un único trabajo de ejecución. Las propiedades replicaCompletionCount y paralelismo se establecerían en 1 de forma predeterminada JobConfigurationManualTriggerConfig
Registros Recopilación de credenciales de registro de contenedor privadas usadas por un trabajo de Aplicaciones de contenedor RegistryCredentials[]
replicaRetryLimit Número máximo de reintentos antes de que se produzca un error en el trabajo. Int
replicaTimeout Número máximo de segundos que se permite ejecutar una réplica. int (obligatorio)
scheduleTriggerConfig Programación de desencadenador de repetición con formato Cron ("* * * * *") para cronjobs. Las finalizaciones de propiedades y el paralelismo se establecerían en 1 de forma predeterminada JobConfigurationScheduleTriggerConfig
Secretos Colección de secretos usados por un trabajo de Container Apps secreto[]
triggerType Tipo de desencadenador del trabajo 'Event'
'Manual'
'Schedule' (obligatorio)

JobConfigurationEventTriggerConfig

Nombre Descripción Valor
paralelismo Número de réplicas paralelas de un trabajo que se puede ejecutar en un momento dado. Int
replicaCompletionCount Número mínimo de finalizaciones de réplica correctas antes de la finalización general del trabajo. Int
escama Escalado de configuraciones para trabajos controlados por eventos. jobScale

JobConfigurationManualTriggerConfig

Nombre Descripción Valor
paralelismo Número de réplicas paralelas de un trabajo que se puede ejecutar en un momento dado. Int
replicaCompletionCount Número mínimo de finalizaciones de réplica correctas antes de la finalización general del trabajo. Int

JobConfigurationScheduleTriggerConfig

Nombre Descripción Valor
cronExpression Programación de repetición con formato cron ("* * * * *") de un trabajo cron. string (obligatorio)
paralelismo Número de réplicas paralelas de un trabajo que se puede ejecutar en un momento dado. Int
replicaCompletionCount Número mínimo de finalizaciones de réplica correctas antes de la finalización general del trabajo. Int

JobProperties

Nombre Descripción Valor
configuración Propiedades de configuración del trabajo de Container Apps. JobConfiguration
environmentId Identificador de recurso del entorno. cuerda
plantilla Definición de trabajo de Container Apps. JobTemplate
workloadProfileName Nombre del perfil de carga de trabajo que se va a anclar para la ejecución de trabajos de aplicaciones de contenedor. cuerda

JobScale

Nombre Descripción Valor
maxExecutions Número máximo de ejecuciones de trabajos que se crean para un desencadenador, el valor predeterminado es 100. Int
minExecutions Número mínimo de ejecuciones de trabajos que se crean para un desencadenador, el valor predeterminado es 0. Int
pollingInterval Intervalo para comprobar cada origen de eventos en segundos. El valor predeterminado es 30s Int
reglas Reglas de escalado. JobScaleRule []

JobScaleRule

Nombre Descripción Valor
Auth Secretos de autenticación para la regla de escalado. scaleRuleAuth[]
metadatos Propiedades de metadatos para describir la regla de escalado. cualquier
nombre Nombre de la regla de escalado cuerda
tipo Tipo de la regla de escalado
por ejemplo: azure-servicebus, redis etcetera.
cuerda

JobTemplate

Nombre Descripción Valor
recipientes Lista de definiciones de contenedor para la aplicación contenedora. container[]
initContainers Lista de contenedores especializados que se ejecutan antes de los contenedores de aplicaciones. initContainer[]
Volúmenes Lista de definiciones de volumen para la aplicación contenedora. volumen[]

ManagedServiceIdentity

Nombre Descripción Valor
tipo Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). 'Ninguno'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatorio)
userAssignedIdentities Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves de diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. UserAssignedIdentities

Microsoft.App/jobs

Nombre Descripción Valor
identidad Identidades administradas necesarias para que un trabajo de aplicación de contenedor interactúe con otros servicios de Azure para no mantener secretos ni credenciales en el código. managedServiceIdentity
ubicación Ubicación geográfica donde reside el recurso string (obligatorio)
nombre El nombre del recurso cuerda

Restricciones:
Patrón = ^[-\w\._\(\)]+$ (obligatorio)
Propiedades Propiedades específicas del recurso de trabajo de Container Apps. JobProperties
Etiquetas Etiquetas de recursos Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas

RegistryCredentials

Nombre Descripción Valor
identidad Una identidad administrada que se va a usar para autenticarse con Azure Container Registry. En el caso de las identidades asignadas por el usuario, use el identificador de recurso de identidad asignado por el usuario completo. En el caso de las identidades asignadas por el sistema, use "system" cuerda
passwordSecretRef Nombre del secreto que contiene la contraseña de inicio de sesión del Registro cuerda
servidor Container Registry Server cuerda
nombre de usuario Nombre de usuario de Container Registry cuerda

ScaleRuleAuth

Nombre Descripción Valor
secretRef Nombre del secreto del que se va a extraer los parámetros de autenticación. cuerda
triggerParameter Parámetro de desencadenador que usa el secreto cuerda

Secreto

Nombre Descripción Valor
identidad Identificador de recurso de una identidad administrada para autenticarse con Azure Key Vault o sistema para usar una identidad asignada por el sistema. cuerda
keyVaultUrl Dirección URL de Azure Key Vault que apunta al secreto al que hace referencia la aplicación contenedora. cuerda
nombre Nombre del secreto. cuerda
valor Valor secreto. cuerda

Restricciones:
Valor confidencial. Pase como parámetro seguro.

SecretVolumeItem

Nombre Descripción Valor
camino Ruta de acceso al secreto del proyecto al que. Si no se proporciona ninguna ruta de acceso, la ruta de acceso tiene como valor predeterminado el nombre del secreto enumerado en secretRef. cuerda
secretRef Nombre del secreto de la aplicación contenedora del que se va a extraer el valor del secreto. cuerda

TrackedResourceTags

Nombre Descripción Valor

UserAssignedIdentities

Nombre Descripción Valor

UserAssignedIdentity

Nombre Descripción Valor

Volumen

Nombre Descripción Valor
mountOptions Opciones de montaje usadas durante el montaje de AzureFile. Debe ser una cadena separada por comas. cuerda
nombre Nombre del volumen. cuerda
Secretos Lista de secretos que se van a agregar en el volumen. Si no se proporciona ningún secreto, todos los secretos de la colección se agregarán al volumen. secretVolumeItem[]
storageName Nombre del recurso de almacenamiento. No es necesario proporcionar EmptyDir y Secret. cuerda
storageType Tipo de almacenamiento para el volumen. Si no se proporciona, use EmptyDir. "AzureFile"
'EmptyDir'
'Secreto'

VolumeMount

Nombre Descripción Valor
mountPath Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. cuerda
subPath Ruta de acceso dentro del volumen desde el que se debe montar el volumen del contenedor. El valor predeterminado es "" (raíz del volumen). cuerda
volumeName Debe coincidir con el nombre de un volumen. cuerda

Definición de recursos de plantilla de ARM

El tipo de recurso jobs se puede implementar con operaciones destinadas a:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso de Microsoft.App/jobs, agregue el siguiente JSON a la plantilla.

{
  "type": "Microsoft.App/jobs",
  "apiVersion": "2023-04-01-preview",
  "name": "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"
                }
              ],
              "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": "int",
            "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": "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"
  }
}

Valores de propiedad

Contenedor

Nombre Descripción Valor
args Argumentos de comando de inicio de contenedor. string[]
mandar Comando container start. string[]
Env Variables de entorno de contenedor. EnvironmentVar[]
imagen Etiqueta de imagen de contenedor. cuerda
nombre Nombre de contenedor personalizado. cuerda
Sondas Lista de sondeos para el contenedor. ContainerAppProbe []
Recursos Requisitos de recursos de contenedor. containerResources de
volumeMounts Montajes de volúmenes de contenedor. VolumeMount[]

ContainerAppProbe

Nombre Descripción Valor
failureThreshold Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor predeterminado es 3. El valor mínimo es 1. El valor máximo es 10. Int
httpGet HTTPGet especifica la solicitud HTTP que se va a realizar. ContainerAppProbeHttpGet
initialDelaySeconds Número de segundos después de que se haya iniciado el contenedor antes de iniciar los sondeos de ejecución. El valor mínimo es 1. El valor máximo es 60. Int
periodSeconds Frecuencia (en segundos) para realizar el sondeo. El valor predeterminado es de 10 segundos. El valor mínimo es 1. El valor máximo es 240. Int
successThreshold Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de haber producido un error. El valor predeterminado es 1. Debe ser 1 para la vida y el inicio. El valor mínimo es 1. El valor máximo es 10. Int
tcpSocket TCPSocket especifica una acción que implica un puerto TCP. Todavía no se admiten enlaces TCP. containerAppProbeTcpSocket
terminationGracePeriodSeconds Duración opcional en segundos, el pod debe finalizar correctamente tras un error de sondeo. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en el pod se envíen una señal de terminación y el tiempo en que los procesos se detengan forzadamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. Si este valor es nulo, se usará la terminación del podGracePeriodSeconds. De lo contrario, este valor invalida el valor proporcionado por la especificación de pod. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Se trata de un campo alfa y requiere habilitar la puerta de características ProbeTerminationGracePeriod. El valor máximo es de 3600 segundos (1 hora) Int
timeoutSeconds Número de segundos después del cual el sondeo agota el tiempo de espera. El valor predeterminado es 1 segundo. El valor mínimo es 1. El valor máximo es 240. Int
tipo Tipo de sondeo. "Liveness"
"Preparación"
'Inicio'

ContainerAppProbeHttpGet

Nombre Descripción Valor
anfitrión Nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. Probablemente quiera establecer "Host" en httpHeaders en su lugar. cuerda
httpHeaders Encabezados personalizados que se van a establecer en la solicitud. HTTP permite encabezados repetidos. ContainerAppProbeHttpGetHttpHeadersItem[]
camino Ruta de acceso al acceso en el servidor HTTP. cuerda
puerto Nombre o número del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. int (obligatorio)
esquema Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nombre Descripción Valor
nombre Nombre del campo de encabezado string (obligatorio)
valor Valor del campo de encabezado string (obligatorio)

ContainerAppProbeTcpSocket

Nombre Descripción Valor
anfitrión Opcional: nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. cuerda
puerto Número o nombre del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. int (obligatorio)

ContainerResources

Nombre Descripción Valor
CPU CPU necesaria en núcleos, por ejemplo, 0,5 Int
memoria Memoria necesaria, por ejemplo, "250 Mb" cuerda

EnvironmentVar

Nombre Descripción Valor
nombre Nombre de la variable de entorno. cuerda
secretRef Nombre del secreto de aplicación contenedora del que se va a extraer el valor de la variable de entorno. cuerda
valor Valor de variable de entorno no secreto. cuerda

InitContainer

Nombre Descripción Valor
args Argumentos de comando de inicio de contenedor. string[]
mandar Comando container start. string[]
Env Variables de entorno de contenedor. EnvironmentVar[]
imagen Etiqueta de imagen de contenedor. cuerda
nombre Nombre de contenedor personalizado. cuerda
Recursos Requisitos de recursos de contenedor. containerResources de
volumeMounts Montajes de volúmenes de contenedor. VolumeMount[]

JobConfiguration

Nombre Descripción Valor
eventTriggerConfig Desencadene la configuración de un trabajo controlado por eventos. JobConfigurationEventTriggerConfig
manualTriggerConfig Configuración manual del desencadenador para un único trabajo de ejecución. Las propiedades replicaCompletionCount y paralelismo se establecerían en 1 de forma predeterminada JobConfigurationManualTriggerConfig
Registros Recopilación de credenciales de registro de contenedor privadas usadas por un trabajo de Aplicaciones de contenedor RegistryCredentials[]
replicaRetryLimit Número máximo de reintentos antes de que se produzca un error en el trabajo. Int
replicaTimeout Número máximo de segundos que se permite ejecutar una réplica. int (obligatorio)
scheduleTriggerConfig Programación de desencadenador de repetición con formato Cron ("* * * * *") para cronjobs. Las finalizaciones de propiedades y el paralelismo se establecerían en 1 de forma predeterminada JobConfigurationScheduleTriggerConfig
Secretos Colección de secretos usados por un trabajo de Container Apps secreto[]
triggerType Tipo de desencadenador del trabajo 'Event'
'Manual'
'Schedule' (obligatorio)

JobConfigurationEventTriggerConfig

Nombre Descripción Valor
paralelismo Número de réplicas paralelas de un trabajo que se puede ejecutar en un momento dado. Int
replicaCompletionCount Número mínimo de finalizaciones de réplica correctas antes de la finalización general del trabajo. Int
escama Escalado de configuraciones para trabajos controlados por eventos. jobScale

JobConfigurationManualTriggerConfig

Nombre Descripción Valor
paralelismo Número de réplicas paralelas de un trabajo que se puede ejecutar en un momento dado. Int
replicaCompletionCount Número mínimo de finalizaciones de réplica correctas antes de la finalización general del trabajo. Int

JobConfigurationScheduleTriggerConfig

Nombre Descripción Valor
cronExpression Programación de repetición con formato cron ("* * * * *") de un trabajo cron. string (obligatorio)
paralelismo Número de réplicas paralelas de un trabajo que se puede ejecutar en un momento dado. Int
replicaCompletionCount Número mínimo de finalizaciones de réplica correctas antes de la finalización general del trabajo. Int

JobProperties

Nombre Descripción Valor
configuración Propiedades de configuración del trabajo de Container Apps. JobConfiguration
environmentId Identificador de recurso del entorno. cuerda
plantilla Definición de trabajo de Container Apps. JobTemplate
workloadProfileName Nombre del perfil de carga de trabajo que se va a anclar para la ejecución de trabajos de aplicaciones de contenedor. cuerda

JobScale

Nombre Descripción Valor
maxExecutions Número máximo de ejecuciones de trabajos que se crean para un desencadenador, el valor predeterminado es 100. Int
minExecutions Número mínimo de ejecuciones de trabajos que se crean para un desencadenador, el valor predeterminado es 0. Int
pollingInterval Intervalo para comprobar cada origen de eventos en segundos. El valor predeterminado es 30s Int
reglas Reglas de escalado. JobScaleRule []

JobScaleRule

Nombre Descripción Valor
Auth Secretos de autenticación para la regla de escalado. scaleRuleAuth[]
metadatos Propiedades de metadatos para describir la regla de escalado. cualquier
nombre Nombre de la regla de escalado cuerda
tipo Tipo de la regla de escalado
por ejemplo: azure-servicebus, redis etcetera.
cuerda

JobTemplate

Nombre Descripción Valor
recipientes Lista de definiciones de contenedor para la aplicación contenedora. container[]
initContainers Lista de contenedores especializados que se ejecutan antes de los contenedores de aplicaciones. initContainer[]
Volúmenes Lista de definiciones de volumen para la aplicación contenedora. volumen[]

ManagedServiceIdentity

Nombre Descripción Valor
tipo Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). 'Ninguno'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatorio)
userAssignedIdentities Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves de diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. UserAssignedIdentities

Microsoft.App/jobs

Nombre Descripción Valor
apiVersion La versión de api '2023-04-01-preview'
identidad Identidades administradas necesarias para que un trabajo de aplicación de contenedor interactúe con otros servicios de Azure para no mantener secretos ni credenciales en el código. managedServiceIdentity
ubicación Ubicación geográfica donde reside el recurso string (obligatorio)
nombre El nombre del recurso cuerda

Restricciones:
Patrón = ^[-\w\._\(\)]+$ (obligatorio)
Propiedades Propiedades específicas del recurso de trabajo de Container Apps. JobProperties
Etiquetas Etiquetas de recursos Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas
tipo El tipo de recurso "Microsoft.App/jobs"

RegistryCredentials

Nombre Descripción Valor
identidad Una identidad administrada que se va a usar para autenticarse con Azure Container Registry. En el caso de las identidades asignadas por el usuario, use el identificador de recurso de identidad asignado por el usuario completo. En el caso de las identidades asignadas por el sistema, use "system" cuerda
passwordSecretRef Nombre del secreto que contiene la contraseña de inicio de sesión del Registro cuerda
servidor Container Registry Server cuerda
nombre de usuario Nombre de usuario de Container Registry cuerda

ScaleRuleAuth

Nombre Descripción Valor
secretRef Nombre del secreto del que se va a extraer los parámetros de autenticación. cuerda
triggerParameter Parámetro de desencadenador que usa el secreto cuerda

Secreto

Nombre Descripción Valor
identidad Identificador de recurso de una identidad administrada para autenticarse con Azure Key Vault o sistema para usar una identidad asignada por el sistema. cuerda
keyVaultUrl Dirección URL de Azure Key Vault que apunta al secreto al que hace referencia la aplicación contenedora. cuerda
nombre Nombre del secreto. cuerda
valor Valor secreto. cuerda

Restricciones:
Valor confidencial. Pase como parámetro seguro.

SecretVolumeItem

Nombre Descripción Valor
camino Ruta de acceso al secreto del proyecto al que. Si no se proporciona ninguna ruta de acceso, la ruta de acceso tiene como valor predeterminado el nombre del secreto enumerado en secretRef. cuerda
secretRef Nombre del secreto de la aplicación contenedora del que se va a extraer el valor del secreto. cuerda

TrackedResourceTags

Nombre Descripción Valor

UserAssignedIdentities

Nombre Descripción Valor

UserAssignedIdentity

Nombre Descripción Valor

Volumen

Nombre Descripción Valor
mountOptions Opciones de montaje usadas durante el montaje de AzureFile. Debe ser una cadena separada por comas. cuerda
nombre Nombre del volumen. cuerda
Secretos Lista de secretos que se van a agregar en el volumen. Si no se proporciona ningún secreto, todos los secretos de la colección se agregarán al volumen. secretVolumeItem[]
storageName Nombre del recurso de almacenamiento. No es necesario proporcionar EmptyDir y Secret. cuerda
storageType Tipo de almacenamiento para el volumen. Si no se proporciona, use EmptyDir. "AzureFile"
'EmptyDir'
'Secreto'

VolumeMount

Nombre Descripción Valor
mountPath Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. cuerda
subPath Ruta de acceso dentro del volumen desde el que se debe montar el volumen del contenedor. El valor predeterminado es "" (raíz del volumen). cuerda
volumeName Debe coincidir con el nombre de un volumen. cuerda

Definición de recursos de Terraform (proveedor AzAPI)

El tipo de recurso jobs se puede implementar con operaciones destinadas a:

  • grupos de recursos de

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.App/jobs, agregue el siguiente Terraform a la plantilla.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/jobs@2023-04-01-preview"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    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 = int
              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 = 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"
    }
  })
}

Valores de propiedad

Contenedor

Nombre Descripción Valor
args Argumentos de comando de inicio de contenedor. string[]
mandar Comando container start. string[]
Env Variables de entorno de contenedor. EnvironmentVar[]
imagen Etiqueta de imagen de contenedor. cuerda
nombre Nombre de contenedor personalizado. cuerda
Sondas Lista de sondeos para el contenedor. ContainerAppProbe []
Recursos Requisitos de recursos de contenedor. containerResources de
volumeMounts Montajes de volúmenes de contenedor. VolumeMount[]

ContainerAppProbe

Nombre Descripción Valor
failureThreshold Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor predeterminado es 3. El valor mínimo es 1. El valor máximo es 10. Int
httpGet HTTPGet especifica la solicitud HTTP que se va a realizar. ContainerAppProbeHttpGet
initialDelaySeconds Número de segundos después de que se haya iniciado el contenedor antes de iniciar los sondeos de ejecución. El valor mínimo es 1. El valor máximo es 60. Int
periodSeconds Frecuencia (en segundos) para realizar el sondeo. El valor predeterminado es de 10 segundos. El valor mínimo es 1. El valor máximo es 240. Int
successThreshold Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de haber producido un error. El valor predeterminado es 1. Debe ser 1 para la vida y el inicio. El valor mínimo es 1. El valor máximo es 10. Int
tcpSocket TCPSocket especifica una acción que implica un puerto TCP. Todavía no se admiten enlaces TCP. containerAppProbeTcpSocket
terminationGracePeriodSeconds Duración opcional en segundos, el pod debe finalizar correctamente tras un error de sondeo. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en el pod se envíen una señal de terminación y el tiempo en que los procesos se detengan forzadamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. Si este valor es nulo, se usará la terminación del podGracePeriodSeconds. De lo contrario, este valor invalida el valor proporcionado por la especificación de pod. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Se trata de un campo alfa y requiere habilitar la puerta de características ProbeTerminationGracePeriod. El valor máximo es de 3600 segundos (1 hora) Int
timeoutSeconds Número de segundos después del cual el sondeo agota el tiempo de espera. El valor predeterminado es 1 segundo. El valor mínimo es 1. El valor máximo es 240. Int
tipo Tipo de sondeo. "Liveness"
"Preparación"
'Inicio'

ContainerAppProbeHttpGet

Nombre Descripción Valor
anfitrión Nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. Probablemente quiera establecer "Host" en httpHeaders en su lugar. cuerda
httpHeaders Encabezados personalizados que se van a establecer en la solicitud. HTTP permite encabezados repetidos. ContainerAppProbeHttpGetHttpHeadersItem[]
camino Ruta de acceso al acceso en el servidor HTTP. cuerda
puerto Nombre o número del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. int (obligatorio)
esquema Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nombre Descripción Valor
nombre Nombre del campo de encabezado string (obligatorio)
valor Valor del campo de encabezado string (obligatorio)

ContainerAppProbeTcpSocket

Nombre Descripción Valor
anfitrión Opcional: nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. cuerda
puerto Número o nombre del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. int (obligatorio)

ContainerResources

Nombre Descripción Valor
CPU CPU necesaria en núcleos, por ejemplo, 0,5 Int
memoria Memoria necesaria, por ejemplo, "250 Mb" cuerda

EnvironmentVar

Nombre Descripción Valor
nombre Nombre de la variable de entorno. cuerda
secretRef Nombre del secreto de aplicación contenedora del que se va a extraer el valor de la variable de entorno. cuerda
valor Valor de variable de entorno no secreto. cuerda

InitContainer

Nombre Descripción Valor
args Argumentos de comando de inicio de contenedor. string[]
mandar Comando container start. string[]
Env Variables de entorno de contenedor. EnvironmentVar[]
imagen Etiqueta de imagen de contenedor. cuerda
nombre Nombre de contenedor personalizado. cuerda
Recursos Requisitos de recursos de contenedor. containerResources de
volumeMounts Montajes de volúmenes de contenedor. VolumeMount[]

JobConfiguration

Nombre Descripción Valor
eventTriggerConfig Desencadene la configuración de un trabajo controlado por eventos. JobConfigurationEventTriggerConfig
manualTriggerConfig Configuración manual del desencadenador para un único trabajo de ejecución. Las propiedades replicaCompletionCount y paralelismo se establecerían en 1 de forma predeterminada JobConfigurationManualTriggerConfig
Registros Recopilación de credenciales de registro de contenedor privadas usadas por un trabajo de Aplicaciones de contenedor RegistryCredentials[]
replicaRetryLimit Número máximo de reintentos antes de que se produzca un error en el trabajo. Int
replicaTimeout Número máximo de segundos que se permite ejecutar una réplica. int (obligatorio)
scheduleTriggerConfig Programación de desencadenador de repetición con formato Cron ("* * * * *") para cronjobs. Las finalizaciones de propiedades y el paralelismo se establecerían en 1 de forma predeterminada JobConfigurationScheduleTriggerConfig
Secretos Colección de secretos usados por un trabajo de Container Apps secreto[]
triggerType Tipo de desencadenador del trabajo 'Event'
'Manual'
'Schedule' (obligatorio)

JobConfigurationEventTriggerConfig

Nombre Descripción Valor
paralelismo Número de réplicas paralelas de un trabajo que se puede ejecutar en un momento dado. Int
replicaCompletionCount Número mínimo de finalizaciones de réplica correctas antes de la finalización general del trabajo. Int
escama Escalado de configuraciones para trabajos controlados por eventos. jobScale

JobConfigurationManualTriggerConfig

Nombre Descripción Valor
paralelismo Número de réplicas paralelas de un trabajo que se puede ejecutar en un momento dado. Int
replicaCompletionCount Número mínimo de finalizaciones de réplica correctas antes de la finalización general del trabajo. Int

JobConfigurationScheduleTriggerConfig

Nombre Descripción Valor
cronExpression Programación de repetición con formato cron ("* * * * *") de un trabajo cron. string (obligatorio)
paralelismo Número de réplicas paralelas de un trabajo que se puede ejecutar en un momento dado. Int
replicaCompletionCount Número mínimo de finalizaciones de réplica correctas antes de la finalización general del trabajo. Int

JobProperties

Nombre Descripción Valor
configuración Propiedades de configuración del trabajo de Container Apps. JobConfiguration
environmentId Identificador de recurso del entorno. cuerda
plantilla Definición de trabajo de Container Apps. JobTemplate
workloadProfileName Nombre del perfil de carga de trabajo que se va a anclar para la ejecución de trabajos de aplicaciones de contenedor. cuerda

JobScale

Nombre Descripción Valor
maxExecutions Número máximo de ejecuciones de trabajos que se crean para un desencadenador, el valor predeterminado es 100. Int
minExecutions Número mínimo de ejecuciones de trabajos que se crean para un desencadenador, el valor predeterminado es 0. Int
pollingInterval Intervalo para comprobar cada origen de eventos en segundos. El valor predeterminado es 30s Int
reglas Reglas de escalado. JobScaleRule []

JobScaleRule

Nombre Descripción Valor
Auth Secretos de autenticación para la regla de escalado. scaleRuleAuth[]
metadatos Propiedades de metadatos para describir la regla de escalado. cualquier
nombre Nombre de la regla de escalado cuerda
tipo Tipo de la regla de escalado
por ejemplo: azure-servicebus, redis etcetera.
cuerda

JobTemplate

Nombre Descripción Valor
recipientes Lista de definiciones de contenedor para la aplicación contenedora. container[]
initContainers Lista de contenedores especializados que se ejecutan antes de los contenedores de aplicaciones. initContainer[]
Volúmenes Lista de definiciones de volumen para la aplicación contenedora. volumen[]

ManagedServiceIdentity

Nombre Descripción Valor
tipo Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). 'Ninguno'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatorio)
userAssignedIdentities Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves de diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. UserAssignedIdentities

Microsoft.App/jobs

Nombre Descripción Valor
identidad Identidades administradas necesarias para que un trabajo de aplicación de contenedor interactúe con otros servicios de Azure para no mantener secretos ni credenciales en el código. managedServiceIdentity
ubicación Ubicación geográfica donde reside el recurso string (obligatorio)
nombre El nombre del recurso cuerda

Restricciones:
Patrón = ^[-\w\._\(\)]+$ (obligatorio)
Propiedades Propiedades específicas del recurso de trabajo de Container Apps. JobProperties
Etiquetas Etiquetas de recursos Diccionario de nombres y valores de etiqueta.
tipo El tipo de recurso "Microsoft.App/jobs@2023-04-01-preview"

RegistryCredentials

Nombre Descripción Valor
identidad Una identidad administrada que se va a usar para autenticarse con Azure Container Registry. En el caso de las identidades asignadas por el usuario, use el identificador de recurso de identidad asignado por el usuario completo. En el caso de las identidades asignadas por el sistema, use "system" cuerda
passwordSecretRef Nombre del secreto que contiene la contraseña de inicio de sesión del Registro cuerda
servidor Container Registry Server cuerda
nombre de usuario Nombre de usuario de Container Registry cuerda

ScaleRuleAuth

Nombre Descripción Valor
secretRef Nombre del secreto del que se va a extraer los parámetros de autenticación. cuerda
triggerParameter Parámetro de desencadenador que usa el secreto cuerda

Secreto

Nombre Descripción Valor
identidad Identificador de recurso de una identidad administrada para autenticarse con Azure Key Vault o sistema para usar una identidad asignada por el sistema. cuerda
keyVaultUrl Dirección URL de Azure Key Vault que apunta al secreto al que hace referencia la aplicación contenedora. cuerda
nombre Nombre del secreto. cuerda
valor Valor secreto. cuerda

Restricciones:
Valor confidencial. Pase como parámetro seguro.

SecretVolumeItem

Nombre Descripción Valor
camino Ruta de acceso al secreto del proyecto al que. Si no se proporciona ninguna ruta de acceso, la ruta de acceso tiene como valor predeterminado el nombre del secreto enumerado en secretRef. cuerda
secretRef Nombre del secreto de la aplicación contenedora del que se va a extraer el valor del secreto. cuerda

TrackedResourceTags

Nombre Descripción Valor

UserAssignedIdentities

Nombre Descripción Valor

UserAssignedIdentity

Nombre Descripción Valor

Volumen

Nombre Descripción Valor
mountOptions Opciones de montaje usadas durante el montaje de AzureFile. Debe ser una cadena separada por comas. cuerda
nombre Nombre del volumen. cuerda
Secretos Lista de secretos que se van a agregar en el volumen. Si no se proporciona ningún secreto, todos los secretos de la colección se agregarán al volumen. secretVolumeItem[]
storageName Nombre del recurso de almacenamiento. No es necesario proporcionar EmptyDir y Secret. cuerda
storageType Tipo de almacenamiento para el volumen. Si no se proporciona, use EmptyDir. "AzureFile"
'EmptyDir'
'Secreto'

VolumeMount

Nombre Descripción Valor
mountPath Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. cuerda
subPath Ruta de acceso dentro del volumen desde el que se debe montar el volumen del contenedor. El valor predeterminado es "" (raíz del volumen). cuerda
volumeName Debe coincidir con el nombre de un volumen. cuerda