Definição de recurso do Bicep
O tipo de recurso de trabalhos pode ser implantado com operações direcionadas:
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Para criar um recurso de Microsoft.App/jobs, adicione o seguinte Bicep ao 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
Recipiente
Nome |
Descrição |
Valor |
args |
Argumentos de comando de início de contêiner. |
string[] |
comando |
Comando de início do contêiner. |
string[] |
Env |
Variáveis de ambiente de contêiner. |
EnvironmentVar [] |
imagem |
Marca de imagem de contêiner. |
corda |
nome |
Nome do contêiner personalizado. |
corda |
Sondas |
Lista de investigações para o contêiner. |
ContainerAppProbe [] |
Recursos |
Requisitos de recursos de contêiner. |
ContainerResources |
volumeMounts |
Montagens de volume de contêiner. |
VolumeMount [] |
ContainerAppProbe
Nome |
Descrição |
Valor |
failureThreshold |
Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. |
int |
httpGet |
HTTPGet especifica a solicitação http a ser executada. |
ContainerAppProbeHttpGet |
initialDelaySeconds |
Número de segundos após o início do contêiner antes do início das investigações de atividade. O valor mínimo é 1. O valor máximo é 60. |
int |
periodSeconds |
Com que frequência (em segundos) executar a investigação. Padrão para 10 segundos. O valor mínimo é 1. O valor máximo é 240. |
int |
successThreshold |
Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para animação e inicialização. O valor mínimo é 1. O valor máximo é 10. |
int |
tcpSocket |
O TCPSocket especifica uma ação envolvendo uma porta TCP. Ainda não há suporte para ganchos TCP. |
ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds |
Duração opcional em segundos, o pod precisa terminar normalmente após a falha da investigação. O período de carência é a duração em segundos depois que os processos em execução no pod são enviados um sinal de terminação e a hora 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 processo. Se esse valor for nulo, os terminationGracePeriodSeconds do pod serão usados. 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 por meio do sinal de eliminação (sem oportunidade de desligar). Esse é um campo alfa e requer a habilitação do portão de recursos ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) |
int |
timeoutSeconds |
Número de segundos após o qual a investigação atinge o tempo limite. O padrão é 1 segundo. O valor mínimo é 1. O valor máximo é 240. |
int |
tipo |
O tipo de investigação. |
'Liveness' 'Preparação' 'Inicialização' |
ContainerAppProbeHttpGet
Nome |
Descrição |
Valor |
anfitrião |
O nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders. |
corda |
httpHeaders |
Cabeçalhos personalizados a serem definidos na solicitação. HTTP permite cabeçalhos repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem[] |
caminho |
Caminho para acesso no servidor HTTP. |
corda |
porta |
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' |
Nome |
Descrição |
Valor |
nome |
O nome do campo de cabeçalho |
cadeia de caracteres (obrigatório) |
valor |
O valor do campo de cabeçalho |
cadeia de caracteres (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 |
porta |
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, "250 Mb" |
corda |
EnvironmentVar
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 de variável de ambiente não secreto. |
corda |
InitContainer
Nome |
Descrição |
Valor |
args |
Argumentos de comando de início de contêiner. |
string[] |
comando |
Comando de início do contêiner. |
string[] |
Env |
Variáveis de ambiente de contêiner. |
EnvironmentVar [] |
imagem |
Marca de imagem de contêiner. |
corda |
nome |
Nome do contêiner personalizado. |
corda |
Recursos |
Requisitos de recursos de contêiner. |
ContainerResources |
volumeMounts |
Montagens de volume de contêiner. |
VolumeMount [] |
JobConfiguration
Nome |
Descrição |
Valor |
eventTriggerConfig |
Disparar a configuração de um trabalho controlado por eventos. |
JobConfigurationEventTriggerConfig |
manualTriggerConfig |
Configuração de gatilho manual para um único trabalho de execução. Propriedades replicaCompletionCount e paralelismo seriam definidos como 1 por padrão |
JobConfigurationManualTriggerConfig |
Registros |
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 no trabalho. |
int |
replicaTimeout |
O número máximo de segundos que uma réplica tem permissão para ser executada. |
int (obrigatório) |
scheduleTriggerConfig |
Agendamento de gatilho repetido formatado por cron ("* * * * * *") para cronjobs. Conclusões de propriedades e paralelismo seriam definidos como 1 por padrão |
JobConfigurationScheduleTriggerConfig |
Segredos |
Coleção de segredos usados por um trabalho de Aplicativos de Contêiner |
secret[] |
triggerType |
Tipo de gatilho do trabalho |
'Evento' 'Manual' 'Agendamento' (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 conclusões de réplica bem-sucedidas antes da conclusão geral do trabalho. |
int |
escala |
Configurações de dimensionamento para trabalhos controlados por eventos. |
do JobScale |
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 conclusões de réplica bem-sucedidas antes da conclusão geral do trabalho. |
int |
JobConfigurationScheduleTriggerConfig
Nome |
Descrição |
Valor |
cronExpression |
Agenda de repetição formatada por cron ("* * * * * *") de um Trabalho Cron. |
cadeia de caracteres (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 conclusões de réplica 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 trabalho de Aplicativos de Contêiner. |
JobTemplate |
workloadProfileName |
Nome do perfil de carga de trabalho a ser fixado na execução do trabalho de aplicativos de contêiner. |
corda |
JobScale
Nome |
Descrição |
Valor |
maxExecutions |
Número máximo de execuções de trabalho que são criadas para um gatilho, padrão 100. |
int |
minExecutions |
Número mínimo de execuções de trabalho que são criadas para um gatilho, padrão 0 |
int |
pollingInterval |
Intervalo para verificar cada fonte de evento em segundos. O padrão é 30s |
int |
réguas |
Regras de dimensionamento. |
JobScaleRule[] |
JobScaleRule
Nome |
Descrição |
Valor |
Auth |
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 da regra de escala por exemplo: azure-servicebus, redis etc. |
corda |
JobTemplate
Nome |
Descrição |
Valor |
Recipientes |
Lista de definições de contêiner para o Aplicativo de Contêiner. |
de contêiner [] |
initContainers |
Lista de contêineres especializados que são executados antes dos contêineres de aplicativo. |
initContainer[] |
Volumes |
Lista de definições de volume para o Aplicativo de Contêiner. |
de volume [] |
ManagedServiceIdentity
Nome |
Descrição |
Valor |
tipo |
Tipo de identidade de serviço gerenciado (em que os tipos SystemAssigned e UserAssigned são permitidos). |
'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obrigatório) |
userAssignedIdentities |
O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores do dicionário podem ser objetos vazios ({}) em solicitações. |
UserAssignedIdentities |
Microsoft.App/jobs
Nome |
Descrição |
Valor |
identidade |
Identidades gerenciadas necessárias por um trabalho de aplicativo de contêiner para interagir com outros serviços do Azure para não manter segredos ou credenciais no código. |
ManagedServiceIdentity |
localização |
A localização geográfica onde o recurso reside |
cadeia de caracteres (obrigatório) |
nome |
O nome do recurso |
corda
Restrições: Padrão = ^[-\w\._\(\)]+$ (obrigatório) |
Propriedades |
Propriedades específicas do recurso de Trabalho de Aplicativos de Contêiner. |
JobProperties |
Tags |
Marcas de recurso |
Dicionário de nomes e valores de marca. Consulte Marcas em modelos |
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 a ID completa do recurso de identidade atribuída pelo usuário. Para identidades atribuídas pelo sistema, use 'system' |
corda |
passwordSecretRef |
O nome do Segredo que contém a senha de logon do Registro |
corda |
servidor |
Servidor do Registro de Contêiner |
corda |
nome de usuário |
Nome de usuário do Registro de Contêiner |
corda |
ScaleRuleAuth
Nome |
Descrição |
Valor |
secretRef |
Nome do segredo do qual efetuar pull dos parâmetros de autenticação. |
corda |
triggerParameter |
Parâmetro de gatilho que usa o segredo |
corda |
Segredo
Nome |
Descrição |
Valor |
identidade |
ID de recurso de uma identidade gerenciada para autenticar com o Azure Key Vault ou o Sistema para usar uma identidade atribuída pelo sistema. |
corda |
keyVaultUrl |
URL do Azure Key Vault apontando para o segredo referenciado pelo aplicativo de contêiner. |
corda |
nome |
Nome do segredo. |
corda |
valor |
Valor secreto. |
corda
Restrições: Valor confidencial. Passe como um parâmetro seguro. |
SecretVolumeItem
Nome |
Descrição |
Valor |
caminho |
Caminho para o segredo do projeto. Se nenhum caminho for fornecido, o caminho usará como padrão o nome do segredo listado em secretRef. |
corda |
secretRef |
Nome do segredo do Aplicativo de Contêiner do qual extrair o valor do segredo. |
corda |
UserAssignedIdentities
UserAssignedIdentity
Volume
Nome |
Descrição |
Valor |
mountOptions |
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 no volume. Se nenhum segredo for fornecido, todos os segredos da coleção serão adicionados ao volume. |
SecretVolumeItem [] |
storageName |
Nome do recurso de armazenamento. Não é necessário fornecer para EmptyDir e Secret. |
corda |
storageType |
Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. |
'AzureFile' 'EmptyDir' 'Segredo' |
VolumeMount
Nome |
Descrição |
Valor |
mountPath |
Caminho dentro do contêiner no qual o volume deve ser montado. Não deve conter ':'. |
corda |
subPath |
Caminho dentro do volume do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). |
corda |
volumeName |
Isso deve corresponder ao nome de um volume. |
corda |
Exemplos de uso
Módulos verificados do Azure
O módulos verificados do Azure a seguir pode ser usado para implantar esse tipo de recurso.
Definição de recurso de modelo do ARM
O tipo de recurso de trabalhos pode ser implantado com operações direcionadas:
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Para criar um recurso de Microsoft.App/jobs, adicione o JSON a seguir ao 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
Recipiente
Nome |
Descrição |
Valor |
args |
Argumentos de comando de início de contêiner. |
string[] |
comando |
Comando de início do contêiner. |
string[] |
Env |
Variáveis de ambiente de contêiner. |
EnvironmentVar [] |
imagem |
Marca de imagem de contêiner. |
corda |
nome |
Nome do contêiner personalizado. |
corda |
Sondas |
Lista de investigações para o contêiner. |
ContainerAppProbe [] |
Recursos |
Requisitos de recursos de contêiner. |
ContainerResources |
volumeMounts |
Montagens de volume de contêiner. |
VolumeMount [] |
ContainerAppProbe
Nome |
Descrição |
Valor |
failureThreshold |
Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. |
int |
httpGet |
HTTPGet especifica a solicitação http a ser executada. |
ContainerAppProbeHttpGet |
initialDelaySeconds |
Número de segundos após o início do contêiner antes do início das investigações de atividade. O valor mínimo é 1. O valor máximo é 60. |
int |
periodSeconds |
Com que frequência (em segundos) executar a investigação. Padrão para 10 segundos. O valor mínimo é 1. O valor máximo é 240. |
int |
successThreshold |
Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para animação e inicialização. O valor mínimo é 1. O valor máximo é 10. |
int |
tcpSocket |
O TCPSocket especifica uma ação envolvendo uma porta TCP. Ainda não há suporte para ganchos TCP. |
ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds |
Duração opcional em segundos, o pod precisa terminar normalmente após a falha da investigação. O período de carência é a duração em segundos depois que os processos em execução no pod são enviados um sinal de terminação e a hora 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 processo. Se esse valor for nulo, os terminationGracePeriodSeconds do pod serão usados. 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 por meio do sinal de eliminação (sem oportunidade de desligar). Esse é um campo alfa e requer a habilitação do portão de recursos ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) |
int |
timeoutSeconds |
Número de segundos após o qual a investigação atinge o tempo limite. O padrão é 1 segundo. O valor mínimo é 1. O valor máximo é 240. |
int |
tipo |
O tipo de investigação. |
'Liveness' 'Preparação' 'Inicialização' |
ContainerAppProbeHttpGet
Nome |
Descrição |
Valor |
anfitrião |
O nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders. |
corda |
httpHeaders |
Cabeçalhos personalizados a serem definidos na solicitação. HTTP permite cabeçalhos repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem[] |
caminho |
Caminho para acesso no servidor HTTP. |
corda |
porta |
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' |
Nome |
Descrição |
Valor |
nome |
O nome do campo de cabeçalho |
cadeia de caracteres (obrigatório) |
valor |
O valor do campo de cabeçalho |
cadeia de caracteres (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 |
porta |
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, "250 Mb" |
corda |
EnvironmentVar
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 de variável de ambiente não secreto. |
corda |
InitContainer
Nome |
Descrição |
Valor |
args |
Argumentos de comando de início de contêiner. |
string[] |
comando |
Comando de início do contêiner. |
string[] |
Env |
Variáveis de ambiente de contêiner. |
EnvironmentVar [] |
imagem |
Marca de imagem de contêiner. |
corda |
nome |
Nome do contêiner personalizado. |
corda |
Recursos |
Requisitos de recursos de contêiner. |
ContainerResources |
volumeMounts |
Montagens de volume de contêiner. |
VolumeMount [] |
JobConfiguration
Nome |
Descrição |
Valor |
eventTriggerConfig |
Disparar a configuração de um trabalho controlado por eventos. |
JobConfigurationEventTriggerConfig |
manualTriggerConfig |
Configuração de gatilho manual para um único trabalho de execução. Propriedades replicaCompletionCount e paralelismo seriam definidos como 1 por padrão |
JobConfigurationManualTriggerConfig |
Registros |
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 no trabalho. |
int |
replicaTimeout |
O número máximo de segundos que uma réplica tem permissão para ser executada. |
int (obrigatório) |
scheduleTriggerConfig |
Agendamento de gatilho repetido formatado por cron ("* * * * * *") para cronjobs. Conclusões de propriedades e paralelismo seriam definidos como 1 por padrão |
JobConfigurationScheduleTriggerConfig |
Segredos |
Coleção de segredos usados por um trabalho de Aplicativos de Contêiner |
secret[] |
triggerType |
Tipo de gatilho do trabalho |
'Evento' 'Manual' 'Agendamento' (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 conclusões de réplica bem-sucedidas antes da conclusão geral do trabalho. |
int |
escala |
Configurações de dimensionamento para trabalhos controlados por eventos. |
do JobScale |
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 conclusões de réplica bem-sucedidas antes da conclusão geral do trabalho. |
int |
JobConfigurationScheduleTriggerConfig
Nome |
Descrição |
Valor |
cronExpression |
Agenda de repetição formatada por cron ("* * * * * *") de um Trabalho Cron. |
cadeia de caracteres (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 conclusões de réplica 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 trabalho de Aplicativos de Contêiner. |
JobTemplate |
workloadProfileName |
Nome do perfil de carga de trabalho a ser fixado na execução do trabalho de aplicativos de contêiner. |
corda |
JobScale
Nome |
Descrição |
Valor |
maxExecutions |
Número máximo de execuções de trabalho que são criadas para um gatilho, padrão 100. |
int |
minExecutions |
Número mínimo de execuções de trabalho que são criadas para um gatilho, padrão 0 |
int |
pollingInterval |
Intervalo para verificar cada fonte de evento em segundos. O padrão é 30s |
int |
réguas |
Regras de dimensionamento. |
JobScaleRule[] |
JobScaleRule
Nome |
Descrição |
Valor |
Auth |
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 da regra de escala por exemplo: azure-servicebus, redis etc. |
corda |
JobTemplate
Nome |
Descrição |
Valor |
Recipientes |
Lista de definições de contêiner para o Aplicativo de Contêiner. |
de contêiner [] |
initContainers |
Lista de contêineres especializados que são executados antes dos contêineres de aplicativo. |
initContainer[] |
Volumes |
Lista de definições de volume para o Aplicativo de Contêiner. |
de volume [] |
ManagedServiceIdentity
Nome |
Descrição |
Valor |
tipo |
Tipo de identidade de serviço gerenciado (em que os tipos SystemAssigned e UserAssigned são permitidos). |
'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obrigatório) |
userAssignedIdentities |
O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores do dicionário podem ser objetos vazios ({}) em solicitações. |
UserAssignedIdentities |
Microsoft.App/jobs
Nome |
Descrição |
Valor |
apiVersion |
A versão da API |
'2023-05-02-preview' |
identidade |
Identidades gerenciadas necessárias por um trabalho de aplicativo de contêiner para interagir com outros serviços do Azure para não manter segredos ou credenciais no código. |
ManagedServiceIdentity |
localização |
A localização geográfica onde o recurso reside |
cadeia de caracteres (obrigatório) |
nome |
O nome do recurso |
corda
Restrições: Padrão = ^[-\w\._\(\)]+$ (obrigatório) |
Propriedades |
Propriedades específicas do recurso de Trabalho de Aplicativos de Contêiner. |
JobProperties |
Tags |
Marcas de recurso |
Dicionário de nomes e valores de marca. Consulte Marcas em modelos |
tipo |
O tipo de recurso |
'Microsoft.App/jobs' |
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 a ID completa do recurso de identidade atribuída pelo usuário. Para identidades atribuídas pelo sistema, use 'system' |
corda |
passwordSecretRef |
O nome do Segredo que contém a senha de logon do Registro |
corda |
servidor |
Servidor do Registro de Contêiner |
corda |
nome de usuário |
Nome de usuário do Registro de Contêiner |
corda |
ScaleRuleAuth
Nome |
Descrição |
Valor |
secretRef |
Nome do segredo do qual efetuar pull dos parâmetros de autenticação. |
corda |
triggerParameter |
Parâmetro de gatilho que usa o segredo |
corda |
Segredo
Nome |
Descrição |
Valor |
identidade |
ID de recurso de uma identidade gerenciada para autenticar com o Azure Key Vault ou o Sistema para usar uma identidade atribuída pelo sistema. |
corda |
keyVaultUrl |
URL do Azure Key Vault apontando para o segredo referenciado pelo aplicativo de contêiner. |
corda |
nome |
Nome do segredo. |
corda |
valor |
Valor secreto. |
corda
Restrições: Valor confidencial. Passe como um parâmetro seguro. |
SecretVolumeItem
Nome |
Descrição |
Valor |
caminho |
Caminho para o segredo do projeto. Se nenhum caminho for fornecido, o caminho usará como padrão o nome do segredo listado em secretRef. |
corda |
secretRef |
Nome do segredo do Aplicativo de Contêiner do qual extrair o valor do segredo. |
corda |
UserAssignedIdentities
UserAssignedIdentity
Volume
Nome |
Descrição |
Valor |
mountOptions |
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 no volume. Se nenhum segredo for fornecido, todos os segredos da coleção serão adicionados ao volume. |
SecretVolumeItem [] |
storageName |
Nome do recurso de armazenamento. Não é necessário fornecer para EmptyDir e Secret. |
corda |
storageType |
Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. |
'AzureFile' 'EmptyDir' 'Segredo' |
VolumeMount
Nome |
Descrição |
Valor |
mountPath |
Caminho dentro do contêiner no qual o volume deve ser montado. Não deve conter ':'. |
corda |
subPath |
Caminho dentro do volume do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). |
corda |
volumeName |
Isso deve corresponder ao nome de um volume. |
corda |
Exemplos de uso
O tipo de recurso de trabalhos pode ser implantado com operações direcionadas:
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Para criar um recurso de Microsoft.App/jobs, adicione o Terraform a seguir ao seu modelo.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/jobs@2023-05-02-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 propriedade
Recipiente
Nome |
Descrição |
Valor |
args |
Argumentos de comando de início de contêiner. |
string[] |
comando |
Comando de início do contêiner. |
string[] |
Env |
Variáveis de ambiente de contêiner. |
EnvironmentVar [] |
imagem |
Marca de imagem de contêiner. |
corda |
nome |
Nome do contêiner personalizado. |
corda |
Sondas |
Lista de investigações para o contêiner. |
ContainerAppProbe [] |
Recursos |
Requisitos de recursos de contêiner. |
ContainerResources |
volumeMounts |
Montagens de volume de contêiner. |
VolumeMount [] |
ContainerAppProbe
Nome |
Descrição |
Valor |
failureThreshold |
Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. |
int |
httpGet |
HTTPGet especifica a solicitação http a ser executada. |
ContainerAppProbeHttpGet |
initialDelaySeconds |
Número de segundos após o início do contêiner antes do início das investigações de atividade. O valor mínimo é 1. O valor máximo é 60. |
int |
periodSeconds |
Com que frequência (em segundos) executar a investigação. Padrão para 10 segundos. O valor mínimo é 1. O valor máximo é 240. |
int |
successThreshold |
Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para animação e inicialização. O valor mínimo é 1. O valor máximo é 10. |
int |
tcpSocket |
O TCPSocket especifica uma ação envolvendo uma porta TCP. Ainda não há suporte para ganchos TCP. |
ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds |
Duração opcional em segundos, o pod precisa terminar normalmente após a falha da investigação. O período de carência é a duração em segundos depois que os processos em execução no pod são enviados um sinal de terminação e a hora 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 processo. Se esse valor for nulo, os terminationGracePeriodSeconds do pod serão usados. 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 por meio do sinal de eliminação (sem oportunidade de desligar). Esse é um campo alfa e requer a habilitação do portão de recursos ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) |
int |
timeoutSeconds |
Número de segundos após o qual a investigação atinge o tempo limite. O padrão é 1 segundo. O valor mínimo é 1. O valor máximo é 240. |
int |
tipo |
O tipo de investigação. |
'Liveness' 'Preparação' 'Inicialização' |
ContainerAppProbeHttpGet
Nome |
Descrição |
Valor |
anfitrião |
O nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders. |
corda |
httpHeaders |
Cabeçalhos personalizados a serem definidos na solicitação. HTTP permite cabeçalhos repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem[] |
caminho |
Caminho para acesso no servidor HTTP. |
corda |
porta |
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' |
Nome |
Descrição |
Valor |
nome |
O nome do campo de cabeçalho |
cadeia de caracteres (obrigatório) |
valor |
O valor do campo de cabeçalho |
cadeia de caracteres (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 |
porta |
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, "250 Mb" |
corda |
EnvironmentVar
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 de variável de ambiente não secreto. |
corda |
InitContainer
Nome |
Descrição |
Valor |
args |
Argumentos de comando de início de contêiner. |
string[] |
comando |
Comando de início do contêiner. |
string[] |
Env |
Variáveis de ambiente de contêiner. |
EnvironmentVar [] |
imagem |
Marca de imagem de contêiner. |
corda |
nome |
Nome do contêiner personalizado. |
corda |
Recursos |
Requisitos de recursos de contêiner. |
ContainerResources |
volumeMounts |
Montagens de volume de contêiner. |
VolumeMount [] |
JobConfiguration
Nome |
Descrição |
Valor |
eventTriggerConfig |
Disparar a configuração de um trabalho controlado por eventos. |
JobConfigurationEventTriggerConfig |
manualTriggerConfig |
Configuração de gatilho manual para um único trabalho de execução. Propriedades replicaCompletionCount e paralelismo seriam definidos como 1 por padrão |
JobConfigurationManualTriggerConfig |
Registros |
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 no trabalho. |
int |
replicaTimeout |
O número máximo de segundos que uma réplica tem permissão para ser executada. |
int (obrigatório) |
scheduleTriggerConfig |
Agendamento de gatilho repetido formatado por cron ("* * * * * *") para cronjobs. Conclusões de propriedades e paralelismo seriam definidos como 1 por padrão |
JobConfigurationScheduleTriggerConfig |
Segredos |
Coleção de segredos usados por um trabalho de Aplicativos de Contêiner |
secret[] |
triggerType |
Tipo de gatilho do trabalho |
'Evento' 'Manual' 'Agendamento' (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 conclusões de réplica bem-sucedidas antes da conclusão geral do trabalho. |
int |
escala |
Configurações de dimensionamento para trabalhos controlados por eventos. |
do JobScale |
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 conclusões de réplica bem-sucedidas antes da conclusão geral do trabalho. |
int |
JobConfigurationScheduleTriggerConfig
Nome |
Descrição |
Valor |
cronExpression |
Agenda de repetição formatada por cron ("* * * * * *") de um Trabalho Cron. |
cadeia de caracteres (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 conclusões de réplica 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 trabalho de Aplicativos de Contêiner. |
JobTemplate |
workloadProfileName |
Nome do perfil de carga de trabalho a ser fixado na execução do trabalho de aplicativos de contêiner. |
corda |
JobScale
Nome |
Descrição |
Valor |
maxExecutions |
Número máximo de execuções de trabalho que são criadas para um gatilho, padrão 100. |
int |
minExecutions |
Número mínimo de execuções de trabalho que são criadas para um gatilho, padrão 0 |
int |
pollingInterval |
Intervalo para verificar cada fonte de evento em segundos. O padrão é 30s |
int |
réguas |
Regras de dimensionamento. |
JobScaleRule[] |
JobScaleRule
Nome |
Descrição |
Valor |
Auth |
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 da regra de escala por exemplo: azure-servicebus, redis etc. |
corda |
JobTemplate
Nome |
Descrição |
Valor |
Recipientes |
Lista de definições de contêiner para o Aplicativo de Contêiner. |
de contêiner [] |
initContainers |
Lista de contêineres especializados que são executados antes dos contêineres de aplicativo. |
initContainer[] |
Volumes |
Lista de definições de volume para o Aplicativo de Contêiner. |
de volume [] |
ManagedServiceIdentity
Nome |
Descrição |
Valor |
tipo |
Tipo de identidade de serviço gerenciado (em que os tipos SystemAssigned e UserAssigned são permitidos). |
'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obrigatório) |
userAssignedIdentities |
O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores do dicionário podem ser objetos vazios ({}) em solicitações. |
UserAssignedIdentities |
Microsoft.App/jobs
Nome |
Descrição |
Valor |
identidade |
Identidades gerenciadas necessárias por um trabalho de aplicativo de contêiner para interagir com outros serviços do Azure para não manter segredos ou credenciais no código. |
ManagedServiceIdentity |
localização |
A localização geográfica onde o recurso reside |
cadeia de caracteres (obrigatório) |
nome |
O nome do recurso |
corda
Restrições: Padrão = ^[-\w\._\(\)]+$ (obrigatório) |
Propriedades |
Propriedades específicas do recurso de Trabalho de Aplicativos de Contêiner. |
JobProperties |
Tags |
Marcas de recurso |
Dicionário de nomes e valores de marca. |
tipo |
O tipo de recurso |
"Microsoft.App/jobs@2023-05-02-preview" |
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 a ID completa do recurso de identidade atribuída pelo usuário. Para identidades atribuídas pelo sistema, use 'system' |
corda |
passwordSecretRef |
O nome do Segredo que contém a senha de logon do Registro |
corda |
servidor |
Servidor do Registro de Contêiner |
corda |
nome de usuário |
Nome de usuário do Registro de Contêiner |
corda |
ScaleRuleAuth
Nome |
Descrição |
Valor |
secretRef |
Nome do segredo do qual efetuar pull dos parâmetros de autenticação. |
corda |
triggerParameter |
Parâmetro de gatilho que usa o segredo |
corda |
Segredo
Nome |
Descrição |
Valor |
identidade |
ID de recurso de uma identidade gerenciada para autenticar com o Azure Key Vault ou o Sistema para usar uma identidade atribuída pelo sistema. |
corda |
keyVaultUrl |
URL do Azure Key Vault apontando para o segredo referenciado pelo aplicativo de contêiner. |
corda |
nome |
Nome do segredo. |
corda |
valor |
Valor secreto. |
corda
Restrições: Valor confidencial. Passe como um parâmetro seguro. |
SecretVolumeItem
Nome |
Descrição |
Valor |
caminho |
Caminho para o segredo do projeto. Se nenhum caminho for fornecido, o caminho usará como padrão o nome do segredo listado em secretRef. |
corda |
secretRef |
Nome do segredo do Aplicativo de Contêiner do qual extrair o valor do segredo. |
corda |
UserAssignedIdentities
UserAssignedIdentity
Volume
Nome |
Descrição |
Valor |
mountOptions |
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 no volume. Se nenhum segredo for fornecido, todos os segredos da coleção serão adicionados ao volume. |
SecretVolumeItem [] |
storageName |
Nome do recurso de armazenamento. Não é necessário fornecer para EmptyDir e Secret. |
corda |
storageType |
Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. |
'AzureFile' 'EmptyDir' 'Segredo' |
VolumeMount
Nome |
Descrição |
Valor |
mountPath |
Caminho dentro do contêiner no qual o volume deve ser montado. Não deve conter ':'. |
corda |
subPath |
Caminho dentro do volume do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). |
corda |
volumeName |
Isso deve corresponder ao nome de um volume. |
corda |
Exemplos de uso
Módulos verificados do Azure
O módulos verificados do Azure a seguir pode ser usado para implantar esse tipo de recurso.