Definição de recurso de modelo ARM
O tipo de recurso containerApps pode ser implantado com operações direcionadas:
Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.
Para criar um recurso Microsoft.App/containerApps, adicione o JSON a seguir ao seu modelo.
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2025-07-01",
"name": "string",
"extendedLocation": {
"name": "string",
"type": "string"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"kind": "string",
"location": "string",
"managedBy": "string",
"properties": {
"configuration": {
"activeRevisionsMode": "string",
"dapr": {
"appHealth": {
"enabled": "bool",
"path": "string",
"probeIntervalSeconds": "int",
"probeTimeoutMilliseconds": "int",
"threshold": "int"
},
"appId": "string",
"appPort": "int",
"appProtocol": "string",
"enableApiLogging": "bool",
"enabled": "bool",
"httpMaxRequestSize": "int",
"httpReadBufferSize": "int",
"logLevel": "string",
"maxConcurrency": "int"
},
"identitySettings": [
{
"identity": "string",
"lifecycle": "string"
}
],
"ingress": {
"additionalPortMappings": [
{
"exposedPort": "int",
"external": "bool",
"targetPort": "int"
}
],
"allowInsecure": "bool",
"clientCertificateMode": "string",
"corsPolicy": {
"allowCredentials": "bool",
"allowedHeaders": [ "string" ],
"allowedMethods": [ "string" ],
"allowedOrigins": [ "string" ],
"exposeHeaders": [ "string" ],
"maxAge": "int"
},
"customDomains": [
{
"bindingType": "string",
"certificateId": "string",
"name": "string"
}
],
"exposedPort": "int",
"external": "bool",
"ipSecurityRestrictions": [
{
"action": "string",
"description": "string",
"ipAddressRange": "string",
"name": "string"
}
],
"stickySessions": {
"affinity": "string"
},
"targetPort": "int",
"traffic": [
{
"label": "string",
"latestRevision": "bool",
"revisionName": "string",
"weight": "int"
}
],
"transport": "string"
},
"maxInactiveRevisions": "int",
"registries": [
{
"identity": "string",
"passwordSecretRef": "string",
"server": "string",
"username": "string"
}
],
"runtime": {
"java": {
"enableMetrics": "bool"
}
},
"secrets": [
{
"identity": "string",
"keyVaultUrl": "string",
"name": "string",
"value": "string"
}
],
"service": {
"type": "string"
}
},
"environmentId": "string",
"managedEnvironmentId": "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"
}
]
}
],
"revisionSuffix": "string",
"scale": {
"cooldownPeriod": "int",
"maxReplicas": "int",
"minReplicas": "int",
"pollingInterval": "int",
"rules": [
{
"azureQueue": {
"accountName": "string",
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"identity": "string",
"queueLength": "int",
"queueName": "string"
},
"custom": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"identity": "string",
"metadata": {
"{customized property}": "string"
},
"type": "string"
},
"http": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"identity": "string",
"metadata": {
"{customized property}": "string"
}
},
"name": "string",
"tcp": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"identity": "string",
"metadata": {
"{customized property}": "string"
}
}
}
]
},
"serviceBinds": [
{
"name": "string",
"serviceId": "string"
}
],
"terminationGracePeriodSeconds": "int",
"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/containerApps
| Nome |
Descrição |
Valor |
| Versão da API |
A versão api |
'2025-07-01' |
| extendedLocalização |
O tipo complexo do local estendido. |
Localização Estendida |
| identidade |
identidades gerenciadas para o Aplicativo de Contêiner interagir com outros serviços do Azure sem manter segredos ou credenciais no código. |
ManagedServiceIdentity |
| tipo |
Metadados para representar o tipo de aplicativo de contêiner, representando se um aplicativo de contêiner é workflowapp ou functionapp. |
'FunctionApp' 'WorkflowApp' |
| localização |
A geolocalização onde o recurso vive |
string (obrigatório) |
| gerenciado por |
A ID de recurso totalmente qualificada do recurso que gerencia esse recurso. Indica se esse recurso é gerenciado por outro recurso do Azure. Se isso estiver presente, a implantação em modo completo não excluirá o recurso se ele for removido do modelo, uma vez que é gerenciado por outro recurso. |
cadeia (de caracteres) |
| nome |
O nome do recurso |
string (obrigatório) |
| propriedades |
Propriedades específicas do recurso ContainerApp |
ContainerAppProperties |
| etiquetas |
Tags de recursos |
Dicionário de nomes e valores de tags. Consulte Tags em modelos |
| tipo |
O tipo de recurso |
'Microsoft.App/containerApps' |
Configuração
| Nome |
Descrição |
Valor |
| activeRevisionsMode |
ActiveRevisionsMode controla como as revisões ativas são tratadas para o aplicativo Container:
<lista><item>Múltiplas: várias revisões podem estar ativas.</item><item>Único: Apenas uma revisão pode estar ativa de cada vez. Os pesos de revisão não podem ser usados neste modo. Se nenhum valor for fornecido, este é o padrão.</item></list> |
'Múltiplo' 'Solteiro' |
| DAPR |
Configuração de Dapr para o aplicativo de contêiner. |
Dapr |
| identitySettings |
Configurações opcionais para Identidades Gerenciadas atribuídas ao Aplicativo de Contêiner. Se uma Identidade Gerenciada não for especificada aqui, as configurações padrão serão usadas. |
IdentitySettings[] |
| entrada |
Configurações de ingresso. |
Entrada |
| maxInactiveRevisions |
Opcional. Máximo de revisões inativas que um aplicativo de contêiner pode ter. |
Int |
| registos |
Coleta de credenciais de registro de contêiner privado para contêineres usados pelo aplicativo Contêiner |
RegistryCredentials[] |
| runtime |
Configuração de tempo de execução do aplicativo para o aplicativo de contêiner. |
Tempo de execução |
| segredos |
Coleção de segredos usados por um aplicativo Container |
Secreto [] |
| serviço |
Aplicativo de contêiner para ser um serviço de aplicativo de contêiner de desenvolvimento |
Serviço |
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. |
cadeia (de caracteres) |
| nome |
Nome do contêiner personalizado. |
cadeia (de caracteres) |
| 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 |
| alojar |
Nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders em vez disso. |
cadeia (de caracteres) |
| Cabeçalhos HTTP |
Cabeçalhos personalizados para definir na solicitação. HTTP permite cabeçalhos repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem [] |
| caminho |
Caminho de acesso no servidor HTTP. |
cadeia (de caracteres) |
| 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 |
string (obrigatório) |
| valor |
O valor do campo de cabeçalho |
string (obrigatório) |
ContainerAppProbeTcpSocket
| Nome |
Descrição |
Valor |
| alojar |
Opcional: Nome do host ao qual se conectar, o padrão é o IP do pod. |
cadeia (de caracteres) |
| 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) |
ContainerAppProperties
| Nome |
Descrição |
Valor |
| configuração |
Propriedades de configuração do aplicativo de contêiner sem versão. |
Configuração |
| environmentId |
ID do recurso do ambiente. |
cadeia (de caracteres) |
| managedEnvironmentId |
Preterido. ID do recurso do ambiente do aplicativo de contêiner. |
cadeia (de caracteres) |
| modelo |
Definição de aplicativo com versão do aplicativo de contêiner. |
Modelo |
| workloadProfileName |
Nome do perfil da carga de trabalho a ser fixado para a execução do aplicativo de contêiner. |
cadeia (de caracteres) |
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" |
cadeia (de caracteres) |
CorsPolicy
| Nome |
Descrição |
Valor |
| allowCredentials |
Especifica se o recurso permite credenciais |
Bool |
| allowedCabeçalhos |
Especifica o conteúdo do cabeçalho access-control-allow-headers |
string[] |
| allowedMethods |
Especifica o conteúdo para o cabeçalho access-control-allow-methods |
string[] |
| allowedOrigens |
Especifica o conteúdo do cabeçalho access-control-allow-origins |
string[] (obrigatório) |
| exposeHeaders |
Especifica o conteúdo do cabeçalho access-control-expose-headers |
string[] |
| maxIdade |
Especifica o conteúdo para o cabeçalho access-control-max-age |
Int |
Domínio Personalizado
| Nome |
Descrição |
Valor |
| bindingType |
Tipo de vinculação de domínio personalizado. |
'Auto' 'Desativado' 'SniEnabled' |
| certificateId |
ID do recurso do certificado a ser vinculado a esse nome de host. Deve existir no Ambiente Gerenciado. |
cadeia (de caracteres) |
| nome |
Nome do host. |
string (obrigatório) |
CustomScaleRule
| Nome |
Descrição |
Valor |
| autenticação |
Segredos de autenticação para a regra de escala personalizada. |
ScaleRuleAuth[] |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
cadeia (de caracteres) |
| metadados |
Propriedades de metadados para descrever a regra de escala personalizada. |
CustomScaleRuleMetadata |
| tipo |
Tipo de regra de escala personalizada Por exemplo: Azure-ServiceBus, Redis etc. |
cadeia (de caracteres) |
Dapr
| Nome |
Descrição |
Valor |
| appSaúde |
Configuração de verificação de integridade do aplicativo Dapr |
DaprAppHealth |
| ID do aplicativo |
Identificador do aplicativo Dapr |
cadeia (de caracteres) |
| appPort |
Informa ao Dapr em qual porta seu aplicativo está escutando |
Int |
| appProtocolo |
Informa ao Dapr qual protocolo seu aplicativo está usando. As opções válidas são http e grpc. O padrão é http |
'GRPC' «http» |
| enableApiLogging |
Habilita o registro de API para o sidecar Dapr |
Bool |
| habilitado |
Boolean indicando se o carro lateral Dapr está ativado |
Bool |
| httpMaxRequestSize |
Aumento do tamanho máximo do corpo da solicitação http e grpc servers parâmetro em MB para lidar com o upload de arquivos grandes. O padrão é 4 MB. |
Int |
| httpReadBufferSize |
Dapr tamanho máximo do buffer de leitura de cabeçalho http em KB para manipular ao enviar cabeçalhos multi-KB. O padrão é 65KB. |
Int |
| logNível |
Define o nível de log para o sidecar Dapr. Os valores permitidos são debug, info, warn, error. O padrão é info. |
'Depurar' 'erro' 'informação' 'Avisar' |
| maxConcorrência |
Número máximo de solicitações simultâneas, eventos tratados pelo sidecar Dapr |
Int |
DaprAppHealth
| Nome |
Descrição |
Valor |
| habilitado |
Booleano indicando se a sonda de integridade está ativada |
Bool |
| caminho |
Caminho para a sonda de saúde |
cadeia (de caracteres) |
| probeIntervalSeconds |
Intervalo para a sonda de integridade em segundos |
Int
Restrições: Valor mínimo = 1 |
| probeTimeoutMilissegundos |
Tempo limite para a sonda de integridade em milissegundos |
Int
Restrições: Valor mínimo = 1 |
| limiar |
Limiar para a sonda de saúde |
Int
Restrições: Valor mínimo = 1 |
Variável de Ambiente
| Nome |
Descrição |
Valor |
| nome |
Nome da variável de ambiente. |
cadeia (de caracteres) |
| secretRef |
Nome do segredo do aplicativo de contêiner do qual extrair o valor da variável de ambiente. |
cadeia (de caracteres) |
| valor |
Valor da variável de ambiente não secreto. |
cadeia (de caracteres) |
Localização Estendida
| Nome |
Descrição |
Valor |
| nome |
O nome do local estendido. |
cadeia (de caracteres) |
| tipo |
O tipo de localização ampliada. |
'Localização personalizada' |
HttpScaleRule
| Nome |
Descrição |
Valor |
| autenticação |
Segredos de autenticação para a regra de escala personalizada. |
ScaleRuleAuth[] |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
cadeia (de caracteres) |
| metadados |
Propriedades de metadados para descrever a regra de escala http. |
HttpScaleRuleMetadata |
IdentitySettings
| Nome |
Descrição |
Valor |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
string (obrigatório) |
| ciclo de vida |
Use para selecionar os estágios do ciclo de vida de um Aplicativo de Contêiner durante os quais a Identidade Gerenciada deve estar disponível. |
'Todos' 'Init' 'Principal' 'Nenhuma' |
Entrada
| Nome |
Descrição |
Valor |
| adicionalPortMappings |
Configurações para expor portas adicionais no aplicativo de contêiner |
IngressPortMapping [] |
| permitirInsecure |
Bool indicando se conexões HTTP para é permitido. Se definido como false conexões HTTP são automaticamente redirecionados para conexões HTTPS |
Bool |
| clientCertificateMode |
Modo de certificado de cliente para autenticação mTLS. Ignorar indica que o servidor descarta o certificado do cliente no encaminhamento. Accept indica que o servidor encaminha o certificado do cliente, mas não requer um certificado do cliente. Require indica que o servidor requer um certificado de cliente. |
'aceitar' 'ignorar' 'exigir' |
| corsPolítica |
Política CORS para aplicativo de contêiner |
CorsPolicy |
| domínios personalizados |
associações de domínio personalizadas para nomes de host de Aplicativos de Contêiner. |
CustomDomain [] |
| exposedPort |
Porta exposta em contêineres para tráfego TCP de entrada |
Int |
| externo |
Bool indicando se o aplicativo expõe um ponto de extremidade http externo |
Bool |
| ipSecurityRestrições |
Regras para restringir o endereço IP de entrada. |
IpSecurityRestrictionRule[] |
| stickySessões |
Sessões adesivas para o modo de revisão única |
IngressStickySessions |
| Porto-alvo |
Porta de destino em contêineres para tráfego de entrada |
Int |
| tráfego |
Pesos de tráfego para revisões de aplicativos |
TrafficWeight [] |
| Transportes |
Protocolo de transporte de entrada |
'Auto' «http» «http2» 'TCP' |
IngressPortMapping
| Nome |
Descrição |
Valor |
| exposedPort |
Especifica a porta exposta para a porta de destino. Se não for especificado, o padrão será a porta de destino |
Int |
| externo |
Especifica se a porta do aplicativo é acessível fora do ambiente |
bool (obrigatório) |
| Porto-alvo |
Especifica que o contêiner do usuário da porta escuta |
int (obrigatório) |
IngressStickySessions
| Nome |
Descrição |
Valor |
| afinidade |
Afinidade de sessão adesiva |
'nenhuma' 'Pegajoso' |
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. |
cadeia (de caracteres) |
| nome |
Nome do contêiner personalizado. |
cadeia (de caracteres) |
| Recursos |
Requisitos de recursos de contêiner. |
ContainerResources |
| volumeMontagens |
Montagens de volume de recipiente. |
VolumeMount[] |
IpSecurityRestrictionRule
| Nome |
Descrição |
Valor |
| ação |
Permitir ou Negar regras para determinar o IP de entrada. Nota: As regras só podem consistir em TODOS Permitir ou TODOS Negar |
'Permitir' 'Negar' (obrigatório) |
| descrição |
Descreva a regra de restrição de IP que está sendo enviada para o contêiner-app. Este é um campo opcional. |
cadeia (de caracteres) |
| ipAddressRange |
Notação CIDR para corresponder ao endereço IP de entrada |
string (obrigatório) |
| nome |
Nome para a regra de restrição de IP. |
string (obrigatório) |
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 |
QueueScaleRule
| Nome |
Descrição |
Valor |
| nome da conta |
Nome da conta de armazenamento. Obrigatório se estiver usando a identidade gerenciada para autenticar |
cadeia (de caracteres) |
| autenticação |
Segredos de autenticação para a regra de escala de fila. |
ScaleRuleAuth[] |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
cadeia (de caracteres) |
| comprimento da fila |
Comprimento da fila. |
Int |
| Nome da Fila |
Nome da fila. |
cadeia (de caracteres) |
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' |
cadeia (de caracteres) |
| senhaSecretRef |
O nome do segredo que contém a senha de login do registro |
cadeia (de caracteres) |
| servidor |
Servidor de Registro de Contêiner |
cadeia (de caracteres) |
| nome de utilizador |
Nome de usuário do Registro de contêiner |
cadeia (de caracteres) |
Tempo de execução
| Nome |
Descrição |
Valor |
| Java |
Configuração do aplicativo Java |
RuntimeJava |
RuntimeJava
| Nome |
Descrição |
Valor |
| enableMetrics |
Habilitar métricas principais jmx para o aplicativo java |
Bool |
Escala
| Nome |
Descrição |
Valor |
| período de arrefecimento |
Opcional. Período de Cooldown KEDA em segundos. O padrão é de 300 segundos se não estiver definido. |
Int |
| maxRéplicas |
Opcional. Número máximo de réplicas de contêiner. O padrão é 10 se não estiver definido. |
Int |
| minRéplicas |
Opcional. Número mínimo de réplicas de contêiner. |
Int |
| pollingInterval |
Opcional. Intervalo de sondagem KEDA em segundos. O padrão é de 30 segundos se não estiver definido. |
Int |
| regras |
Regras de dimensionamento. |
ScaleRule [] |
Regra de Escala
| Nome |
Descrição |
Valor |
| azureQueue |
Escalonamento baseado em fila do Azure. |
QueueScaleRule |
| Personalizado |
Regra de escala personalizada. |
CustomScaleRule |
| http |
Dimensionamento baseado em solicitações HTTP. |
HttpScaleRule |
| nome |
Nome da regra de escala |
cadeia (de caracteres) |
| TCP |
Dimensionamento baseado em solicitações Tcp. |
TcpScaleRule |
ScaleRuleAuth
| Nome |
Descrição |
Valor |
| secretRef |
Nome do segredo do qual puxar os parâmetros de autenticação. |
cadeia (de caracteres) |
| triggerParâmetro |
Parâmetro Trigger que usa o segredo |
cadeia (de caracteres) |
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. |
cadeia (de caracteres) |
| keyVaultUrl |
URL do Cofre da Chave do Azure apontando para o segredo referenciado pelo aplicativo contêiner. |
cadeia (de caracteres) |
| nome |
Nome secreto. |
cadeia (de caracteres) |
| 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. |
cadeia (de caracteres) |
| secretRef |
Nome do segredo do aplicativo de contêiner do qual extrair o valor secreto. |
cadeia (de caracteres) |
Serviço
| Nome |
Descrição |
Valor |
| tipo |
Tipo de serviço Dev ContainerApp |
string (obrigatório) |
ServiceBind
| Nome |
Descrição |
Valor |
| nome |
Nome da ligação de serviço |
cadeia (de caracteres) |
| serviceId |
ID do recurso do serviço de destino |
cadeia (de caracteres) |
TcpScaleRule
| Nome |
Descrição |
Valor |
| autenticação |
Segredos de autenticação para a regra de escala tcp. |
ScaleRuleAuth[] |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
cadeia (de caracteres) |
| metadados |
Propriedades de metadados para descrever a regra de escala tcp. |
TcpScaleRuleMetadata |
Modelo
| 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[] |
| revisionSuffix |
Sufixo amigável que é anexado ao nome da revisão |
cadeia (de caracteres) |
| ajustar |
Propriedades de dimensionamento para o aplicativo de contêiner. |
Escala |
| serviceBinds |
Lista de serviços de aplicativo de contêiner vinculados ao aplicativo |
ServiceBind[] |
| terminaçãoGracePeriodSeconds |
Duração opcional em segundos que a Instância do Aplicativo de Contêiner precisa encerrar normalmente. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente através do sinal de morte (sem oportunidade de encerrar). Se esse valor for nulo, o período de carência padrão será usado. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o seu processo. O padrão é de 30 segundos. |
Int |
| Volumes |
Lista de definições de volume para o aplicativo de contêiner. |
Volume[] |
TrafficWeight
| Nome |
Descrição |
Valor |
| etiqueta |
Associa um rótulo de tráfego a uma revisão |
cadeia (de caracteres) |
| mais recenteRevisão |
Indica que o peso do tráfego pertence a uma última revisão estável |
Bool |
| revisionName |
Nome de uma revisão |
cadeia (de caracteres) |
| peso |
Peso de tráfego atribuído a uma revisão |
Int |
UserAssignedIdentities
IdentidadeAtribuídaPeloUtilizador
Volume
| Nome |
Descrição |
Valor |
| mountOptions [en] |
Opções de montagem usadas durante a montagem do compartilhamento de arquivos do Azure ou do compartilhamento de arquivos do Azure NFS. Deve ser uma cadeia de caracteres separada por vírgula. |
cadeia (de caracteres) |
| nome |
Nome do volume. |
cadeia (de caracteres) |
| 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. |
cadeia (de caracteres) |
| tipo de armazenamento |
Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. |
'AzureFile' 'EmptyDir' 'NfsAzureFile' '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 «:». |
cadeia (de caracteres) |
| subCaminho |
Caminho dentro do volume a partir do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). |
cadeia (de caracteres) |
| nome_do_volume |
Isso deve corresponder ao Nome de um Volume. |
cadeia (de caracteres) |
Exemplos de uso
Modelos de início rápido do Azure
Os seguintes modelos de início rápido do Azure implantar esse tipo de recurso.
O tipo de recurso containerApps pode ser implantado com operações direcionadas:
Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.
Para criar um recurso Microsoft.App/containerApps, adicione o seguinte Terraform ao seu modelo.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/containerApps@2025-07-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
extendedLocation = {
name = "string"
type = "string"
}
kind = "string"
managedBy = "string"
properties = {
configuration = {
activeRevisionsMode = "string"
dapr = {
appHealth = {
enabled = bool
path = "string"
probeIntervalSeconds = int
probeTimeoutMilliseconds = int
threshold = int
}
appId = "string"
appPort = int
appProtocol = "string"
enableApiLogging = bool
enabled = bool
httpMaxRequestSize = int
httpReadBufferSize = int
logLevel = "string"
maxConcurrency = int
}
identitySettings = [
{
identity = "string"
lifecycle = "string"
}
]
ingress = {
additionalPortMappings = [
{
exposedPort = int
external = bool
targetPort = int
}
]
allowInsecure = bool
clientCertificateMode = "string"
corsPolicy = {
allowCredentials = bool
allowedHeaders = [
"string"
]
allowedMethods = [
"string"
]
allowedOrigins = [
"string"
]
exposeHeaders = [
"string"
]
maxAge = int
}
customDomains = [
{
bindingType = "string"
certificateId = "string"
name = "string"
}
]
exposedPort = int
external = bool
ipSecurityRestrictions = [
{
action = "string"
description = "string"
ipAddressRange = "string"
name = "string"
}
]
stickySessions = {
affinity = "string"
}
targetPort = int
traffic = [
{
label = "string"
latestRevision = bool
revisionName = "string"
weight = int
}
]
transport = "string"
}
maxInactiveRevisions = int
registries = [
{
identity = "string"
passwordSecretRef = "string"
server = "string"
username = "string"
}
]
runtime = {
java = {
enableMetrics = bool
}
}
secrets = [
{
identity = "string"
keyVaultUrl = "string"
name = "string"
value = "string"
}
]
service = {
type = "string"
}
}
environmentId = "string"
managedEnvironmentId = "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"
}
]
}
]
revisionSuffix = "string"
scale = {
cooldownPeriod = int
maxReplicas = int
minReplicas = int
pollingInterval = int
rules = [
{
azureQueue = {
accountName = "string"
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
identity = "string"
queueLength = int
queueName = "string"
}
custom = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
identity = "string"
metadata = {
{customized property} = "string"
}
type = "string"
}
http = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
identity = "string"
metadata = {
{customized property} = "string"
}
}
name = "string"
tcp = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
identity = "string"
metadata = {
{customized property} = "string"
}
}
}
]
}
serviceBinds = [
{
name = "string"
serviceId = "string"
}
]
terminationGracePeriodSeconds = int
volumes = [
{
mountOptions = "string"
name = "string"
secrets = [
{
path = "string"
secretRef = "string"
}
]
storageName = "string"
storageType = "string"
}
]
}
workloadProfileName = "string"
}
}
}
Valores de propriedade
Microsoft.App/containerApps
| Nome |
Descrição |
Valor |
| extendedLocalização |
O tipo complexo do local estendido. |
Localização Estendida |
| identidade |
identidades gerenciadas para o Aplicativo de Contêiner interagir com outros serviços do Azure sem manter segredos ou credenciais no código. |
ManagedServiceIdentity |
| tipo |
Metadados para representar o tipo de aplicativo de contêiner, representando se um aplicativo de contêiner é workflowapp ou functionapp. |
'FunctionApp' 'WorkflowApp' |
| localização |
A geolocalização onde o recurso vive |
string (obrigatório) |
| gerenciado por |
A ID de recurso totalmente qualificada do recurso que gerencia esse recurso. Indica se esse recurso é gerenciado por outro recurso do Azure. Se isso estiver presente, a implantação em modo completo não excluirá o recurso se ele for removido do modelo, uma vez que é gerenciado por outro recurso. |
cadeia (de caracteres) |
| nome |
O nome do recurso |
string (obrigatório) |
| parent_id |
A ID do recurso ao qual aplicar esse recurso de extensão. |
string (obrigatório) |
| propriedades |
Propriedades específicas do recurso ContainerApp |
ContainerAppProperties |
| etiquetas |
Tags de recursos |
Dicionário de nomes e valores de tags. |
| tipo |
O tipo de recurso |
"Microsoft.App/containerApps@2025-07-01" |
Configuração
| Nome |
Descrição |
Valor |
| activeRevisionsMode |
ActiveRevisionsMode controla como as revisões ativas são tratadas para o aplicativo Container:
<lista><item>Múltiplas: várias revisões podem estar ativas.</item><item>Único: Apenas uma revisão pode estar ativa de cada vez. Os pesos de revisão não podem ser usados neste modo. Se nenhum valor for fornecido, este é o padrão.</item></list> |
'Múltiplo' 'Solteiro' |
| DAPR |
Configuração de Dapr para o aplicativo de contêiner. |
Dapr |
| identitySettings |
Configurações opcionais para Identidades Gerenciadas atribuídas ao Aplicativo de Contêiner. Se uma Identidade Gerenciada não for especificada aqui, as configurações padrão serão usadas. |
IdentitySettings[] |
| entrada |
Configurações de ingresso. |
Entrada |
| maxInactiveRevisions |
Opcional. Máximo de revisões inativas que um aplicativo de contêiner pode ter. |
Int |
| registos |
Coleta de credenciais de registro de contêiner privado para contêineres usados pelo aplicativo Contêiner |
RegistryCredentials[] |
| runtime |
Configuração de tempo de execução do aplicativo para o aplicativo de contêiner. |
Tempo de execução |
| segredos |
Coleção de segredos usados por um aplicativo Container |
Secreto [] |
| serviço |
Aplicativo de contêiner para ser um serviço de aplicativo de contêiner de desenvolvimento |
Serviço |
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. |
cadeia (de caracteres) |
| nome |
Nome do contêiner personalizado. |
cadeia (de caracteres) |
| 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 |
| alojar |
Nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders em vez disso. |
cadeia (de caracteres) |
| Cabeçalhos HTTP |
Cabeçalhos personalizados para definir na solicitação. HTTP permite cabeçalhos repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem [] |
| caminho |
Caminho de acesso no servidor HTTP. |
cadeia (de caracteres) |
| 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 |
string (obrigatório) |
| valor |
O valor do campo de cabeçalho |
string (obrigatório) |
ContainerAppProbeTcpSocket
| Nome |
Descrição |
Valor |
| alojar |
Opcional: Nome do host ao qual se conectar, o padrão é o IP do pod. |
cadeia (de caracteres) |
| 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) |
ContainerAppProperties
| Nome |
Descrição |
Valor |
| configuração |
Propriedades de configuração do aplicativo de contêiner sem versão. |
Configuração |
| environmentId |
ID do recurso do ambiente. |
cadeia (de caracteres) |
| managedEnvironmentId |
Preterido. ID do recurso do ambiente do aplicativo de contêiner. |
cadeia (de caracteres) |
| modelo |
Definição de aplicativo com versão do aplicativo de contêiner. |
Modelo |
| workloadProfileName |
Nome do perfil da carga de trabalho a ser fixado para a execução do aplicativo de contêiner. |
cadeia (de caracteres) |
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" |
cadeia (de caracteres) |
CorsPolicy
| Nome |
Descrição |
Valor |
| allowCredentials |
Especifica se o recurso permite credenciais |
Bool |
| allowedCabeçalhos |
Especifica o conteúdo do cabeçalho access-control-allow-headers |
string[] |
| allowedMethods |
Especifica o conteúdo para o cabeçalho access-control-allow-methods |
string[] |
| allowedOrigens |
Especifica o conteúdo do cabeçalho access-control-allow-origins |
string[] (obrigatório) |
| exposeHeaders |
Especifica o conteúdo do cabeçalho access-control-expose-headers |
string[] |
| maxIdade |
Especifica o conteúdo para o cabeçalho access-control-max-age |
Int |
Domínio Personalizado
| Nome |
Descrição |
Valor |
| bindingType |
Tipo de vinculação de domínio personalizado. |
'Auto' 'Desativado' 'SniEnabled' |
| certificateId |
ID do recurso do certificado a ser vinculado a esse nome de host. Deve existir no Ambiente Gerenciado. |
cadeia (de caracteres) |
| nome |
Nome do host. |
string (obrigatório) |
CustomScaleRule
| Nome |
Descrição |
Valor |
| autenticação |
Segredos de autenticação para a regra de escala personalizada. |
ScaleRuleAuth[] |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
cadeia (de caracteres) |
| metadados |
Propriedades de metadados para descrever a regra de escala personalizada. |
CustomScaleRuleMetadata |
| tipo |
Tipo de regra de escala personalizada Por exemplo: Azure-ServiceBus, Redis etc. |
cadeia (de caracteres) |
Dapr
| Nome |
Descrição |
Valor |
| appSaúde |
Configuração de verificação de integridade do aplicativo Dapr |
DaprAppHealth |
| ID do aplicativo |
Identificador do aplicativo Dapr |
cadeia (de caracteres) |
| appPort |
Informa ao Dapr em qual porta seu aplicativo está escutando |
Int |
| appProtocolo |
Informa ao Dapr qual protocolo seu aplicativo está usando. As opções válidas são http e grpc. O padrão é http |
'GRPC' «http» |
| enableApiLogging |
Habilita o registro de API para o sidecar Dapr |
Bool |
| habilitado |
Boolean indicando se o carro lateral Dapr está ativado |
Bool |
| httpMaxRequestSize |
Aumento do tamanho máximo do corpo da solicitação http e grpc servers parâmetro em MB para lidar com o upload de arquivos grandes. O padrão é 4 MB. |
Int |
| httpReadBufferSize |
Dapr tamanho máximo do buffer de leitura de cabeçalho http em KB para manipular ao enviar cabeçalhos multi-KB. O padrão é 65KB. |
Int |
| logNível |
Define o nível de log para o sidecar Dapr. Os valores permitidos são debug, info, warn, error. O padrão é info. |
'Depurar' 'erro' 'informação' 'Avisar' |
| maxConcorrência |
Número máximo de solicitações simultâneas, eventos tratados pelo sidecar Dapr |
Int |
DaprAppHealth
| Nome |
Descrição |
Valor |
| habilitado |
Booleano indicando se a sonda de integridade está ativada |
Bool |
| caminho |
Caminho para a sonda de saúde |
cadeia (de caracteres) |
| probeIntervalSeconds |
Intervalo para a sonda de integridade em segundos |
Int
Restrições: Valor mínimo = 1 |
| probeTimeoutMilissegundos |
Tempo limite para a sonda de integridade em milissegundos |
Int
Restrições: Valor mínimo = 1 |
| limiar |
Limiar para a sonda de saúde |
Int
Restrições: Valor mínimo = 1 |
Variável de Ambiente
| Nome |
Descrição |
Valor |
| nome |
Nome da variável de ambiente. |
cadeia (de caracteres) |
| secretRef |
Nome do segredo do aplicativo de contêiner do qual extrair o valor da variável de ambiente. |
cadeia (de caracteres) |
| valor |
Valor da variável de ambiente não secreto. |
cadeia (de caracteres) |
Localização Estendida
| Nome |
Descrição |
Valor |
| nome |
O nome do local estendido. |
cadeia (de caracteres) |
| tipo |
O tipo de localização ampliada. |
'Localização personalizada' |
HttpScaleRule
| Nome |
Descrição |
Valor |
| autenticação |
Segredos de autenticação para a regra de escala personalizada. |
ScaleRuleAuth[] |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
cadeia (de caracteres) |
| metadados |
Propriedades de metadados para descrever a regra de escala http. |
HttpScaleRuleMetadata |
IdentitySettings
| Nome |
Descrição |
Valor |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
string (obrigatório) |
| ciclo de vida |
Use para selecionar os estágios do ciclo de vida de um Aplicativo de Contêiner durante os quais a Identidade Gerenciada deve estar disponível. |
'Todos' 'Init' 'Principal' 'Nenhuma' |
Entrada
| Nome |
Descrição |
Valor |
| adicionalPortMappings |
Configurações para expor portas adicionais no aplicativo de contêiner |
IngressPortMapping [] |
| permitirInsecure |
Bool indicando se conexões HTTP para é permitido. Se definido como false conexões HTTP são automaticamente redirecionados para conexões HTTPS |
Bool |
| clientCertificateMode |
Modo de certificado de cliente para autenticação mTLS. Ignorar indica que o servidor descarta o certificado do cliente no encaminhamento. Accept indica que o servidor encaminha o certificado do cliente, mas não requer um certificado do cliente. Require indica que o servidor requer um certificado de cliente. |
'aceitar' 'ignorar' 'exigir' |
| corsPolítica |
Política CORS para aplicativo de contêiner |
CorsPolicy |
| domínios personalizados |
associações de domínio personalizadas para nomes de host de Aplicativos de Contêiner. |
CustomDomain [] |
| exposedPort |
Porta exposta em contêineres para tráfego TCP de entrada |
Int |
| externo |
Bool indicando se o aplicativo expõe um ponto de extremidade http externo |
Bool |
| ipSecurityRestrições |
Regras para restringir o endereço IP de entrada. |
IpSecurityRestrictionRule[] |
| stickySessões |
Sessões adesivas para o modo de revisão única |
IngressStickySessions |
| Porto-alvo |
Porta de destino em contêineres para tráfego de entrada |
Int |
| tráfego |
Pesos de tráfego para revisões de aplicativos |
TrafficWeight [] |
| Transportes |
Protocolo de transporte de entrada |
'Auto' «http» «http2» 'TCP' |
IngressPortMapping
| Nome |
Descrição |
Valor |
| exposedPort |
Especifica a porta exposta para a porta de destino. Se não for especificado, o padrão será a porta de destino |
Int |
| externo |
Especifica se a porta do aplicativo é acessível fora do ambiente |
bool (obrigatório) |
| Porto-alvo |
Especifica que o contêiner do usuário da porta escuta |
int (obrigatório) |
IngressStickySessions
| Nome |
Descrição |
Valor |
| afinidade |
Afinidade de sessão adesiva |
'nenhuma' 'Pegajoso' |
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. |
cadeia (de caracteres) |
| nome |
Nome do contêiner personalizado. |
cadeia (de caracteres) |
| Recursos |
Requisitos de recursos de contêiner. |
ContainerResources |
| volumeMontagens |
Montagens de volume de recipiente. |
VolumeMount[] |
IpSecurityRestrictionRule
| Nome |
Descrição |
Valor |
| ação |
Permitir ou Negar regras para determinar o IP de entrada. Nota: As regras só podem consistir em TODOS Permitir ou TODOS Negar |
'Permitir' 'Negar' (obrigatório) |
| descrição |
Descreva a regra de restrição de IP que está sendo enviada para o contêiner-app. Este é um campo opcional. |
cadeia (de caracteres) |
| ipAddressRange |
Notação CIDR para corresponder ao endereço IP de entrada |
string (obrigatório) |
| nome |
Nome para a regra de restrição de IP. |
string (obrigatório) |
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 |
QueueScaleRule
| Nome |
Descrição |
Valor |
| nome da conta |
Nome da conta de armazenamento. Obrigatório se estiver usando a identidade gerenciada para autenticar |
cadeia (de caracteres) |
| autenticação |
Segredos de autenticação para a regra de escala de fila. |
ScaleRuleAuth[] |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
cadeia (de caracteres) |
| comprimento da fila |
Comprimento da fila. |
Int |
| Nome da Fila |
Nome da fila. |
cadeia (de caracteres) |
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' |
cadeia (de caracteres) |
| senhaSecretRef |
O nome do segredo que contém a senha de login do registro |
cadeia (de caracteres) |
| servidor |
Servidor de Registro de Contêiner |
cadeia (de caracteres) |
| nome de utilizador |
Nome de usuário do Registro de contêiner |
cadeia (de caracteres) |
Tempo de execução
| Nome |
Descrição |
Valor |
| Java |
Configuração do aplicativo Java |
RuntimeJava |
RuntimeJava
| Nome |
Descrição |
Valor |
| enableMetrics |
Habilitar métricas principais jmx para o aplicativo java |
Bool |
Escala
| Nome |
Descrição |
Valor |
| período de arrefecimento |
Opcional. Período de Cooldown KEDA em segundos. O padrão é de 300 segundos se não estiver definido. |
Int |
| maxRéplicas |
Opcional. Número máximo de réplicas de contêiner. O padrão é 10 se não estiver definido. |
Int |
| minRéplicas |
Opcional. Número mínimo de réplicas de contêiner. |
Int |
| pollingInterval |
Opcional. Intervalo de sondagem KEDA em segundos. O padrão é de 30 segundos se não estiver definido. |
Int |
| regras |
Regras de dimensionamento. |
ScaleRule [] |
Regra de Escala
| Nome |
Descrição |
Valor |
| azureQueue |
Escalonamento baseado em fila do Azure. |
QueueScaleRule |
| Personalizado |
Regra de escala personalizada. |
CustomScaleRule |
| http |
Dimensionamento baseado em solicitações HTTP. |
HttpScaleRule |
| nome |
Nome da regra de escala |
cadeia (de caracteres) |
| TCP |
Dimensionamento baseado em solicitações Tcp. |
TcpScaleRule |
ScaleRuleAuth
| Nome |
Descrição |
Valor |
| secretRef |
Nome do segredo do qual puxar os parâmetros de autenticação. |
cadeia (de caracteres) |
| triggerParâmetro |
Parâmetro Trigger que usa o segredo |
cadeia (de caracteres) |
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. |
cadeia (de caracteres) |
| keyVaultUrl |
URL do Cofre da Chave do Azure apontando para o segredo referenciado pelo aplicativo contêiner. |
cadeia (de caracteres) |
| nome |
Nome secreto. |
cadeia (de caracteres) |
| 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. |
cadeia (de caracteres) |
| secretRef |
Nome do segredo do aplicativo de contêiner do qual extrair o valor secreto. |
cadeia (de caracteres) |
Serviço
| Nome |
Descrição |
Valor |
| tipo |
Tipo de serviço Dev ContainerApp |
string (obrigatório) |
ServiceBind
| Nome |
Descrição |
Valor |
| nome |
Nome da ligação de serviço |
cadeia (de caracteres) |
| serviceId |
ID do recurso do serviço de destino |
cadeia (de caracteres) |
TcpScaleRule
| Nome |
Descrição |
Valor |
| autenticação |
Segredos de autenticação para a regra de escala tcp. |
ScaleRuleAuth[] |
| identidade |
O ID de recurso de uma identidade gerenciada atribuída pelo usuário que é atribuída ao Aplicativo de Contêiner, ou 'sistema' para identidade atribuída ao sistema. |
cadeia (de caracteres) |
| metadados |
Propriedades de metadados para descrever a regra de escala tcp. |
TcpScaleRuleMetadata |
Modelo
| 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[] |
| revisionSuffix |
Sufixo amigável que é anexado ao nome da revisão |
cadeia (de caracteres) |
| ajustar |
Propriedades de dimensionamento para o aplicativo de contêiner. |
Escala |
| serviceBinds |
Lista de serviços de aplicativo de contêiner vinculados ao aplicativo |
ServiceBind[] |
| terminaçãoGracePeriodSeconds |
Duração opcional em segundos que a Instância do Aplicativo de Contêiner precisa encerrar normalmente. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente através do sinal de morte (sem oportunidade de encerrar). Se esse valor for nulo, o período de carência padrão será usado. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o seu processo. O padrão é de 30 segundos. |
Int |
| Volumes |
Lista de definições de volume para o aplicativo de contêiner. |
Volume[] |
TrafficWeight
| Nome |
Descrição |
Valor |
| etiqueta |
Associa um rótulo de tráfego a uma revisão |
cadeia (de caracteres) |
| mais recenteRevisão |
Indica que o peso do tráfego pertence a uma última revisão estável |
Bool |
| revisionName |
Nome de uma revisão |
cadeia (de caracteres) |
| peso |
Peso de tráfego atribuído a uma revisão |
Int |
UserAssignedIdentities
IdentidadeAtribuídaPeloUtilizador
Volume
| Nome |
Descrição |
Valor |
| mountOptions [en] |
Opções de montagem usadas durante a montagem do compartilhamento de arquivos do Azure ou do compartilhamento de arquivos do Azure NFS. Deve ser uma cadeia de caracteres separada por vírgula. |
cadeia (de caracteres) |
| nome |
Nome do volume. |
cadeia (de caracteres) |
| 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. |
cadeia (de caracteres) |
| tipo de armazenamento |
Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. |
'AzureFile' 'EmptyDir' 'NfsAzureFile' '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 «:». |
cadeia (de caracteres) |
| subCaminho |
Caminho dentro do volume a partir do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). |
cadeia (de caracteres) |
| nome_do_volume |
Isso deve corresponder ao Nome de um Volume. |
cadeia (de caracteres) |
Exemplos de uso
Um exemplo básico de implantação do Container App.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "workspace" {
type = "Microsoft.OperationalInsights/workspaces@2022-10-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
features = {
disableLocalAuth = false
enableLogAccessUsingOnlyResourcePermissions = true
}
publicNetworkAccessForIngestion = "Enabled"
publicNetworkAccessForQuery = "Enabled"
retentionInDays = 30
sku = {
name = "PerGB2018"
}
workspaceCapping = {
dailyQuotaGb = -1
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
data "azapi_resource_action" "sharedKeys" {
type = "Microsoft.OperationalInsights/workspaces@2020-08-01"
resource_id = azapi_resource.workspace.id
action = "sharedKeys"
response_export_values = ["*"]
}
resource "azapi_resource" "managedEnvironment" {
type = "Microsoft.App/managedEnvironments@2022-03-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
appLogsConfiguration = {
destination = "log-analytics"
logAnalyticsConfiguration = {
customerId = azapi_resource.workspace.output.properties.customerId
sharedKey = data.azapi_resource_action.sharedKeys.output.primarySharedKey
}
}
vnetConfiguration = {
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "containerApp" {
type = "Microsoft.App/containerApps@2022-03-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
configuration = {
activeRevisionsMode = "Single"
}
managedEnvironmentId = azapi_resource.managedEnvironment.id
template = {
containers = [
{
env = [
]
image = "jackofallops/azure-containerapps-python-acctest:v0.0.1"
name = "acctest-cont-230630032906865620"
probes = [
]
resources = {
cpu = 0.25
ephemeralStorage = "1Gi"
memory = "0.5Gi"
}
volumeMounts = [
]
},
]
scale = {
maxReplicas = 10
}
volumes = [
]
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Módulos verificados do Azure
Os seguintes de Módulos Verificados do Azure podem ser usados para implantar esse tipo de recurso.