Partilhar via


Microsoft.App empregos 2023-05-02-preview

Definição de recursos do bíceps

O tipo de recurso de trabalhos pode ser implantado com operações que visam:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.App/jobs, adicione o seguinte Bíceps ao seu modelo.

resource symbolicname 'Microsoft.App/jobs@2023-05-02-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(...)
              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 propriedade

Microsoft.App/empregos

Nome Descrição Valor
identidade Identidades gerenciadas necessárias para um trabalho de aplicativo de contêiner interagir com outros serviços do Azure para não manter segredos ou credenciais no código. ManagedServiceIdentity
localização A geolocalização onde o recurso vive string (obrigatório)
nome O nome do recurso cadeia de caracteres

Restrições:
Padrão = ^[-\w\._\(\)]+$ (obrigatório)
propriedades Aplicativos de contêiner Propriedades específicas do recurso de trabalho. JobProperties
etiquetas Tags de recursos Dicionário de nomes e valores de tags. Consulte Tags em modelos

Contentor

Nome Descrição Valor
Args Argumentos do comando Container start. string[]
comando Comando Container start. string[]
env Variáveis de ambiente de contêiner. AmbienteVar[]
imagem Tag de imagem de contêiner. corda
nome Nome do contêiner personalizado. corda
sondas Lista de sondas para o recipiente. ContainerAppProbe []
Recursos Requisitos de recursos de contêiner. ContainerResources
volumeMontagens Montagens de volume de recipiente. VolumeMount[]

ContainerAppProbe

Nome Descrição Valor
failureThreshold Mínimo de falhas consecutivas para que a sonda seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. Int
httpObter HTTPGet especifica a solicitação http a ser executada. ContainerAppProbeHttpGet
initialDelaySeconds Número de segundos após o início do recipiente antes que as sondas de vivacidade sejam iniciadas. O valor mínimo é 1. O valor máximo é 60. Int
segundosPeríodo Com que frequência (em segundos) realizar a sonda. O padrão é de 10 segundos. O valor mínimo é 1. O valor máximo é 240. Int
successThreshold Mínimo de sucessos consecutivos para que a sonda seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para liveness e startup. O valor mínimo é 1. O valor máximo é 10. Int
tcpSocket TCPSocket especifica uma ação envolvendo uma porta TCP. Ganchos TCP ainda não suportados. ContainerAppProbeTcpSocket
terminaçãoGracePeriodSeconds Duração opcional: em segundos, o pod precisa terminar normalmente em caso de falha da sonda. O período de carência é a duração em segundos após os processos em execução no pod receberem um sinal de terminação e o tempo em que os processos são interrompidos à força com um sinal de morte. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o seu processo. Se esse valor for nulo, a terminationGracePeriodSeconds do pod será usada. Caso contrário, esse valor substituirá o valor fornecido pela especificação do pod. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente através do sinal de morte (sem oportunidade de encerrar). Este é um campo alfa e requer a ativação da porta de recurso ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) Int
timeoutSegundos Número de segundos após os quais a sonda atinge o tempo limite. O padrão é de 1 segundo. O valor mínimo é 1. O valor máximo é 240. Int
tipo O tipo de sonda. 'Vivacidade'
'Prontidão'
'Startup'

ContainerAppProbeHttpGet

Nome Descrição Valor
anfitrião Nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders em vez disso. corda
Cabeçalhos HTTP Cabeçalhos personalizados para definir na solicitação. HTTP permite cabeçalhos repetidos. ContainerAppProbeHttpGetHttpHeadersItem []
caminho Caminho de acesso no servidor HTTP. corda
porto Nome ou número da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. int (obrigatório)
Esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nome Descrição Valor
nome O nome do campo de cabeçalho string (obrigatório)
valor O valor do campo de cabeçalho string (obrigatório)

ContainerAppProbeTcpSocket

Nome Descrição Valor
anfitrião Opcional: Nome do host ao qual se conectar, o padrão é o IP do pod. corda
porto Número ou nome da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. int (obrigatório)

ContainerResources

Nome Descrição Valor
CPU CPU necessária em núcleos, por exemplo, 0,5 Int
memória Memória necessária, por exemplo, "250Mb" corda

Variável de Ambiente

Nome Descrição Valor
nome Nome da variável de ambiente. corda
secretRef Nome do segredo do aplicativo de contêiner do qual extrair o valor da variável de ambiente. corda
valor Valor da variável de ambiente não secreto. corda

