Microsoft.App containerApps 2024-03-01
Definição de recursos do bíceps
O tipo de recurso containerApps pode ser implantado com operações direcionadas:
- Grupos de recursos - Consulte comandos de implantação de grupo de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.
Formato do recurso
Para criar um recurso Microsoft.App/containerApps, adicione o seguinte Bíceps ao seu modelo.
resource symbolicname 'Microsoft.App/containerApps@2024-03-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
extendedLocation: {
name: 'string'
type: 'CustomLocation'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
managedBy: 'string'
properties: {
configuration: {
activeRevisionsMode: 'string'
dapr: {
appId: 'string'
appPort: int
appProtocol: 'string'
enableApiLogging: bool
enabled: bool
httpMaxRequestSize: int
httpReadBufferSize: int
logLevel: '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'
}
]
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: json('decimal-as-string')
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: json('decimal-as-string')
memory: 'string'
}
volumeMounts: [
{
mountPath: 'string'
subPath: 'string'
volumeName: 'string'
}
]
}
]
revisionSuffix: 'string'
scale: {
maxReplicas: int
minReplicas: int
rules: [
{
azureQueue: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
queueLength: int
queueName: 'string'
}
custom: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
type: 'string'
}
http: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
}
name: 'string'
tcp: {
auth: [
{
secretRef: 'string'
triggerParameter: '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
containerApps
Designação | Descrição | Valor |
---|---|---|
Designação | O nome do recurso | string (obrigatório) Limite de caracteres: 2-32 Caracteres válidos: Letras minúsculas, números e hífenes.. Comece com letra e termine com alfanumérico. |
Localização | A geolocalização onde o recurso vive | string (obrigatório) |
Etiquetas | Tags de recursos. | Dicionário de nomes e valores de tags. Consulte Tags em modelos |
extendedLocalização | O tipo complexo do local estendido. | ExtendedLocation |
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 |
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. | string |
propriedades | Propriedades específicas do recurso ContainerApp | ContainerAppProperties |
Localização Estendida
Designação | Descrição | Valor |
---|---|---|
Designação | O nome do local estendido. | string |
tipo | O tipo de local estendido. | 'Localização personalizada' |
ManagedServiceIdentity
Designação | 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) |
userAssignedIdentities | 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 |
UserAssignedIdentities
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | UserAssignedIdentity |
UserAssignedIdentity
Este objeto não contém nenhuma propriedade a ser definida durante a implantação. Todas as propriedades são ReadOnly.
ContainerAppProperties
Designação | Descrição | Valor |
---|---|---|
configuração | Propriedades de configuração do aplicativo de contêiner sem versão. | de configuração |
environmentId | ID do recurso do ambiente. | string |
managedEnvironmentId | Preterido. ID do recurso do ambiente do aplicativo de contêiner. | string |
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. | string |
Configuração
Designação | 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} {/lista} |
'Múltiplo' 'Solteiro' |
DAPR | Configuração de Dapr para o aplicativo de contêiner. | Dapr |
Ingresso | Configurações de ingresso. | Ingress |
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[] |
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 |
Dapr
Designação | Descrição | Valor |
---|---|---|
appId | Identificador do aplicativo Dapr | string |
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 |
ativado | 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' |
Ingresso
Designação | 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 |
customDomains | 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 |
Externa | 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ânsito | Pesos de tráfego para revisões de aplicativos | TrafficWeight [] |
Transportes | Protocolo de transporte de entrada | 'Auto' ' http '' http2 ''TCP' |
IngressPortMapping
Designação | 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 |
Externa | 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) |
CorsPolicy
Designação | 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 |
CustomDomain
Designação | Descrição | Valor |
---|---|---|
bindingType | Tipo de vinculação de domínio personalizado. | 'Desativado' 'SniEnabled' |
certificateId | ID do recurso do certificado a ser vinculado a esse nome de host. Deve existir no Ambiente Gerenciado. | string |
Designação | Nome do host. | string (obrigatório) |
IpSecurityRestrictionRule
Designação | 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. | string |
ipAddressRange | Notação CIDR para corresponder ao endereço IP de entrada | string (obrigatório) |
Designação | Nome para a regra de restrição de IP. | string (obrigatório) |
IngressStickySessions
Designação | Descrição | Valor |
---|---|---|
afinidade | Afinidade de sessão adesiva | 'nenhuma' 'Pegajoso' |
TrafficWeight
Designação | Descrição | Valor |
---|---|---|
rótulo | Associa um rótulo de tráfego a uma revisão | string |
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 | string |
peso | Peso de tráfego atribuído a uma revisão | Int |
RegistryCredentials
Designação | 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' | string |
senhaSecretRef | O nome do segredo que contém a senha de login do registro | string |
servidor | Servidor de Registro de Contêiner | string |
nome de utilizador | Nome de usuário do Registro de contêiner | string |
Segredo
Designação | 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. | string |
keyVaultUrl | URL do Cofre da Chave do Azure apontando para o segredo referenciado pelo aplicativo contêiner. | string |
Designação | Nome secreto. | string |
valor | Valor Secreto. | string Restrições: Valor sensível. Passe como um parâmetro seguro. |
Serviço
Designação | Descrição | Valor |
---|---|---|
tipo | Tipo de serviço Dev ContainerApp | string (obrigatório) |
Modelo
Designação | 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 | string |
Escala | 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[] |
Contentor
Designação | Descrição | Valor |
---|---|---|
Args | Argumentos do comando Container start. | string[] |
comando | Comando Container start. | string[] |
env | Variáveis de ambiente de contêiner. | EnvironmentVar[] |
imagem | Tag de imagem de contêiner. | string |
Designação | Nome do contêiner personalizado. | string |
sondas | Lista de sondas para o recipiente. | ContainerAppProbe [] |
Recursos | Requisitos de recursos de contêiner. | ContainerResources |
volumeMontagens | Montagens de volume de recipiente. | VolumeMount[] |
AmbienteVar
Designação | Descrição | Valor |
---|---|---|
Designação | Nome da variável de ambiente. | string |
secretRef | Nome do segredo do aplicativo de contêiner do qual extrair o valor da variável de ambiente. | string |
valor | Valor da variável de ambiente não secreto. | string |
ContainerAppProbe
Designação | 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 |
períodoSegundos | 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
ContainerAppProbeHttpGetHttpHeadersItem
Designação | Descrição | Valor |
---|---|---|
Designação | O nome do campo de cabeçalho | string (obrigatório) |
valor | O valor do campo de cabeçalho | string (obrigatório) |
ContainerAppProbeTcpSocket
Designação | Descrição | Valor |
---|---|---|
anfitrião | Opcional: Nome do host ao qual se conectar, o padrão é o IP do pod. | string |
porto | Número ou nome da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. | int (obrigatório) |
ContainerResources
Designação | Descrição | Valor |
---|---|---|
CPU | CPU necessária em núcleos, por exemplo, 0,5 Para especificar um valor decimal, use a função json(). | int ou json decimal |
memória | Memória necessária, por exemplo, "250Mb" | string |
Montagem em volume
Designação | Descrição | Valor |
---|---|---|
mountPath [en] | Caminho dentro do recipiente no qual o volume deve ser montado. Não deve conter «:». | string |
subCaminho | Caminho dentro do volume a partir do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). | string |
nome_do_volume | Isso deve corresponder ao Nome de um Volume. | string |
InitContainer
Designação | Descrição | Valor |
---|---|---|
Args | Argumentos do comando Container start. | string[] |
comando | Comando Container start. | string[] |
env | Variáveis de ambiente de contêiner. | EnvironmentVar[] |
imagem | Tag de imagem de contêiner. | string |
Designação | Nome do contêiner personalizado. | string |
Recursos | Requisitos de recursos de contêiner. | ContainerResources |
volumeMontagens | Montagens de volume de recipiente. | VolumeMount[] |
Escala
Regra de Escala
QueueScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala de fila. | ScaleRuleAuth[] |
queueLength | Comprimento da fila. | Int |
queueName | Nome da fila. | string |
ScaleRuleAuth
Designação | Descrição | Valor |
---|---|---|
secretRef | Nome do segredo do qual puxar os parâmetros de autenticação. | string |
triggerParâmetro | Parâmetro Trigger que usa o segredo | string |
CustomScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala personalizada. | ScaleRuleAuth[] |
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. |
string |
CustomScaleRuleMetadata
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
HttpScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala personalizada. | ScaleRuleAuth[] |
metadados | Propriedades de metadados para descrever a regra de escala http. | HttpScaleRuleMetadata |
HttpScaleRuleMetadata
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
TcpScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala tcp. | ScaleRuleAuth[] |
metadados | Propriedades de metadados para descrever a regra de escala tcp. | TcpScaleRuleMetadata |
TcpScaleRuleMetadata
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
ServiceBind
Designação | Descrição | Valor |
---|---|---|
Designação | Nome da ligação de serviço | string |
serviceId | ID do recurso do serviço de destino | string |
Volume
SecretVolumeItem
Designação | 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. | string |
secretRef | Nome do segredo do aplicativo de contêiner do qual extrair o valor secreto. | string |
Modelos de início rápido
Os modelos de início rápido a seguir implantam esse tipo de recurso.
Modelo | 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 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 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 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 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:
- Grupos de recursos - Consulte comandos de implantação de grupo de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.
Formato do recurso
Para criar um recurso Microsoft.App/containerApps, adicione o JSON a seguir ao seu modelo.
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2024-03-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"extendedLocation": {
"name": "string",
"type": "CustomLocation"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"managedBy": "string",
"properties": {
"configuration": {
"activeRevisionsMode": "string",
"dapr": {
"appId": "string",
"appPort": "int",
"appProtocol": "string",
"enableApiLogging": "bool",
"enabled": "bool",
"httpMaxRequestSize": "int",
"httpReadBufferSize": "int",
"logLevel": "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"
}
],
"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": "[json('decimal-as-string')]",
"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": "[json('decimal-as-string')]",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"subPath": "string",
"volumeName": "string"
}
]
}
],
"revisionSuffix": "string",
"scale": {
"maxReplicas": "int",
"minReplicas": "int",
"rules": [
{
"azureQueue": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"queueLength": "int",
"queueName": "string"
},
"custom": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
},
"type": "string"
},
"http": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
}
},
"name": "string",
"tcp": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "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
containerApps
Designação | Descrição | Valor |
---|---|---|
tipo | O tipo de recurso | 'Microsoft.App/containerApps' |
apiVersion | A versão da api de recursos | '2024-03-01' |
Designação | O nome do recurso | string (obrigatório) Limite de caracteres: 2-32 Caracteres válidos: Letras minúsculas, números e hífenes.. Comece com letra e termine com alfanumérico. |
Localização | A geolocalização onde o recurso vive | string (obrigatório) |
Etiquetas | Tags de recursos. | Dicionário de nomes e valores de tags. Consulte Tags em modelos |
extendedLocalização | O tipo complexo do local estendido. | ExtendedLocation |
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 |
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. | string |
propriedades | Propriedades específicas do recurso ContainerApp | ContainerAppProperties |
Localização Estendida
Designação | Descrição | Valor |
---|---|---|
Designação | O nome do local estendido. | string |
tipo | O tipo de local estendido. | 'Localização personalizada' |
ManagedServiceIdentity
Designação | 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) |
userAssignedIdentities | 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 |
UserAssignedIdentities
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | UserAssignedIdentity |
UserAssignedIdentity
Este objeto não contém nenhuma propriedade a ser definida durante a implantação. Todas as propriedades são ReadOnly.
ContainerAppProperties
Designação | Descrição | Valor |
---|---|---|
configuração | Propriedades de configuração do aplicativo de contêiner sem versão. | de configuração |
environmentId | ID do recurso do ambiente. | string |
managedEnvironmentId | Preterido. ID do recurso do ambiente do aplicativo de contêiner. | string |
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. | string |
Configuração
Designação | 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} {/lista} |
'Múltiplo' 'Solteiro' |
DAPR | Configuração de Dapr para o aplicativo de contêiner. | Dapr |
Ingresso | Configurações de ingresso. | Ingress |
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[] |
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 |
Dapr
Designação | Descrição | Valor |
---|---|---|
appId | Identificador do aplicativo Dapr | string |
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 |
ativado | 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' |
Ingresso
Designação | 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 |
customDomains | 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 |
Externa | 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ânsito | Pesos de tráfego para revisões de aplicativos | TrafficWeight [] |
Transportes | Protocolo de transporte de entrada | 'Auto' ' http '' http2 ''TCP' |
IngressPortMapping
Designação | 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 |
Externa | 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) |
CorsPolicy
Designação | 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 |
CustomDomain
Designação | Descrição | Valor |
---|---|---|
bindingType | Tipo de vinculação de domínio personalizado. | 'Desativado' 'SniEnabled' |
certificateId | ID do recurso do certificado a ser vinculado a esse nome de host. Deve existir no Ambiente Gerenciado. | string |
Designação | Nome do host. | string (obrigatório) |
IpSecurityRestrictionRule
Designação | 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. | string |
ipAddressRange | Notação CIDR para corresponder ao endereço IP de entrada | string (obrigatório) |
Designação | Nome para a regra de restrição de IP. | string (obrigatório) |
IngressStickySessions
Designação | Descrição | Valor |
---|---|---|
afinidade | Afinidade de sessão adesiva | 'nenhuma' 'Pegajoso' |
TrafficWeight
Designação | Descrição | Valor |
---|---|---|
rótulo | Associa um rótulo de tráfego a uma revisão | string |
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 | string |
peso | Peso de tráfego atribuído a uma revisão | Int |
RegistryCredentials
Designação | 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' | string |
senhaSecretRef | O nome do segredo que contém a senha de login do registro | string |
servidor | Servidor de Registro de Contêiner | string |
nome de utilizador | Nome de usuário do Registro de contêiner | string |
Segredo
Designação | 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. | string |
keyVaultUrl | URL do Cofre da Chave do Azure apontando para o segredo referenciado pelo aplicativo contêiner. | string |
Designação | Nome secreto. | string |
valor | Valor Secreto. | string Restrições: Valor sensível. Passe como um parâmetro seguro. |
Serviço
Designação | Descrição | Valor |
---|---|---|
tipo | Tipo de serviço Dev ContainerApp | string (obrigatório) |
Modelo
Designação | 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 | string |
Escala | 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[] |
Contentor
Designação | Descrição | Valor |
---|---|---|
Args | Argumentos do comando Container start. | string[] |
comando | Comando Container start. | string[] |
env | Variáveis de ambiente de contêiner. | EnvironmentVar[] |
imagem | Tag de imagem de contêiner. | string |
Designação | Nome do contêiner personalizado. | string |
sondas | Lista de sondas para o recipiente. | ContainerAppProbe [] |
Recursos | Requisitos de recursos de contêiner. | ContainerResources |
volumeMontagens | Montagens de volume de recipiente. | VolumeMount[] |
AmbienteVar
Designação | Descrição | Valor |
---|---|---|
Designação | Nome da variável de ambiente. | string |
secretRef | Nome do segredo do aplicativo de contêiner do qual extrair o valor da variável de ambiente. | string |
valor | Valor da variável de ambiente não secreto. | string |
ContainerAppProbe
Designação | 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 |
períodoSegundos | 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
ContainerAppProbeHttpGetHttpHeadersItem
Designação | Descrição | Valor |
---|---|---|
Designação | O nome do campo de cabeçalho | string (obrigatório) |
valor | O valor do campo de cabeçalho | string (obrigatório) |
ContainerAppProbeTcpSocket
Designação | Descrição | Valor |
---|---|---|
anfitrião | Opcional: Nome do host ao qual se conectar, o padrão é o IP do pod. | string |
porto | Número ou nome da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. | int (obrigatório) |
ContainerResources
Designação | Descrição | Valor |
---|---|---|
CPU | CPU necessária em núcleos, por exemplo, 0,5 Para especificar um valor decimal, use a função json(). | int ou json decimal |
memória | Memória necessária, por exemplo, "250Mb" | string |
Montagem em volume
Designação | Descrição | Valor |
---|---|---|
mountPath [en] | Caminho dentro do recipiente no qual o volume deve ser montado. Não deve conter «:». | string |
subCaminho | Caminho dentro do volume a partir do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). | string |
nome_do_volume | Isso deve corresponder ao Nome de um Volume. | string |
InitContainer
Designação | Descrição | Valor |
---|---|---|
Args | Argumentos do comando Container start. | string[] |
comando | Comando Container start. | string[] |
env | Variáveis de ambiente de contêiner. | EnvironmentVar[] |
imagem | Tag de imagem de contêiner. | string |
Designação | Nome do contêiner personalizado. | string |
Recursos | Requisitos de recursos de contêiner. | ContainerResources |
volumeMontagens | Montagens de volume de recipiente. | VolumeMount[] |
Escala
Regra de Escala
QueueScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala de fila. | ScaleRuleAuth[] |
queueLength | Comprimento da fila. | Int |
queueName | Nome da fila. | string |
ScaleRuleAuth
Designação | Descrição | Valor |
---|---|---|
secretRef | Nome do segredo do qual puxar os parâmetros de autenticação. | string |
triggerParâmetro | Parâmetro Trigger que usa o segredo | string |
CustomScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala personalizada. | ScaleRuleAuth[] |
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. |
string |
CustomScaleRuleMetadata
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
HttpScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala personalizada. | ScaleRuleAuth[] |
metadados | Propriedades de metadados para descrever a regra de escala http. | HttpScaleRuleMetadata |
HttpScaleRuleMetadata
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
TcpScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala tcp. | ScaleRuleAuth[] |
metadados | Propriedades de metadados para descrever a regra de escala tcp. | TcpScaleRuleMetadata |
TcpScaleRuleMetadata
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
ServiceBind
Designação | Descrição | Valor |
---|---|---|
Designação | Nome da ligação de serviço | string |
serviceId | ID do recurso do serviço de destino | string |
Volume
SecretVolumeItem
Designação | 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. | string |
secretRef | Nome do segredo do aplicativo de contêiner do qual extrair o valor secreto. | string |
Modelos de início rápido
Os modelos de início rápido a seguir implantam esse tipo de recurso.
Modelo | 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 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 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 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 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 recursos Terraform (provedor AzAPI)
O tipo de recurso containerApps pode ser implantado com operações direcionadas:
- Grupos de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.
Formato do recurso
Para criar um recurso Microsoft.App/containerApps, adicione o seguinte Terraform ao seu modelo.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/containerApps@2024-03-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
configuration = {
activeRevisionsMode = "string"
dapr = {
appId = "string"
appPort = int
appProtocol = "string"
enableApiLogging = bool
enabled = bool
httpMaxRequestSize = int
httpReadBufferSize = int
logLevel = "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"
}
]
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 = "decimal-as-string"
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 = "decimal-as-string"
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
subPath = "string"
volumeName = "string"
}
]
}
]
revisionSuffix = "string"
scale = {
maxReplicas = int
minReplicas = int
rules = [
{
azureQueue = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
queueLength = int
queueName = "string"
}
custom = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
type = "string"
}
http = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
}
name = "string"
tcp = {
auth = [
{
secretRef = "string"
triggerParameter = "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"
}
extendedLocation = {
name = "string"
type = "CustomLocation"
}
managedBy = "string"
})
}
Valores de propriedade
containerApps
Designação | Descrição | Valor |
---|---|---|
tipo | O tipo de recurso | "Microsoft.App/containerApps@2024-03-01" |
Designação | O nome do recurso | string (obrigatório) Limite de caracteres: 2-32 Caracteres válidos: Letras minúsculas, números e hífenes.. Comece com letra e termine com alfanumérico. |
Localização | A geolocalização onde o recurso vive | string (obrigatório) |
parent_id | Para implantar em um grupo de recursos, use a ID desse grupo de recursos. | string (obrigatório) |
Etiquetas | Tags de recursos. | Dicionário de nomes e valores de tags. |
extendedLocalização | O tipo complexo do local estendido. | ExtendedLocation |
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 |
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. | string |
propriedades | Propriedades específicas do recurso ContainerApp | ContainerAppProperties |
Localização Estendida
Designação | Descrição | Valor |
---|---|---|
Designação | O nome do local estendido. | string |
tipo | O tipo de local estendido. | "Localização personalizada" |
ManagedServiceIdentity
Designação | Descrição | Valor |
---|---|---|
tipo | Tipo de identidade de serviço gerenciado (onde os tipos SystemAssigned e UserAssigned são permitidos). | "SystemAssigned" "SystemAssigned,UserAssigned" "UserAssigned" (obrigatório) |
identity_ids | 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. | Matriz de IDs de identidade do usuário. |
UserAssignedIdentities
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | UserAssignedIdentity |
UserAssignedIdentity
Este objeto não contém nenhuma propriedade a ser definida durante a implantação. Todas as propriedades são ReadOnly.
ContainerAppProperties
Designação | Descrição | Valor |
---|---|---|
configuração | Propriedades de configuração do aplicativo de contêiner sem versão. | de configuração |
environmentId | ID do recurso do ambiente. | string |
managedEnvironmentId | Preterido. ID do recurso do ambiente do aplicativo de contêiner. | string |
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. | string |
Configuração
Designação | 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} {/lista} |
"Múltiplos" "Solteiro" |
DAPR | Configuração de Dapr para o aplicativo de contêiner. | Dapr |
Ingresso | Configurações de ingresso. | Ingress |
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[] |
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 |
Dapr
Designação | Descrição | Valor |
---|---|---|
appId | Identificador do aplicativo Dapr | string |
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 |
ativado | 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" |
Ingresso
Designação | 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 |
customDomains | 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 |
Externa | 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ânsito | Pesos de tráfego para revisões de aplicativos | TrafficWeight [] |
Transportes | Protocolo de transporte de entrada | "Auto" " http "" http2 ""TCP" |
IngressPortMapping
Designação | 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 |
Externa | 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) |
CorsPolicy
Designação | 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 |
CustomDomain
Designação | Descrição | Valor |
---|---|---|
bindingType | Tipo de vinculação de domínio personalizado. | "Desativado" "SniEnabled" |
certificateId | ID do recurso do certificado a ser vinculado a esse nome de host. Deve existir no Ambiente Gerenciado. | string |
Designação | Nome do host. | string (obrigatório) |
IpSecurityRestrictionRule
Designação | 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. | string |
ipAddressRange | Notação CIDR para corresponder ao endereço IP de entrada | string (obrigatório) |
Designação | Nome para a regra de restrição de IP. | string (obrigatório) |
IngressStickySessions
Designação | Descrição | Valor |
---|---|---|
afinidade | Afinidade de sessão adesiva | "nenhuma" "pegajoso" |
TrafficWeight
Designação | Descrição | Valor |
---|---|---|
rótulo | Associa um rótulo de tráfego a uma revisão | string |
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 | string |
peso | Peso de tráfego atribuído a uma revisão | Int |
RegistryCredentials
Designação | 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' | string |
senhaSecretRef | O nome do segredo que contém a senha de login do registro | string |
servidor | Servidor de Registro de Contêiner | string |
nome de utilizador | Nome de usuário do Registro de contêiner | string |
Segredo
Designação | 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. | string |
keyVaultUrl | URL do Cofre da Chave do Azure apontando para o segredo referenciado pelo aplicativo contêiner. | string |
Designação | Nome secreto. | string |
valor | Valor Secreto. | string Restrições: Valor sensível. Passe como um parâmetro seguro. |
Serviço
Designação | Descrição | Valor |
---|---|---|
tipo | Tipo de serviço Dev ContainerApp | string (obrigatório) |
Modelo
Designação | 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 | string |
Escala | 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[] |
Contentor
Designação | Descrição | Valor |
---|---|---|
Args | Argumentos do comando Container start. | string[] |
comando | Comando Container start. | string[] |
env | Variáveis de ambiente de contêiner. | EnvironmentVar[] |
imagem | Tag de imagem de contêiner. | string |
Designação | Nome do contêiner personalizado. | string |
sondas | Lista de sondas para o recipiente. | ContainerAppProbe [] |
Recursos | Requisitos de recursos de contêiner. | ContainerResources |
volumeMontagens | Montagens de volume de recipiente. | VolumeMount[] |
AmbienteVar
Designação | Descrição | Valor |
---|---|---|
Designação | Nome da variável de ambiente. | string |
secretRef | Nome do segredo do aplicativo de contêiner do qual extrair o valor da variável de ambiente. | string |
valor | Valor da variável de ambiente não secreto. | string |
ContainerAppProbe
Designação | 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 |
períodoSegundos | 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
ContainerAppProbeHttpGetHttpHeadersItem
Designação | Descrição | Valor |
---|---|---|
Designação | O nome do campo de cabeçalho | string (obrigatório) |
valor | O valor do campo de cabeçalho | string (obrigatório) |
ContainerAppProbeTcpSocket
Designação | Descrição | Valor |
---|---|---|
anfitrião | Opcional: Nome do host ao qual se conectar, o padrão é o IP do pod. | string |
porto | Número ou nome da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. | int (obrigatório) |
ContainerResources
Designação | Descrição | Valor |
---|---|---|
CPU | CPU necessária em núcleos, por exemplo, 0,5 Especifique um valor decimal como uma cadeia de caracteres. | int ou json decimal |
memória | Memória necessária, por exemplo, "250Mb" | string |
Montagem em volume
Designação | Descrição | Valor |
---|---|---|
mountPath [en] | Caminho dentro do recipiente no qual o volume deve ser montado. Não deve conter «:». | string |
subCaminho | Caminho dentro do volume a partir do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). | string |
nome_do_volume | Isso deve corresponder ao Nome de um Volume. | string |
InitContainer
Designação | Descrição | Valor |
---|---|---|
Args | Argumentos do comando Container start. | string[] |
comando | Comando Container start. | string[] |
env | Variáveis de ambiente de contêiner. | EnvironmentVar[] |
imagem | Tag de imagem de contêiner. | string |
Designação | Nome do contêiner personalizado. | string |
Recursos | Requisitos de recursos de contêiner. | ContainerResources |
volumeMontagens | Montagens de volume de recipiente. | VolumeMount[] |
Escala
Regra de Escala
QueueScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala de fila. | ScaleRuleAuth[] |
queueLength | Comprimento da fila. | Int |
queueName | Nome da fila. | string |
ScaleRuleAuth
Designação | Descrição | Valor |
---|---|---|
secretRef | Nome do segredo do qual puxar os parâmetros de autenticação. | string |
triggerParâmetro | Parâmetro Trigger que usa o segredo | string |
CustomScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala personalizada. | ScaleRuleAuth[] |
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. |
string |
CustomScaleRuleMetadata
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
HttpScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala personalizada. | ScaleRuleAuth[] |
metadados | Propriedades de metadados para descrever a regra de escala http. | HttpScaleRuleMetadata |
HttpScaleRuleMetadata
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
TcpScaleRule
Designação | Descrição | Valor |
---|---|---|
auth | Segredos de autenticação para a regra de escala tcp. | ScaleRuleAuth[] |
metadados | Propriedades de metadados para descrever a regra de escala tcp. | TcpScaleRuleMetadata |
TcpScaleRuleMetadata
Designação | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
ServiceBind
Designação | Descrição | Valor |
---|---|---|
Designação | Nome da ligação de serviço | string |
serviceId | ID do recurso do serviço de destino | string |
Volume
SecretVolumeItem
Designação | 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. | string |
secretRef | Nome do segredo do aplicativo de contêiner do qual extrair o valor secreto. | string |