Partilhar via


Microsoft.App containerApps

Definição de recursos do bíceps

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.

Formato do recurso

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

resource symbolicname 'Microsoft.App/containerApps@2025-07-01' = {
  scope: resourceSymbolicName or scope
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  kind: 'string'
  location: 'string'
  managedBy: 'string'
  name: '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
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
âmbito Use ao criar um recurso em um escopo diferente do escopo de implantação. Defina essa propriedade como o nome simbólico de um recurso para aplicar o recurso de extensão .
etiquetas Tags de recursos Dicionário de nomes e valores de tags. Consulte Tags em modelos

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'

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket

Nome Descrição Valor
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)

CustomScaleRuleMetadata

Nome Descrição Valor

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

HttpScaleRuleMetadata

Nome Descrição Valor

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

TcpScaleRuleMetadata

Nome Descrição Valor

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[]

TrackedResourceTags

Nome Descrição Valor

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

Nome Descrição Valor

IdentidadeAtribuídaPeloUtilizador

Nome Descrição Valor

Volume

Nome Descrição Valor
mountOptions [en] Opções de montagem usadas durante a montagem do 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

Módulos verificados do Azure

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

Módulo Descrição
Aplicativo de contêiner Módulo de recursos AVM para aplicativo de contêiner

Exemplos de início rápido do Azure

Os seguintes modelos início rápido do Azure contêm exemplos de Bicep para implantar esse tipo de recurso.

Arquivo Bicep Descrição
cria um aplicativo de contêiner e um ambiente com de registro Crie um Ambiente de Aplicativo de Contêiner com um Aplicativo de Contêiner básico a partir de um Registro de Contêiner do Azure. Ele também implanta um espaço de trabalho do Log Analytics para armazenar logs.
Cria um aplicativo de contêiner com uma regra de dimensionamento HTTP definida Crie um Ambiente de Aplicativo de Contêiner com um Aplicativo de Contêiner básico que é dimensionado com base no tráfego HTTP.
Cria um aplicativo de contêiner em um ambiente de aplicativo de contêiner Crie um Ambiente de Aplicativo de Contêiner com um Aplicativo de Contêiner básico. Ele também implanta um espaço de trabalho do Log Analytics para armazenar logs.
Cria um aplicativo de microsserviços Dapr usando o Container Apps Crie um aplicativo de microsserviços Dapr usando Aplicativos de Contêiner.
Cria um aplicativo de barramento de serviço pub-sub Dapr usando Aplicativos de Contêiner Crie um aplicativo de barramento de serviço pub-sub Dapr usando Aplicativos de Contêiner.
Cria um aplicativo de dois contêineres com um ambiente de aplicativo de contêiner Crie um ambiente de aplicativo de contêiner de dois com um aplicativo de contêiner básico. Ele também implanta um espaço de trabalho do Log Analytics para armazenar logs.
Cria um ambiente de aplicativo de contêiner externo com uma VNET Cria um ambiente de aplicativo de contêiner externo com uma VNET.
Cria um ambiente interno de aplicativo de contêiner com uma VNET Cria um ambiente interno de Aplicativo de Contêiner com uma VNET.

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.

Formato do recurso

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'

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket

Nome Descrição Valor
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)

CustomScaleRuleMetadata

Nome Descrição Valor

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

HttpScaleRuleMetadata

Nome Descrição Valor

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

TcpScaleRuleMetadata

Nome Descrição Valor

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[]

TrackedResourceTags

Nome Descrição Valor

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

Nome Descrição Valor

IdentidadeAtribuídaPeloUtilizador

Nome Descrição Valor

Volume

Nome Descrição Valor
mountOptions [en] Opções de montagem usadas durante a montagem do 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.

Modelo Descrição
cria um aplicativo de contêiner e um ambiente com de registro

Implantar no Azure
Crie um Ambiente de Aplicativo de Contêiner com um Aplicativo de Contêiner básico a partir de um Registro de Contêiner do Azure. Ele também implanta um espaço de trabalho do Log Analytics para armazenar logs.
Cria um aplicativo de contêiner com uma regra de dimensionamento HTTP definida

Implantar no Azure
Crie um Ambiente de Aplicativo de Contêiner com um Aplicativo de Contêiner básico que é dimensionado com base no tráfego HTTP.
Cria um aplicativo de contêiner em um ambiente de aplicativo de contêiner

Implantar no Azure
Crie um Ambiente de Aplicativo de Contêiner com um Aplicativo de Contêiner básico. Ele também implanta um espaço de trabalho do Log Analytics para armazenar logs.
Cria um aplicativo de microsserviços Dapr usando o Container Apps

Implantar no Azure
Crie um aplicativo de microsserviços Dapr usando Aplicativos de Contêiner.
Cria um aplicativo de barramento de serviço pub-sub Dapr usando Aplicativos de Contêiner

Implantar no Azure
Crie um aplicativo de barramento de serviço pub-sub Dapr usando Aplicativos de Contêiner.
Cria um aplicativo de dois contêineres com um ambiente de aplicativo de contêiner

Implantar no Azure
Crie um ambiente de aplicativo de contêiner de dois com um aplicativo de contêiner básico. Ele também implanta um espaço de trabalho do Log Analytics para armazenar logs.
Cria um ambiente de aplicativo de contêiner externo com uma VNET

Implantar no Azure
Cria um ambiente de aplicativo de contêiner externo com uma VNET.
Cria um ambiente interno de aplicativo de contêiner com uma VNET

Implantar no Azure
Cria um ambiente interno de Aplicativo de Contêiner com uma VNET.

Definição de recursos Terraform (provedor AzAPI)

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.

Formato do recurso

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'

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket

Nome Descrição Valor
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)

CustomScaleRuleMetadata

Nome Descrição Valor

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

HttpScaleRuleMetadata

Nome Descrição Valor

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

TcpScaleRuleMetadata

Nome Descrição Valor

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[]

TrackedResourceTags

Nome Descrição Valor

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

Nome Descrição Valor

IdentidadeAtribuídaPeloUtilizador

Nome Descrição Valor

Volume

Nome Descrição Valor
mountOptions [en] Opções de montagem usadas durante a montagem do 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

Amostras Terraform

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.

Módulo Descrição
Aplicativo de contêiner Módulo de recursos AVM para aplicativo de contêiner