InitContainer

Nome Descrição Valor
Args Argumentos do comando Container start. string[]
comando Comando Container start. string[]
env Variáveis de ambiente de contêiner. AmbienteVar[]
imagem Tag de imagem de contêiner. corda
nome Nome do contêiner personalizado. corda
Recursos Requisitos de recursos de contêiner. ContainerResources
volumeMontagens Montagens de volume de recipiente. VolumeMount[]

JobConfiguration

Nome Descrição Valor
eventTriggerConfig Acionar a configuração de um trabalho controlado por eventos. JobConfigurationEventTriggerConfig
manualTriggerConfig Configuração manual de gatilho para um único trabalho de execução. As propriedades replicaCompletionCount e paralelismo seriam definidas como 1 por padrão JobConfigurationManualTriggerConfig
registos Coleção de credenciais de registro de contêiner privado usadas por um trabalho de aplicativos de contêiner RegistryCredentials[]
replicaRetryLimit Número máximo de tentativas antes de falhar o trabalho. Int
replicaTimeout Número máximo de segundos que uma réplica pode executar. int (obrigatório)
scheduleTriggerConfig Cron formatado repetindo trigger schedule ("* * * * *") para cronjobs. A conclusão de propriedades e o paralelismo seriam definidos como 1 por padrão JobConfigurationScheduleTriggerConfig
segredos Coleção de segredos usados por um trabalho de aplicativos de contêiner Secreto []
Tipo de gatilho Tipo de gatilho do trabalho 'Evento'
'Manual'
'Horário' (obrigatório)

JobConfigurationEventTriggerConfig

Nome Descrição Valor
paralelismo Número de réplicas paralelas de um trabalho que pode ser executado em um determinado momento. Int
replicaCompletionCount Número mínimo de réplicas bem-sucedidas antes da conclusão geral do trabalho. Int
escala Configurações de dimensionamento para trabalhos controlados por eventos. Escala de trabalho

JobConfigurationManualTriggerConfig

Nome Descrição Valor
paralelismo Número de réplicas paralelas de um trabalho que pode ser executado em um determinado momento. Int
replicaCompletionCount Número mínimo de réplicas bem-sucedidas antes da conclusão geral do trabalho. Int

JobConfigurationScheduleTriggerConfig

Nome Descrição Valor
cronExpressão Cron formatado cronograma de repetição ("* * * * *") de um Cron Job. string (obrigatório)
paralelismo Número de réplicas paralelas de um trabalho que pode ser executado em um determinado momento. Int
replicaCompletionCount Número mínimo de réplicas bem-sucedidas antes da conclusão geral do trabalho. Int

JobProperties

Nome Descrição Valor
configuração Propriedades de configuração do trabalho de aplicativos de contêiner. JobConfiguration
environmentId ID do recurso do ambiente. corda
modelo Definição de tarefa de Aplicativos de Contêiner. JobTemplate
workloadProfileName Nome do perfil da carga de trabalho a ser fixado para a execução do trabalho de aplicativos de contêiner. corda

Escala de trabalho

Nome Descrição Valor
maxExecuções Número máximo de execuções de trabalho que são criadas para um gatilho, padrão 100. Int
minExecuções Número mínimo de execuções de trabalho criadas para um gatilho, padrão 0 Int
pollingInterval Intervalo para verificar cada fonte de evento em segundos. Padrão para 30s Int
regras Regras de dimensionamento. JobScaleRule []

JobScaleRule

Nome Descrição Valor
autenticação Segredos de autenticação para a regra de escala. ScaleRuleAuth[]
metadados Propriedades de metadados para descrever a regra de escala. qualquer
nome Nome da regra de escala corda
tipo Tipo de regra de escala
Por exemplo: Azure-ServiceBus, Redis etc.
corda

JobTemplate

Nome Descrição Valor
contentores Lista de definições de contêiner para o aplicativo de contêiner. Contentor[]
initContainers Lista de contêineres especializados que são executados antes dos contêineres de aplicativos. InitContainer[]
Volumes Lista de definições de volume para o aplicativo de contêiner. Volume[]

ManagedServiceIdentity

Nome Descrição Valor
tipo Tipo de identidade de serviço gerenciado (onde os tipos SystemAssigned e UserAssigned são permitidos). 'Nenhuma'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obrigatório)
identidades atribuídas pelo utilizador O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão ids de recurso ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores de dicionário podem ser objetos vazios ({}) em solicitações. UserAssignedIdentities

RegistryCredentials

Nome Descrição Valor
identidade Uma Identidade Gerenciada a ser usada para autenticar com o Registro de Contêiner do Azure. Para identidades atribuídas pelo usuário, use o ID de recurso de identidade atribuído pelo usuário completo. Para identidades atribuídas ao sistema, use 'system' corda
senhaSecretRef O nome do segredo que contém a senha de login do registro corda
servidor Servidor de Registro de Contêiner corda
nome de utilizador Nome de usuário do Registro de contêiner corda

ScaleRuleAuth

Nome Descrição Valor
secretRef Nome do segredo do qual puxar os parâmetros de autenticação. corda
triggerParâmetro Parâmetro Trigger que usa o segredo corda

Segredo

Nome Descrição Valor
identidade ID de recurso de uma identidade gerenciada para autenticar com o Cofre de Chaves do Azure ou Sistema para usar uma identidade atribuída ao sistema. corda
keyVaultUrl URL do Cofre da Chave do Azure apontando para o segredo referenciado pelo aplicativo contêiner. corda
nome Nome secreto. corda
valor Valor Secreto. cadeia de caracteres

Restrições:
Valor sensível. Passe como um parâmetro seguro.

SecretVolumeItem

Nome Descrição Valor
caminho Caminho para o segredo do projeto. Se nenhum caminho for fornecido, o padrão do caminho será o nome do segredo listado em secretRef. corda
secretRef Nome do segredo do aplicativo de contêiner do qual extrair o valor secreto. corda

TrackedResourceTags

Nome Descrição Valor

UserAssignedIdentities

Nome Descrição Valor

IdentidadeAtribuídaPeloUtilizador

Nome Descrição Valor

Volume

Nome Descrição Valor
mountOptions [en] Opções de montagem usadas durante a montagem do AzureFile. Deve ser uma cadeia de caracteres separada por vírgula. corda
nome Nome do volume. corda
segredos Lista de segredos a serem adicionados em volume. Se nenhum segredo for fornecido, todos os segredos da coleção serão adicionados ao volume. SecretVolumeItem []
nome_do_armazenamento Nome do recurso de armazenamento. Não há necessidade de fornecer EmptyDir e Secret. corda
tipo de armazenamento Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. 'AzureFile'
'EmptyDir'
'Segredo'

Montagem em volume

Nome Descrição Valor
mountPath [en] Caminho dentro do recipiente no qual o volume deve ser montado. Não deve conter «:». corda
subCaminho Caminho dentro do volume a partir do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). corda
nome_do_volume Isso deve corresponder ao Nome de um Volume. corda

Exemplos de uso

Módulos verificados do Azure

Os seguintes de Módulos Verificados do Azure podem ser usados para implantar esse tipo de recurso.

Módulo Descrição
Trabalho no aplicativo Módulo de recursos do AVM para trabalho de aplicativo

Definição de recurso de modelo ARM

O tipo de recurso de trabalhos pode ser implantado com operações que visam:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.App/jobs, adicione o seguinte JSON ao seu modelo.

{
  "type": "Microsoft.App/jobs",
  "apiVersion": "2023-05-02-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 propriedade

Microsoft.App/empregos

Nome Descrição Valor
Versão da API A versão api '2023-05-02-pré-visualização'
identidade Identidades gerenciadas necessárias para um trabalho de aplicativo de contêiner interagir com outros serviços do Azure para não manter segredos ou credenciais no código. ManagedServiceIdentity
localização A geolocalização onde o recurso vive string (obrigatório)
nome O nome do recurso cadeia de caracteres

Restrições:
Padrão = ^[-\w\._\(\)]+$ (obrigatório)
propriedades Aplicativos de contêiner Propriedades específicas do recurso de trabalho. JobProperties
etiquetas Tags de recursos Dicionário de nomes e valores de tags. Consulte Tags em modelos
tipo O tipo de recurso 'Microsoft.App/jobs'

Contentor

Nome Descrição Valor
Args Argumentos do comando Container start. string[]
comando Comando Container start. string[]
env Variáveis de ambiente de contêiner. AmbienteVar[]
imagem Tag de imagem de contêiner. corda
nome Nome do contêiner personalizado. corda
sondas Lista de sondas para o recipiente. ContainerAppProbe []
Recursos Requisitos de recursos de contêiner. ContainerResources
volumeMontagens Montagens de volume de recipiente. VolumeMount[]

ContainerAppProbe

Nome Descrição Valor
failureThreshold Mínimo de falhas consecutivas para que a sonda seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. Int
httpObter HTTPGet especifica a solicitação http a ser executada. ContainerAppProbeHttpGet
initialDelaySeconds Número de segundos após o início do recipiente antes que as sondas de vivacidade sejam iniciadas. O valor mínimo é 1. O valor máximo é 60. Int
segundosPeríodo Com que frequência (em segundos) realizar a sonda. O padrão é de 10 segundos. O valor mínimo é 1. O valor máximo é 240. Int
successThreshold Mínimo de sucessos consecutivos para que a sonda seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para liveness e startup. O valor mínimo é 1. O valor máximo é 10. Int
tcpSocket TCPSocket especifica uma ação envolvendo uma porta TCP. Ganchos TCP ainda não suportados. ContainerAppProbeTcpSocket
terminaçãoGracePeriodSeconds Duração opcional: em segundos, o pod precisa terminar normalmente em caso de falha da sonda. O período de carência é a duração em segundos após os processos em execução no pod receberem um sinal de terminação e o tempo em que os processos são interrompidos à força com um sinal de morte. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o seu processo. Se esse valor for nulo, a terminationGracePeriodSeconds do pod será usada. Caso contrário, esse valor substituirá o valor fornecido pela especificação do pod. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente através do sinal de morte (sem oportunidade de encerrar). Este é um campo alfa e requer a ativação da porta de recurso ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) Int
timeoutSegundos Número de segundos após os quais a sonda atinge o tempo limite. O padrão é de 1 segundo. O valor mínimo é 1. O valor máximo é 240. Int
tipo O tipo de sonda. 'Vivacidade'
'Prontidão'
'Startup'

ContainerAppProbeHttpGet

Nome Descrição Valor
anfitrião Nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders em vez disso. corda
Cabeçalhos HTTP Cabeçalhos personalizados para definir na solicitação. HTTP permite cabeçalhos repetidos. ContainerAppProbeHttpGetHttpHeadersItem []
caminho Caminho de acesso no servidor HTTP. corda
porto Nome ou número da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. int (obrigatório)
Esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nome Descrição Valor
nome O nome do campo de cabeçalho string (obrigatório)
valor O valor do campo de cabeçalho string (obrigatório)

ContainerAppProbeTcpSocket

Nome Descrição Valor
anfitrião Opcional: Nome do host ao qual se conectar, o padrão é o IP do pod. corda
porto Número ou nome da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. int (obrigatório)

ContainerResources

Nome Descrição Valor
CPU CPU necessária em núcleos, por exemplo, 0,5 Int
memória Memória necessária, por exemplo, "250Mb" corda

Variável de Ambiente

Nome Descrição Valor
nome Nome da variável de ambiente. corda
secretRef Nome do segredo do aplicativo de contêiner do qual extrair o valor da variável de ambiente. corda
valor Valor da variável de ambiente não secreto. corda

InitContainer

Nome Descrição Valor
Args Argumentos do comando Container start. string[]
comando Comando Container start. string[]
env Variáveis de ambiente de contêiner. AmbienteVar[]
imagem Tag de imagem de contêiner. corda
nome Nome do contêiner personalizado. corda
Recursos Requisitos de recursos de contêiner. ContainerResources
volumeMontagens Montagens de volume de recipiente. VolumeMount[]

JobConfiguration

Nome Descrição Valor
eventTriggerConfig Acionar a configuração de um trabalho controlado por eventos. JobConfigurationEventTriggerConfig
manualTriggerConfig Configuração manual de gatilho para um único trabalho de execução. As propriedades replicaCompletionCount e paralelismo seriam definidas como 1 por padrão JobConfigurationManualTriggerConfig
registos Coleção de credenciais de registro de contêiner privado usadas por um trabalho de aplicativos de contêiner RegistryCredentials[]
replicaRetryLimit Número máximo de tentativas antes de falhar o trabalho. Int
replicaTimeout Número máximo de segundos que uma réplica pode executar. int (obrigatório)
scheduleTriggerConfig Cron formatado repetindo trigger schedule ("* * * * *") para cronjobs. A conclusão de propriedades e o paralelismo seriam definidos como 1 por padrão JobConfigurationScheduleTriggerConfig
segredos Coleção de segredos usados por um trabalho de aplicativos de contêiner Secreto []
Tipo de gatilho Tipo de gatilho do trabalho 'Evento'
'Manual'
'Horário' (obrigatório)

JobConfigurationEventTriggerConfig

Nome Descrição Valor
paralelismo Número de réplicas paralelas de um trabalho que pode ser executado em um determinado momento. Int
replicaCompletionCount Número mínimo de réplicas bem-sucedidas antes da conclusão geral do trabalho. Int
escala Configurações de dimensionamento para trabalhos controlados por eventos. Escala de trabalho

JobConfigurationManualTriggerConfig

Nome Descrição Valor
paralelismo Número de réplicas paralelas de um trabalho que pode ser executado em um determinado momento. Int
replicaCompletionCount Número mínimo de réplicas bem-sucedidas antes da conclusão geral do trabalho. Int

JobConfigurationScheduleTriggerConfig

Nome Descrição Valor
cronExpressão Cron formatado cronograma de repetição ("* * * * *") de um Cron Job. string (obrigatório)
paralelismo Número de réplicas paralelas de um trabalho que pode ser executado em um determinado momento. Int
replicaCompletionCount Número mínimo de réplicas bem-sucedidas antes da conclusão geral do trabalho. Int

JobProperties

Nome Descrição Valor
configuração Propriedades de configuração do trabalho de aplicativos de contêiner. JobConfiguration
environmentId ID do recurso do ambiente. corda
modelo Definição de tarefa de Aplicativos de Contêiner. JobTemplate
workloadProfileName Nome do perfil da carga de trabalho a ser fixado para a execução do trabalho de aplicativos de contêiner. corda

Escala de trabalho

Nome Descrição Valor
maxExecuções Número máximo de execuções de trabalho que são criadas para um gatilho, padrão 100. Int
minExecuções Número mínimo de execuções de trabalho criadas para um gatilho, padrão 0 Int
pollingInterval Intervalo para verificar cada fonte de evento em segundos. Padrão para 30s Int
regras Regras de dimensionamento. JobScaleRule []

JobScaleRule

Nome Descrição Valor
autenticação Segredos de autenticação para a regra de escala. ScaleRuleAuth[]
metadados Propriedades de metadados para descrever a regra de escala. qualquer
nome Nome da regra de escala corda
tipo Tipo de regra de escala
Por exemplo: Azure-ServiceBus, Redis etc.
corda

JobTemplate

Nome Descrição Valor
contentores Lista de definições de contêiner para o aplicativo de contêiner. Contentor[]
initContainers Lista de contêineres especializados que são executados antes dos contêineres de aplicativos. InitContainer[]
Volumes Lista de definições de volume para o aplicativo de contêiner. Volume[]

ManagedServiceIdentity

Nome Descrição Valor
tipo Tipo de identidade de serviço gerenciado (onde os tipos SystemAssigned e UserAssigned são permitidos). 'Nenhuma'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obrigatório)
identidades atribuídas pelo utilizador O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão ids de recurso ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores de dicionário podem ser objetos vazios ({}) em solicitações. UserAssignedIdentities

RegistryCredentials

Nome Descrição Valor
identidade Uma Identidade Gerenciada a ser usada para autenticar com o Registro de Contêiner do Azure. Para identidades atribuídas pelo usuário, use o ID de recurso de identidade atribuído pelo usuário completo. Para identidades atribuídas ao sistema, use 'system' corda
senhaSecretRef O nome do segredo que contém a senha de login do registro corda
servidor Servidor de Registro de Contêiner corda
nome de utilizador Nome de usuário do Registro de contêiner corda

ScaleRuleAuth

Nome Descrição Valor
secretRef Nome do segredo do qual puxar os parâmetros de autenticação. corda
triggerParâmetro Parâmetro Trigger que usa o segredo corda

Segredo

Nome Descrição Valor
identidade ID de recurso de uma identidade gerenciada para autenticar com o Cofre de Chaves do Azure ou Sistema para usar uma identidade atribuída ao sistema. corda
keyVaultUrl URL do Cofre da Chave do Azure apontando para o segredo referenciado pelo aplicativo contêiner. corda
nome Nome secreto. corda
valor Valor Secreto. cadeia de caracteres

Restrições:
Valor sensível. Passe como um parâmetro seguro.

SecretVolumeItem

Nome Descrição Valor
caminho Caminho para o segredo do projeto. Se nenhum caminho for fornecido, o padrão do caminho será o nome do segredo listado em secretRef. corda
secretRef Nome do segredo do aplicativo de contêiner do qual extrair o valor secreto. corda

TrackedResourceTags

Nome Descrição Valor

UserAssignedIdentities

Nome Descrição Valor

IdentidadeAtribuídaPeloUtilizador

Nome Descrição Valor

Volume

Nome Descrição Valor
mountOptions [en] Opções de montagem usadas durante a montagem do AzureFile. Deve ser uma cadeia de caracteres separada por vírgula. corda
nome Nome do volume. corda
segredos Lista de segredos a serem adicionados em volume. Se nenhum segredo for fornecido, todos os segredos da coleção serão adicionados ao volume. SecretVolumeItem []
nome_do_armazenamento Nome do recurso de armazenamento. Não há necessidade de fornecer EmptyDir e Secret. corda
tipo de armazenamento Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. 'AzureFile'
'EmptyDir'
'Segredo'

Montagem em volume

Nome Descrição Valor
mountPath [en] Caminho dentro do recipiente no qual o volume deve ser montado. Não deve conter «:». corda
subCaminho Caminho dentro do volume a partir do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). corda
nome_do_volume Isso deve corresponder ao Nome de um Volume. corda

Exemplos de uso

Definição de recursos Terraform (provedor AzAPI)

O tipo de recurso de trabalhos pode ser implantado com operações que visam:

  • Grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.App/jobs, adicione o seguinte Terraform ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/jobs@2023-05-02-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    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 propriedade

Microsoft.App/empregos

Nome Descrição Valor
identidade Identidades gerenciadas necessárias para um trabalho de aplicativo de contêiner interagir com outros serviços do Azure para não manter segredos ou credenciais no código. ManagedServiceIdentity
localização A geolocalização onde o recurso vive string (obrigatório)
nome O nome do recurso cadeia de caracteres

Restrições:
Padrão = ^[-\w\._\(\)]+$ (obrigatório)
propriedades Aplicativos de contêiner Propriedades específicas do recurso de trabalho. JobProperties
etiquetas Tags de recursos Dicionário de nomes e valores de tags.
tipo O tipo de recurso "Microsoft.App/jobs@2023-05-02-preview"

Contentor

Nome Descrição Valor
Args Argumentos do comando Container start. string[]
comando Comando Container start. string[]
env Variáveis de ambiente de contêiner. AmbienteVar[]
imagem Tag de imagem de contêiner. corda
nome Nome do contêiner personalizado. corda
sondas Lista de sondas para o recipiente. ContainerAppProbe []
Recursos Requisitos de recursos de contêiner. ContainerResources
volumeMontagens Montagens de volume de recipiente. VolumeMount[]

ContainerAppProbe

Nome Descrição Valor
failureThreshold Mínimo de falhas consecutivas para que a sonda seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. Int
httpObter HTTPGet especifica a solicitação http a ser executada. ContainerAppProbeHttpGet
initialDelaySeconds Número de segundos após o início do recipiente antes que as sondas de vivacidade sejam iniciadas. O valor mínimo é 1. O valor máximo é 60. Int
segundosPeríodo Com que frequência (em segundos) realizar a sonda. O padrão é de 10 segundos. O valor mínimo é 1. O valor máximo é 240. Int
successThreshold Mínimo de sucessos consecutivos para que a sonda seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para liveness e startup. O valor mínimo é 1. O valor máximo é 10. Int
tcpSocket TCPSocket especifica uma ação envolvendo uma porta TCP. Ganchos TCP ainda não suportados. ContainerAppProbeTcpSocket
terminaçãoGracePeriodSeconds Duração opcional: em segundos, o pod precisa terminar normalmente em caso de falha da sonda. O período de carência é a duração em segundos após os processos em execução no pod receberem um sinal de terminação e o tempo em que os processos são interrompidos à força com um sinal de morte. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o seu processo. Se esse valor for nulo, a terminationGracePeriodSeconds do pod será usada. Caso contrário, esse valor substituirá o valor fornecido pela especificação do pod. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente através do sinal de morte (sem oportunidade de encerrar). Este é um campo alfa e requer a ativação da porta de recurso ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) Int
timeoutSegundos Número de segundos após os quais a sonda atinge o tempo limite. O padrão é de 1 segundo. O valor mínimo é 1. O valor máximo é 240. Int
tipo O tipo de sonda. 'Vivacidade'
'Prontidão'
'Startup'

ContainerAppProbeHttpGet

Nome Descrição Valor
anfitrião Nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders em vez disso. corda
Cabeçalhos HTTP Cabeçalhos personalizados para definir na solicitação. HTTP permite cabeçalhos repetidos. ContainerAppProbeHttpGetHttpHeadersItem []
caminho Caminho de acesso no servidor HTTP. corda
porto Nome ou número da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. int (obrigatório)
Esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nome Descrição Valor
nome O nome do campo de cabeçalho string (obrigatório)
valor O valor do campo de cabeçalho string (obrigatório)

ContainerAppProbeTcpSocket

Nome Descrição Valor
anfitrião Opcional: Nome do host ao qual se conectar, o padrão é o IP do pod. corda
porto Número ou nome da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. int (obrigatório)

ContainerResources

Nome Descrição Valor
CPU CPU necessária em núcleos, por exemplo, 0,5 Int
memória Memória necessária, por exemplo, "250Mb" corda

Variável de Ambiente

Nome Descrição Valor
nome Nome da variável de ambiente. corda
secretRef Nome do segredo do aplicativo de contêiner do qual extrair o valor da variável de ambiente. corda
valor Valor da variável de ambiente não secreto. corda

InitContainer

Nome Descrição Valor
Args Argumentos do comando Container start. string[]
comando Comando Container start. string[]
env Variáveis de ambiente de contêiner. AmbienteVar[]
imagem Tag de imagem de contêiner. corda
nome Nome do contêiner personalizado. corda
Recursos Requisitos de recursos de contêiner. ContainerResources
volumeMontagens Montagens de volume de recipiente. VolumeMount[]

JobConfiguration

Nome Descrição Valor
eventTriggerConfig Acionar a configuração de um trabalho controlado por eventos. JobConfigurationEventTriggerConfig
manualTriggerConfig Configuração manual de gatilho para um único trabalho de execução. As propriedades replicaCompletionCount e paralelismo seriam definidas como 1 por padrão JobConfigurationManualTriggerConfig
registos Coleção de credenciais de registro de contêiner privado usadas por um trabalho de aplicativos de contêiner RegistryCredentials[]
replicaRetryLimit Número máximo de tentativas antes de falhar o trabalho. Int
replicaTimeout Número máximo de segundos que uma réplica pode executar. int (obrigatório)
scheduleTriggerConfig Cron formatado repetindo trigger schedule ("* * * * *") para cronjobs. A conclusão de propriedades e o paralelismo seriam definidos como 1 por padrão JobConfigurationScheduleTriggerConfig
segredos Coleção de segredos usados por um trabalho de aplicativos de contêiner Secreto []
Tipo de gatilho Tipo de gatilho do trabalho 'Evento'
'Manual'
'Horário' (obrigatório)

JobConfigurationEventTriggerConfig

Nome Descrição Valor
paralelismo Número de réplicas paralelas de um trabalho que pode ser executado em um determinado momento. Int
replicaCompletionCount Número mínimo de réplicas bem-sucedidas antes da conclusão geral do trabalho. Int
escala Configurações de dimensionamento para trabalhos controlados por eventos. Escala de trabalho

JobConfigurationManualTriggerConfig

Nome Descrição Valor
paralelismo Número de réplicas paralelas de um trabalho que pode ser executado em um determinado momento. Int
replicaCompletionCount Número mínimo de réplicas bem-sucedidas antes da conclusão geral do trabalho. Int

JobConfigurationScheduleTriggerConfig

Nome Descrição Valor
cronExpressão Cron formatado cronograma de repetição ("* * * * *") de um Cron Job. string (obrigatório)
paralelismo Número de réplicas paralelas de um trabalho que pode ser executado em um determinado momento. Int
replicaCompletionCount Número mínimo de réplicas bem-sucedidas antes da conclusão geral do trabalho. Int

JobProperties

Nome Descrição Valor
configuração Propriedades de configuração do trabalho de aplicativos de contêiner. JobConfiguration
environmentId ID do recurso do ambiente. corda
modelo Definição de tarefa de Aplicativos de Contêiner. JobTemplate
workloadProfileName Nome do perfil da carga de trabalho a ser fixado para a execução do trabalho de aplicativos de contêiner. corda

Escala de trabalho

Nome Descrição Valor
maxExecuções Número máximo de execuções de trabalho que são criadas para um gatilho, padrão 100. Int
minExecuções Número mínimo de execuções de trabalho criadas para um gatilho, padrão 0 Int
pollingInterval Intervalo para verificar cada fonte de evento em segundos. Padrão para 30s Int
regras Regras de dimensionamento. JobScaleRule []

JobScaleRule

Nome Descrição Valor
autenticação Segredos de autenticação para a regra de escala. ScaleRuleAuth[]
metadados Propriedades de metadados para descrever a regra de escala. qualquer
nome Nome da regra de escala corda
tipo Tipo de regra de escala
Por exemplo: Azure-ServiceBus, Redis etc.
corda

JobTemplate

Nome Descrição Valor
contentores Lista de definições de contêiner para o aplicativo de contêiner. Contentor[]
initContainers Lista de contêineres especializados que são executados antes dos contêineres de aplicativos. InitContainer[]
Volumes Lista de definições de volume para o aplicativo de contêiner. Volume[]

ManagedServiceIdentity

Nome Descrição Valor
tipo Tipo de identidade de serviço gerenciado (onde os tipos SystemAssigned e UserAssigned são permitidos). 'Nenhuma'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obrigatório)
identidades atribuídas pelo utilizador O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão ids de recurso ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores de dicionário podem ser objetos vazios ({}) em solicitações. UserAssignedIdentities

RegistryCredentials

Nome Descrição Valor
identidade Uma Identidade Gerenciada a ser usada para autenticar com o Registro de Contêiner do Azure. Para identidades atribuídas pelo usuário, use o ID de recurso de identidade atribuído pelo usuário completo. Para identidades atribuídas ao sistema, use 'system' corda
senhaSecretRef O nome do segredo que contém a senha de login do registro corda
servidor Servidor de Registro de Contêiner corda
nome de utilizador Nome de usuário do Registro de contêiner corda

ScaleRuleAuth

Nome Descrição Valor
secretRef Nome do segredo do qual puxar os parâmetros de autenticação. corda
triggerParâmetro Parâmetro Trigger que usa o segredo corda

Segredo

Nome Descrição Valor
identidade ID de recurso de uma identidade gerenciada para autenticar com o Cofre de Chaves do Azure ou Sistema para usar uma identidade atribuída ao sistema. corda
keyVaultUrl URL do Cofre da Chave do Azure apontando para o segredo referenciado pelo aplicativo contêiner. corda
nome Nome secreto. corda
valor Valor Secreto. cadeia de caracteres

Restrições:
Valor sensível. Passe como um parâmetro seguro.

SecretVolumeItem

Nome Descrição Valor
caminho Caminho para o segredo do projeto. Se nenhum caminho for fornecido, o padrão do caminho será o nome do segredo listado em secretRef. corda
secretRef Nome do segredo do aplicativo de contêiner do qual extrair o valor secreto. corda

TrackedResourceTags

Nome Descrição Valor

UserAssignedIdentities

Nome Descrição Valor

IdentidadeAtribuídaPeloUtilizador

Nome Descrição Valor

Volume

Nome Descrição Valor
mountOptions [en] Opções de montagem usadas durante a montagem do AzureFile. Deve ser uma cadeia de caracteres separada por vírgula. corda
nome Nome do volume. corda
segredos Lista de segredos a serem adicionados em volume. Se nenhum segredo for fornecido, todos os segredos da coleção serão adicionados ao volume. SecretVolumeItem []
nome_do_armazenamento Nome do recurso de armazenamento. Não há necessidade de fornecer EmptyDir e Secret. corda
tipo de armazenamento Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. 'AzureFile'
'EmptyDir'
'Segredo'

Montagem em volume

Nome Descrição Valor
mountPath [en] Caminho dentro do recipiente no qual o volume deve ser montado. Não deve conter «:». corda
subCaminho Caminho dentro do volume a partir do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). corda
nome_do_volume Isso deve corresponder ao Nome de um Volume. corda