Microsoft.App containerApps 2023-05-02-preview
Definição de recurso do Bicep
O tipo de recurso containerApps pode ser implantado com operações de destino:
- Grupos de recursos - Consulte comandos de implantação do grupo de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso de Microsoft.App/containerApps, adicione o Bicep a seguir ao modelo.
resource symbolicname 'Microsoft.App/containerApps@2023-05-02-preview' = {
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
Nome | Descrição | Valor |
---|---|---|
nome | O nome do recurso | cadeia de caracteres (obrigatório) Limite de caracteres: 2 a 32 Caracteres válidos: Letras minúsculas, números e hifens.. Comece com letra e termine com alfanumérico. |
localização | A localização geográfica onde o recurso reside | cadeia de caracteres (obrigatório) |
Tags | Marcas de recurso. | Dicionário de nomes e valores de marca. Consulte Marcas em modelos |
extendedLocation | 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 |
managedBy | 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 do modo completo não excluirá o recurso se ele for removido do modelo, pois ele é gerenciado por outro recurso. | corda |
Propriedades | Propriedades específicas do recurso ContainerApp | ContainerAppProperties |
ExtendedLocation
Nome | Descrição | Valor |
---|---|---|
nome | O nome do local estendido. | corda |
tipo | O tipo do local estendido. | 'CustomLocation' |
ManagedServiceIdentity
Nome | Descrição | Valor |
---|---|---|
tipo | Tipo de identidade de serviço gerenciado (em que os tipos SystemAssigned e UserAssigned são permitidos). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obrigatório) |
userAssignedIdentities | O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores do dicionário podem ser objetos vazios ({}) em solicitações. | UserAssignedIdentities |
UserAssignedIdentities
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | UserAssignedIdentity |
UserAssignedIdentity
Esse objeto não contém nenhuma propriedade a ser definida durante a implantação. Todas as propriedades são ReadOnly.
ContainerAppProperties
Nome | Descrição | Valor |
---|---|---|
configuração | Propriedades de configuração do Aplicativo de Contêiner não com versão. | de Configuração do |
environmentId | ID do recurso do ambiente. | corda |
managedEnvironmentId | Deprecado. ID do recurso do ambiente do Aplicativo de Contêiner. | corda |
modelo | Definição de aplicativo com versão do Aplicativo de Contêiner. | de modelo de |
workloadProfileName | Nome do perfil de carga de trabalho a ser fixado na execução do aplicativo de contêiner. | corda |
Configuração
Nome | Descrição | Valor |
---|---|---|
activeRevisionsMode | ActiveRevisionsMode controla como as revisões ativas são tratadas para o aplicativo contêiner: {list} {item} Múltiplo: várias revisões podem estar ativas. {/item} {item} Único: apenas uma revisão pode estar ativa por vez. Os pesos de revisão não podem ser usados nesse modo. Se nenhum valor for fornecido, esse será o padrão. {/item} {/list} |
'Múltiplo' 'Single' |
dapr | Configuração de dapr para o Aplicativo de Contêiner. | dapr |
Entrada | Configurações de entrada. | entrada |
maxInactiveRevisions | Opcional. Revisões inativas máximas que um Aplicativo de Contêiner pode ter. | int |
Registros | Coleção 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 contêiner | secret[] |
serviço | Aplicativo de contêiner para ser um serviço de aplicativo de contêiner de desenvolvimento | do Serviço |
Dapr
Nome | Descrição | Valor |
---|---|---|
appId | Identificador de aplicativo dapr | corda |
appPort | Informa à Dapr em qual porta seu aplicativo está escutando | int |
appProtocol | 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 em log de API para o sidecar da Dapr | Bool |
Habilitado | Booliano indicando se o carro lateral dapr está habilitado | Bool |
httpMaxRequestSize | Aumento do tamanho máximo do parâmetro de servidores http e grpc do corpo da solicitação em MB para lidar com o carregamento de arquivos grandes. O padrão é 4 MB. | int |
httpReadBufferSize | Tamanho máximo dapr do buffer de leitura de cabeçalho http em KB para manipular ao enviar cabeçalhos de vários KB. O padrão é 65 KB. | int |
logLevel | Define o nível de log para o sidecar Dapr. Os valores permitidos são depuração, informações, aviso, erro. O padrão são as informações. | 'depuração' 'error' 'info' 'avisar' |
Entrada
Nome | Descrição | Valor |
---|---|---|
additionalPortMappings | Configurações para expor portas adicionais no aplicativo de contêiner | IngressPortMapping [] |
allowInsecure | Bool indicando se as conexões HTTP são permitidas. Se definidas como conexões HTTP falsas forem redirecionadas automaticamente para conexões HTTPS | Bool |
clientCertificateMode | Modo de certificado do cliente para autenticação mTLS. Ignorar indica que o servidor descarta o certificado do cliente no encaminhamento. Aceitar indica que o servidor encaminha o certificado do cliente, mas não requer um certificado do cliente. Exigir indica que o servidor requer um certificado do cliente. | 'accept' 'ignore' 'require' |
corsPolicy | Política cors para aplicativo de contêiner | |
customDomains | associações de domínio personalizadas para nomes de host dos 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 |
ipSecurityRestrictions | Regras para restringir o endereço IP de entrada. | IpSecurityRestrictionRule [] |
stickySessions | Sessões autoadesivas para o modo de revisão única | IngressStickySessions |
targetPort | Porta de destino em contêineres para tráfego de entrada | int |
tráfego | Pesos de tráfego para revisões do aplicativo | trafficweight [] |
transporte | 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, ele usará como padrão a porta de destino | int |
externo | Especifica se a porta do aplicativo está acessível fora do ambiente | bool (obrigatório) |
targetPort | Especifica as escutas do contêiner do usuário de porta | int (obrigatório) |
CorsPolicy
Nome | Descrição | Valor |
---|---|---|
allowCredentials | Especifica se o recurso permite credenciais | Bool |
allowedHeaders | Especifica o conteúdo do cabeçalho access-control-allow-headers | string[] |
allowedMethods | Especifica o conteúdo do cabeçalho access-control-allow-methods | string[] |
allowedOrigins | 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[] |
maxAge | Especifica o conteúdo do cabeçalho access-control-max-age | int |
CustomDomain
Nome | Descrição | Valor |
---|---|---|
bindingType | Tipo de associação de domínio personalizado. | 'Desabilitado' 'SniEnabled' |
certificateId | ID do recurso do Certificado a ser associado a esse nome de host. Deve existir no Ambiente Gerenciado. | corda |
nome | Nome do host. | cadeia de caracteres (obrigatório) |
IpSecurityRestrictionRule
Nome | Descrição | Valor |
---|---|---|
ação | Permitir ou negar regras para determinar o IP de entrada. Observação: as regras só podem consistir em ALL Allow ou ALL Deny | 'Permitir' 'Deny' (obrigatório) |
descrição | Descreva a regra de restrição de IP que está sendo enviada para o aplicativo de contêiner. Esse é um campo opcional. | corda |
ipAddressRange | Notação CIDR para corresponder ao endereço IP de entrada | cadeia de caracteres (obrigatório) |
nome | Nome da regra de restrição de IP. | cadeia de caracteres (obrigatório) |
IngressStickySessions
Nome | Descrição | Valor |
---|---|---|
afinidade | Afinidade de sessão autoadesiva | 'none' 'autoadesiva' |
TrafficWeight
Nome | Descrição | Valor |
---|---|---|
etiqueta | Associa um rótulo de tráfego a uma revisão | corda |
latestRevision | Indica que o peso do tráfego pertence a uma revisão estável mais recente | Bool |
revisionName | Nome de uma revisão | corda |
peso | Peso do tráfego atribuído a uma revisão | int |
RegistryCredentials
Nome | Descrição | Valor |
---|---|---|
identidade | Uma Identidade Gerenciada a ser usada para autenticar com o Registro de Contêiner do Azure. Para identidades atribuídas pelo usuário, use a ID completa do recurso de identidade atribuída pelo usuário. Para identidades atribuídas pelo sistema, use 'system' | corda |
passwordSecretRef | O nome do Segredo que contém a senha de logon do Registro | corda |
servidor | Servidor do Registro de Contêiner | corda |
nome de usuário | Nome de usuário do Registro de Contêiner | corda |
Segredo
Nome | Descrição | Valor |
---|---|---|
identidade | ID de recurso de uma identidade gerenciada para autenticar com o Azure Key Vault ou o Sistema para usar uma identidade atribuída pelo sistema. | corda |
keyVaultUrl | URL do Azure Key Vault apontando para o segredo referenciado pelo aplicativo de contêiner. | corda |
nome | Nome do segredo. | corda |
valor | Valor secreto. | corda Restrições: Valor confidencial. Passe como um parâmetro seguro. |
Serviço
Nome | Descrição | Valor |
---|---|---|
tipo | Tipo de serviço Dev ContainerApp | cadeia de caracteres (obrigatório) |
Modelo
Nome | Descrição | Valor |
---|---|---|
Recipientes | Lista de definições de contêiner para o Aplicativo de Contêiner. | de contêiner [] |
initContainers | Lista de contêineres especializados que são executados antes dos contêineres de aplicativo. | initContainer[] |
revisionSuffix | Sufixo amigável que é acrescentado ao nome da revisão | corda |
escala | Dimensionamento de propriedades para o Aplicativo de Contêiner. | de escala |
serviceBinds | Lista de serviços de aplicativo de contêiner associados ao aplicativo | ServiceBind [] |
terminationGracePeriodSeconds | Duração opcional em segundos que a Instância do Aplicativo de Contêiner precisa terminar normalmente. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). 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 processo. O padrão é 30 segundos. | int |
Volumes | Lista de definições de volume para o Aplicativo de Contêiner. | de volume [] |
Recipiente
EnvironmentVar
Nome | Descrição | Valor |
---|---|---|
nome | Nome da variável de ambiente. | corda |
secretRef | Nome do segredo do Aplicativo de Contêiner do qual extrair o valor da variável de ambiente. | corda |
valor | Valor de variável de ambiente não secreto. | corda |
ContainerAppProbe
Nome | Descrição | Valor |
---|---|---|
failureThreshold | Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. | int |
httpGet | HTTPGet especifica a solicitação http a ser executada. | ContainerAppProbeHttpGet |
initialDelaySeconds | Número de segundos após o início do contêiner antes do início das investigações de atividade. O valor mínimo é 1. O valor máximo é 60. | int |
periodSeconds | Com que frequência (em segundos) executar a investigação. Padrão para 10 segundos. O valor mínimo é 1. O valor máximo é 240. | int |
successThreshold | Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para animação e inicialização. O valor mínimo é 1. O valor máximo é 10. | int |
tcpSocket | O TCPSocket especifica uma ação envolvendo uma porta TCP. Ainda não há suporte para ganchos TCP. | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Duração opcional em segundos, o pod precisa terminar normalmente após a falha da investigação. O período de carência é a duração em segundos depois que os processos em execução no pod são enviados um sinal de terminação e a hora em que os processos são interrompidos à força com um sinal de morte. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. Se esse valor for nulo, os terminationGracePeriodSeconds do pod serão usados. Caso contrário, esse valor substituirá o valor fornecido pela especificação do pod. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). Esse é um campo alfa e requer a habilitação do portão de recursos ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) | int |
timeoutSeconds | Número de segundos após o qual a investigação atinge o tempo limite. O padrão é 1 segundo. O valor mínimo é 1. O valor máximo é 240. | int |
tipo | O tipo de investigação. | 'Liveness' 'Preparação' 'Inicialização' |
ContainerAppProbeHttpGet
Nome | Descrição | Valor |
---|---|---|
anfitrião | O nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders. | corda |
httpHeaders | Cabeçalhos personalizados a serem definidos na solicitação. HTTP permite cabeçalhos repetidos. | ContainerAppProbeHttpGetHttpHeadersItem[] |
caminho | Caminho para acesso no servidor HTTP. | corda |
porta | Nome ou número da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. | int (obrigatório) |
esquema | Esquema a ser usado para se conectar ao host. O padrão é HTTP. | 'HTTP' 'HTTPS' |
ContainerAppProbeHttpGetHttpHeadersItem
Nome | Descrição | Valor |
---|---|---|
nome | O nome do campo de cabeçalho | cadeia de caracteres (obrigatório) |
valor | O valor do campo de cabeçalho | cadeia de caracteres (obrigatório) |
ContainerAppProbeTcpSocket
Nome | Descrição | Valor |
---|---|---|
anfitrião | Opcional: nome do host ao qual se conectar, o padrão é o IP do pod. | corda |
porta | Número ou nome da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. | int (obrigatório) |
ContainerResources
Nome | Descrição | Valor |
---|---|---|
CPU | CPU necessária em núcleos, por exemplo, 0,5 Para especificar um valor decimal, use a função json(). | int ou json decimal |
memória | Memória necessária, por exemplo, "250 Mb" | corda |
VolumeMount
Nome | Descrição | Valor |
---|---|---|
mountPath | Caminho dentro do contêiner no qual o volume deve ser montado. Não deve conter ':'. | corda |
subPath | Caminho dentro do volume do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). | corda |
volumeName | Isso deve corresponder ao nome de um volume. | corda |
InitContainer
Escala
ScaleRule
Nome | Descrição | Valor |
---|---|---|
azureQueue | Dimensionamento baseado em Fila do Azure. | QueueScaleRule |
costume | Regra de escala personalizada. | CustomScaleRule |
http | Dimensionamento baseado em solicitações HTTP. | httpScaleRule |
nome | Nome da regra de escala | corda |
Tcp | Escala baseada em solicitações Tcp. | TcpScaleRule |
QueueScaleRule
Nome | 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. | corda |
ScaleRuleAuth
Nome | Descrição | Valor |
---|---|---|
secretRef | Nome do segredo do qual efetuar pull dos parâmetros de autenticação. | corda |
triggerParameter | Parâmetro de gatilho que usa o segredo | corda |
CustomScaleRule
CustomScaleRuleMetadata
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | corda |
HttpScaleRule
HttpScaleRuleMetadata
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | corda |
TcpScaleRule
Nome | 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
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | corda |
ServiceBind
Nome | Descrição | Valor |
---|---|---|
nome | Nome da associação de serviço | corda |
serviceId | ID do recurso do serviço de destino | corda |
Volume
SecretVolumeItem
Nome | Descrição | Valor |
---|---|---|
caminho | Caminho para o segredo do projeto. Se nenhum caminho for fornecido, o caminho usará como padrão o nome do segredo listado em secretRef. | corda |
secretRef | Nome do segredo do Aplicativo de Contêiner do qual extrair o valor do segredo. | corda |
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 o Registro |
Crie um ambiente de aplicativo de contêiner com um aplicativo de contêiner básico de um Registro de Contêiner do Azure. Ele também implanta um workspace do Log Analytics para armazenar logs. |
cria um aplicativo de contêiner com 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 workspace 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 workspace 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 seja dimensionado com base no tráfego HTTP. |
cria um ambiente de aplicativo de contêiner externo com um de VNET |
Cria um ambiente de Aplicativo de Contêiner externo com uma VNET. |
Cria um ambiente interno do Aplicativo de Contêiner com uma VNET |
Cria um ambiente interno do Aplicativo de Contêiner com uma VNET. |
Definição de recurso de modelo do ARM
O tipo de recurso containerApps pode ser implantado com operações de destino:
- Grupos de recursos - Consulte comandos de implantação do grupo de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso de Microsoft.App/containerApps, adicione o JSON a seguir ao modelo.
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2023-05-02-preview",
"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
Nome | Descrição | Valor |
---|---|---|
tipo | O tipo de recurso | 'Microsoft.App/containerApps' |
apiVersion | A versão da API do recurso | '2023-05-02-preview' |
nome | O nome do recurso | cadeia de caracteres (obrigatório) Limite de caracteres: 2 a 32 Caracteres válidos: Letras minúsculas, números e hifens.. Comece com letra e termine com alfanumérico. |
localização | A localização geográfica onde o recurso reside | cadeia de caracteres (obrigatório) |
Tags | Marcas de recurso. | Dicionário de nomes e valores de marca. Consulte Marcas em modelos |
extendedLocation | 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 |
managedBy | 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 do modo completo não excluirá o recurso se ele for removido do modelo, pois ele é gerenciado por outro recurso. | corda |
Propriedades | Propriedades específicas do recurso ContainerApp | ContainerAppProperties |
ExtendedLocation
Nome | Descrição | Valor |
---|---|---|
nome | O nome do local estendido. | corda |
tipo | O tipo do local estendido. | 'CustomLocation' |
ManagedServiceIdentity
Nome | Descrição | Valor |
---|---|---|
tipo | Tipo de identidade de serviço gerenciado (em que os tipos SystemAssigned e UserAssigned são permitidos). | 'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obrigatório) |
userAssignedIdentities | O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores do dicionário podem ser objetos vazios ({}) em solicitações. | UserAssignedIdentities |
UserAssignedIdentities
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | UserAssignedIdentity |
UserAssignedIdentity
Esse objeto não contém nenhuma propriedade a ser definida durante a implantação. Todas as propriedades são ReadOnly.
ContainerAppProperties
Nome | Descrição | Valor |
---|---|---|
configuração | Propriedades de configuração do Aplicativo de Contêiner não com versão. | de Configuração do |
environmentId | ID do recurso do ambiente. | corda |
managedEnvironmentId | Deprecado. ID do recurso do ambiente do Aplicativo de Contêiner. | corda |
modelo | Definição de aplicativo com versão do Aplicativo de Contêiner. | de modelo de |
workloadProfileName | Nome do perfil de carga de trabalho a ser fixado na execução do aplicativo de contêiner. | corda |
Configuração
Nome | Descrição | Valor |
---|---|---|
activeRevisionsMode | ActiveRevisionsMode controla como as revisões ativas são tratadas para o aplicativo contêiner: {list} {item} Múltiplo: várias revisões podem estar ativas. {/item} {item} Único: apenas uma revisão pode estar ativa por vez. Os pesos de revisão não podem ser usados nesse modo. Se nenhum valor for fornecido, esse será o padrão. {/item} {/list} |
'Múltiplo' 'Single' |
dapr | Configuração de dapr para o Aplicativo de Contêiner. | dapr |
Entrada | Configurações de entrada. | entrada |
maxInactiveRevisions | Opcional. Revisões inativas máximas que um Aplicativo de Contêiner pode ter. | int |
Registros | Coleção 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 contêiner | secret[] |
serviço | Aplicativo de contêiner para ser um serviço de aplicativo de contêiner de desenvolvimento | do Serviço |
Dapr
Nome | Descrição | Valor |
---|---|---|
appId | Identificador de aplicativo dapr | corda |
appPort | Informa à Dapr em qual porta seu aplicativo está escutando | int |
appProtocol | 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 em log de API para o sidecar da Dapr | Bool |
Habilitado | Booliano indicando se o carro lateral dapr está habilitado | Bool |
httpMaxRequestSize | Aumento do tamanho máximo do parâmetro de servidores http e grpc do corpo da solicitação em MB para lidar com o carregamento de arquivos grandes. O padrão é 4 MB. | int |
httpReadBufferSize | Tamanho máximo dapr do buffer de leitura de cabeçalho http em KB para manipular ao enviar cabeçalhos de vários KB. O padrão é 65 KB. | int |
logLevel | Define o nível de log para o sidecar Dapr. Os valores permitidos são depuração, informações, aviso, erro. O padrão são as informações. | 'depuração' 'error' 'info' 'avisar' |
Entrada
Nome | Descrição | Valor |
---|---|---|
additionalPortMappings | Configurações para expor portas adicionais no aplicativo de contêiner | IngressPortMapping [] |
allowInsecure | Bool indicando se as conexões HTTP são permitidas. Se definidas como conexões HTTP falsas forem redirecionadas automaticamente para conexões HTTPS | Bool |
clientCertificateMode | Modo de certificado do cliente para autenticação mTLS. Ignorar indica que o servidor descarta o certificado do cliente no encaminhamento. Aceitar indica que o servidor encaminha o certificado do cliente, mas não requer um certificado do cliente. Exigir indica que o servidor requer um certificado do cliente. | 'accept' 'ignore' 'require' |
corsPolicy | Política cors para aplicativo de contêiner | |
customDomains | associações de domínio personalizadas para nomes de host dos 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 |
ipSecurityRestrictions | Regras para restringir o endereço IP de entrada. | IpSecurityRestrictionRule [] |
stickySessions | Sessões autoadesivas para o modo de revisão única | IngressStickySessions |
targetPort | Porta de destino em contêineres para tráfego de entrada | int |
tráfego | Pesos de tráfego para revisões do aplicativo | trafficweight [] |
transporte | 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, ele usará como padrão a porta de destino | int |
externo | Especifica se a porta do aplicativo está acessível fora do ambiente | bool (obrigatório) |
targetPort | Especifica as escutas do contêiner do usuário de porta | int (obrigatório) |
CorsPolicy
Nome | Descrição | Valor |
---|---|---|
allowCredentials | Especifica se o recurso permite credenciais | Bool |
allowedHeaders | Especifica o conteúdo do cabeçalho access-control-allow-headers | string[] |
allowedMethods | Especifica o conteúdo do cabeçalho access-control-allow-methods | string[] |
allowedOrigins | 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[] |
maxAge | Especifica o conteúdo do cabeçalho access-control-max-age | int |
CustomDomain
Nome | Descrição | Valor |
---|---|---|
bindingType | Tipo de associação de domínio personalizado. | 'Desabilitado' 'SniEnabled' |
certificateId | ID do recurso do Certificado a ser associado a esse nome de host. Deve existir no Ambiente Gerenciado. | corda |
nome | Nome do host. | cadeia de caracteres (obrigatório) |
IpSecurityRestrictionRule
Nome | Descrição | Valor |
---|---|---|
ação | Permitir ou negar regras para determinar o IP de entrada. Observação: as regras só podem consistir em ALL Allow ou ALL Deny | 'Permitir' 'Deny' (obrigatório) |
descrição | Descreva a regra de restrição de IP que está sendo enviada para o aplicativo de contêiner. Esse é um campo opcional. | corda |
ipAddressRange | Notação CIDR para corresponder ao endereço IP de entrada | cadeia de caracteres (obrigatório) |
nome | Nome da regra de restrição de IP. | cadeia de caracteres (obrigatório) |
IngressStickySessions
Nome | Descrição | Valor |
---|---|---|
afinidade | Afinidade de sessão autoadesiva | 'none' 'autoadesiva' |
TrafficWeight
Nome | Descrição | Valor |
---|---|---|
etiqueta | Associa um rótulo de tráfego a uma revisão | corda |
latestRevision | Indica que o peso do tráfego pertence a uma revisão estável mais recente | Bool |
revisionName | Nome de uma revisão | corda |
peso | Peso do tráfego atribuído a uma revisão | int |
RegistryCredentials
Nome | Descrição | Valor |
---|---|---|
identidade | Uma Identidade Gerenciada a ser usada para autenticar com o Registro de Contêiner do Azure. Para identidades atribuídas pelo usuário, use a ID completa do recurso de identidade atribuída pelo usuário. Para identidades atribuídas pelo sistema, use 'system' | corda |
passwordSecretRef | O nome do Segredo que contém a senha de logon do Registro | corda |
servidor | Servidor do Registro de Contêiner | corda |
nome de usuário | Nome de usuário do Registro de Contêiner | corda |
Segredo
Nome | Descrição | Valor |
---|---|---|
identidade | ID de recurso de uma identidade gerenciada para autenticar com o Azure Key Vault ou o Sistema para usar uma identidade atribuída pelo sistema. | corda |
keyVaultUrl | URL do Azure Key Vault apontando para o segredo referenciado pelo aplicativo de contêiner. | corda |
nome | Nome do segredo. | corda |
valor | Valor secreto. | corda Restrições: Valor confidencial. Passe como um parâmetro seguro. |
Serviço
Nome | Descrição | Valor |
---|---|---|
tipo | Tipo de serviço Dev ContainerApp | cadeia de caracteres (obrigatório) |
Modelo
Nome | Descrição | Valor |
---|---|---|
Recipientes | Lista de definições de contêiner para o Aplicativo de Contêiner. | de contêiner [] |
initContainers | Lista de contêineres especializados que são executados antes dos contêineres de aplicativo. | initContainer[] |
revisionSuffix | Sufixo amigável que é acrescentado ao nome da revisão | corda |
escala | Dimensionamento de propriedades para o Aplicativo de Contêiner. | de escala |
serviceBinds | Lista de serviços de aplicativo de contêiner associados ao aplicativo | ServiceBind [] |
terminationGracePeriodSeconds | Duração opcional em segundos que a Instância do Aplicativo de Contêiner precisa terminar normalmente. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). 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 processo. O padrão é 30 segundos. | int |
Volumes | Lista de definições de volume para o Aplicativo de Contêiner. | de volume [] |
Recipiente
EnvironmentVar
Nome | Descrição | Valor |
---|---|---|
nome | Nome da variável de ambiente. | corda |
secretRef | Nome do segredo do Aplicativo de Contêiner do qual extrair o valor da variável de ambiente. | corda |
valor | Valor de variável de ambiente não secreto. | corda |
ContainerAppProbe
Nome | Descrição | Valor |
---|---|---|
failureThreshold | Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. | int |
httpGet | HTTPGet especifica a solicitação http a ser executada. | ContainerAppProbeHttpGet |
initialDelaySeconds | Número de segundos após o início do contêiner antes do início das investigações de atividade. O valor mínimo é 1. O valor máximo é 60. | int |
periodSeconds | Com que frequência (em segundos) executar a investigação. Padrão para 10 segundos. O valor mínimo é 1. O valor máximo é 240. | int |
successThreshold | Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para animação e inicialização. O valor mínimo é 1. O valor máximo é 10. | int |
tcpSocket | O TCPSocket especifica uma ação envolvendo uma porta TCP. Ainda não há suporte para ganchos TCP. | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Duração opcional em segundos, o pod precisa terminar normalmente após a falha da investigação. O período de carência é a duração em segundos depois que os processos em execução no pod são enviados um sinal de terminação e a hora em que os processos são interrompidos à força com um sinal de morte. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. Se esse valor for nulo, os terminationGracePeriodSeconds do pod serão usados. Caso contrário, esse valor substituirá o valor fornecido pela especificação do pod. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). Esse é um campo alfa e requer a habilitação do portão de recursos ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) | int |
timeoutSeconds | Número de segundos após o qual a investigação atinge o tempo limite. O padrão é 1 segundo. O valor mínimo é 1. O valor máximo é 240. | int |
tipo | O tipo de investigação. | 'Liveness' 'Preparação' 'Inicialização' |
ContainerAppProbeHttpGet
Nome | Descrição | Valor |
---|---|---|
anfitrião | O nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders. | corda |
httpHeaders | Cabeçalhos personalizados a serem definidos na solicitação. HTTP permite cabeçalhos repetidos. | ContainerAppProbeHttpGetHttpHeadersItem[] |
caminho | Caminho para acesso no servidor HTTP. | corda |
porta | Nome ou número da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. | int (obrigatório) |
esquema | Esquema a ser usado para se conectar ao host. O padrão é HTTP. | 'HTTP' 'HTTPS' |
ContainerAppProbeHttpGetHttpHeadersItem
Nome | Descrição | Valor |
---|---|---|
nome | O nome do campo de cabeçalho | cadeia de caracteres (obrigatório) |
valor | O valor do campo de cabeçalho | cadeia de caracteres (obrigatório) |
ContainerAppProbeTcpSocket
Nome | Descrição | Valor |
---|---|---|
anfitrião | Opcional: nome do host ao qual se conectar, o padrão é o IP do pod. | corda |
porta | Número ou nome da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. | int (obrigatório) |
ContainerResources
Nome | Descrição | Valor |
---|---|---|
CPU | CPU necessária em núcleos, por exemplo, 0,5 Para especificar um valor decimal, use a função json(). | int ou json decimal |
memória | Memória necessária, por exemplo, "250 Mb" | corda |
VolumeMount
Nome | Descrição | Valor |
---|---|---|
mountPath | Caminho dentro do contêiner no qual o volume deve ser montado. Não deve conter ':'. | corda |
subPath | Caminho dentro do volume do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). | corda |
volumeName | Isso deve corresponder ao nome de um volume. | corda |
InitContainer
Escala
ScaleRule
Nome | Descrição | Valor |
---|---|---|
azureQueue | Dimensionamento baseado em Fila do Azure. | QueueScaleRule |
costume | Regra de escala personalizada. | CustomScaleRule |
http | Dimensionamento baseado em solicitações HTTP. | httpScaleRule |
nome | Nome da regra de escala | corda |
Tcp | Escala baseada em solicitações Tcp. | TcpScaleRule |
QueueScaleRule
Nome | 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. | corda |
ScaleRuleAuth
Nome | Descrição | Valor |
---|---|---|
secretRef | Nome do segredo do qual efetuar pull dos parâmetros de autenticação. | corda |
triggerParameter | Parâmetro de gatilho que usa o segredo | corda |
CustomScaleRule
CustomScaleRuleMetadata
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | corda |
HttpScaleRule
HttpScaleRuleMetadata
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | corda |
TcpScaleRule
Nome | 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
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | corda |
ServiceBind
Nome | Descrição | Valor |
---|---|---|
nome | Nome da associação de serviço | corda |
serviceId | ID do recurso do serviço de destino | corda |
Volume
SecretVolumeItem
Nome | Descrição | Valor |
---|---|---|
caminho | Caminho para o segredo do projeto. Se nenhum caminho for fornecido, o caminho usará como padrão o nome do segredo listado em secretRef. | corda |
secretRef | Nome do segredo do Aplicativo de Contêiner do qual extrair o valor do segredo. | corda |
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 o Registro |
Crie um ambiente de aplicativo de contêiner com um aplicativo de contêiner básico de um Registro de Contêiner do Azure. Ele também implanta um workspace do Log Analytics para armazenar logs. |
cria um aplicativo de contêiner com 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 workspace 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 workspace 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 seja dimensionado com base no tráfego HTTP. |
cria um ambiente de aplicativo de contêiner externo com um de VNET |
Cria um ambiente de Aplicativo de Contêiner externo com uma VNET. |
Cria um ambiente interno do Aplicativo de Contêiner com uma VNET |
Cria um ambiente interno do Aplicativo de Contêiner com uma VNET. |
Definição de recurso do Terraform (provedor de AzAPI)
O tipo de recurso containerApps pode ser implantado com operações de destino:
- grupos de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.
Formato de recurso
Para criar um recurso de Microsoft.App/containerApps, adicione o Terraform a seguir ao seu modelo.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/containerApps@2023-05-02-preview"
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
ExtendedLocation
Nome | Descrição | Valor |
---|---|---|
nome | O nome do local estendido. | corda |
tipo | O tipo do local estendido. | "CustomLocation" |
ManagedServiceIdentity
Nome | Descrição | Valor |
---|---|---|
tipo | Tipo de identidade de serviço gerenciado (em que 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 do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores do dicionário podem ser objetos vazios ({}) em solicitações. | Matriz de IDs de identidade do usuário. |
UserAssignedIdentities
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | UserAssignedIdentity |
UserAssignedIdentity
Esse objeto não contém nenhuma propriedade a ser definida durante a implantação. Todas as propriedades são ReadOnly.
ContainerAppProperties
Nome | Descrição | Valor |
---|---|---|
configuração | Propriedades de configuração do Aplicativo de Contêiner não com versão. | de Configuração do |
environmentId | ID do recurso do ambiente. | corda |
managedEnvironmentId | Deprecado. ID do recurso do ambiente do Aplicativo de Contêiner. | corda |
modelo | Definição de aplicativo com versão do Aplicativo de Contêiner. | de modelo de |
workloadProfileName | Nome do perfil de carga de trabalho a ser fixado na execução do aplicativo de contêiner. | corda |
Configuração
Nome | Descrição | Valor |
---|---|---|
activeRevisionsMode | ActiveRevisionsMode controla como as revisões ativas são tratadas para o aplicativo contêiner: {list} {item} Múltiplo: várias revisões podem estar ativas. {/item} {item} Único: apenas uma revisão pode estar ativa por vez. Os pesos de revisão não podem ser usados nesse modo. Se nenhum valor for fornecido, esse será o padrão. {/item} {/list} |
"Múltiplo" "Single" |
dapr | Configuração de dapr para o Aplicativo de Contêiner. | dapr |
Entrada | Configurações de entrada. | entrada |
maxInactiveRevisions | Opcional. Revisões inativas máximas que um Aplicativo de Contêiner pode ter. | int |
Registros | Coleção 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 contêiner | secret[] |
serviço | Aplicativo de contêiner para ser um serviço de aplicativo de contêiner de desenvolvimento | do Serviço |
Dapr
Nome | Descrição | Valor |
---|---|---|
appId | Identificador de aplicativo dapr | corda |
appPort | Informa à Dapr em qual porta seu aplicativo está escutando | int |
appProtocol | 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 em log de API para o sidecar da Dapr | Bool |
Habilitado | Booliano indicando se o carro lateral dapr está habilitado | Bool |
httpMaxRequestSize | Aumento do tamanho máximo do parâmetro de servidores http e grpc do corpo da solicitação em MB para lidar com o carregamento de arquivos grandes. O padrão é 4 MB. | int |
httpReadBufferSize | Tamanho máximo dapr do buffer de leitura de cabeçalho http em KB para manipular ao enviar cabeçalhos de vários KB. O padrão é 65 KB. | int |
logLevel | Define o nível de log para o sidecar Dapr. Os valores permitidos são depuração, informações, aviso, erro. O padrão são as informações. | "depuração" "error" "info" "avisar" |
Entrada
Nome | Descrição | Valor |
---|---|---|
additionalPortMappings | Configurações para expor portas adicionais no aplicativo de contêiner | IngressPortMapping [] |
allowInsecure | Bool indicando se as conexões HTTP são permitidas. Se definidas como conexões HTTP falsas forem redirecionadas automaticamente para conexões HTTPS | Bool |
clientCertificateMode | Modo de certificado do cliente para autenticação mTLS. Ignorar indica que o servidor descarta o certificado do cliente no encaminhamento. Aceitar indica que o servidor encaminha o certificado do cliente, mas não requer um certificado do cliente. Exigir indica que o servidor requer um certificado do cliente. | "aceitar" "ignorar" "require" |
corsPolicy | Política cors para aplicativo de contêiner | |
customDomains | associações de domínio personalizadas para nomes de host dos 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 |
ipSecurityRestrictions | Regras para restringir o endereço IP de entrada. | IpSecurityRestrictionRule [] |
stickySessions | Sessões autoadesivas para o modo de revisão única | IngressStickySessions |
targetPort | Porta de destino em contêineres para tráfego de entrada | int |
tráfego | Pesos de tráfego para revisões do aplicativo | trafficweight [] |
transporte | 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, ele usará como padrão a porta de destino | int |
externo | Especifica se a porta do aplicativo está acessível fora do ambiente | bool (obrigatório) |
targetPort | Especifica as escutas do contêiner do usuário de porta | int (obrigatório) |
CorsPolicy
Nome | Descrição | Valor |
---|---|---|
allowCredentials | Especifica se o recurso permite credenciais | Bool |
allowedHeaders | Especifica o conteúdo do cabeçalho access-control-allow-headers | string[] |
allowedMethods | Especifica o conteúdo do cabeçalho access-control-allow-methods | string[] |
allowedOrigins | 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[] |
maxAge | Especifica o conteúdo do cabeçalho access-control-max-age | int |
CustomDomain
Nome | Descrição | Valor |
---|---|---|
bindingType | Tipo de associação de domínio personalizado. | "Desabilitado" "SniEnabled" |
certificateId | ID do recurso do Certificado a ser associado a esse nome de host. Deve existir no Ambiente Gerenciado. | corda |
nome | Nome do host. | cadeia de caracteres (obrigatório) |
IpSecurityRestrictionRule
Nome | Descrição | Valor |
---|---|---|
ação | Permitir ou negar regras para determinar o IP de entrada. Observação: as regras só podem consistir em ALL Allow ou ALL Deny | "Permitir" "Negar" (obrigatório) |
descrição | Descreva a regra de restrição de IP que está sendo enviada para o aplicativo de contêiner. Esse é um campo opcional. | corda |
ipAddressRange | Notação CIDR para corresponder ao endereço IP de entrada | cadeia de caracteres (obrigatório) |
nome | Nome da regra de restrição de IP. | cadeia de caracteres (obrigatório) |
IngressStickySessions
Nome | Descrição | Valor |
---|---|---|
afinidade | Afinidade de sessão autoadesiva | "nenhum" "autoadesiva" |
TrafficWeight
Nome | Descrição | Valor |
---|---|---|
etiqueta | Associa um rótulo de tráfego a uma revisão | corda |
latestRevision | Indica que o peso do tráfego pertence a uma revisão estável mais recente | Bool |
revisionName | Nome de uma revisão | corda |
peso | Peso do tráfego atribuído a uma revisão | int |
RegistryCredentials
Nome | Descrição | Valor |
---|---|---|
identidade | Uma Identidade Gerenciada a ser usada para autenticar com o Registro de Contêiner do Azure. Para identidades atribuídas pelo usuário, use a ID completa do recurso de identidade atribuída pelo usuário. Para identidades atribuídas pelo sistema, use 'system' | corda |
passwordSecretRef | O nome do Segredo que contém a senha de logon do Registro | corda |
servidor | Servidor do Registro de Contêiner | corda |
nome de usuário | Nome de usuário do Registro de Contêiner | corda |
Segredo
Nome | Descrição | Valor |
---|---|---|
identidade | ID de recurso de uma identidade gerenciada para autenticar com o Azure Key Vault ou o Sistema para usar uma identidade atribuída pelo sistema. | corda |
keyVaultUrl | URL do Azure Key Vault apontando para o segredo referenciado pelo aplicativo de contêiner. | corda |
nome | Nome do segredo. | corda |
valor | Valor secreto. | corda Restrições: Valor confidencial. Passe como um parâmetro seguro. |
Serviço
Nome | Descrição | Valor |
---|---|---|
tipo | Tipo de serviço Dev ContainerApp | cadeia de caracteres (obrigatório) |
Modelo
Nome | Descrição | Valor |
---|---|---|
Recipientes | Lista de definições de contêiner para o Aplicativo de Contêiner. | de contêiner [] |
initContainers | Lista de contêineres especializados que são executados antes dos contêineres de aplicativo. | initContainer[] |
revisionSuffix | Sufixo amigável que é acrescentado ao nome da revisão | corda |
escala | Dimensionamento de propriedades para o Aplicativo de Contêiner. | de escala |
serviceBinds | Lista de serviços de aplicativo de contêiner associados ao aplicativo | ServiceBind [] |
terminationGracePeriodSeconds | Duração opcional em segundos que a Instância do Aplicativo de Contêiner precisa terminar normalmente. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). 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 processo. O padrão é 30 segundos. | int |
Volumes | Lista de definições de volume para o Aplicativo de Contêiner. | de volume [] |
Recipiente
EnvironmentVar
Nome | Descrição | Valor |
---|---|---|
nome | Nome da variável de ambiente. | corda |
secretRef | Nome do segredo do Aplicativo de Contêiner do qual extrair o valor da variável de ambiente. | corda |
valor | Valor de variável de ambiente não secreto. | corda |
ContainerAppProbe
Nome | Descrição | Valor |
---|---|---|
failureThreshold | Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. | int |
httpGet | HTTPGet especifica a solicitação http a ser executada. | ContainerAppProbeHttpGet |
initialDelaySeconds | Número de segundos após o início do contêiner antes do início das investigações de atividade. O valor mínimo é 1. O valor máximo é 60. | int |
periodSeconds | Com que frequência (em segundos) executar a investigação. Padrão para 10 segundos. O valor mínimo é 1. O valor máximo é 240. | int |
successThreshold | Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para animação e inicialização. O valor mínimo é 1. O valor máximo é 10. | int |
tcpSocket | O TCPSocket especifica uma ação envolvendo uma porta TCP. Ainda não há suporte para ganchos TCP. | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Duração opcional em segundos, o pod precisa terminar normalmente após a falha da investigação. O período de carência é a duração em segundos depois que os processos em execução no pod são enviados um sinal de terminação e a hora em que os processos são interrompidos à força com um sinal de morte. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. Se esse valor for nulo, os terminationGracePeriodSeconds do pod serão usados. Caso contrário, esse valor substituirá o valor fornecido pela especificação do pod. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). Esse é um campo alfa e requer a habilitação do portão de recursos ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) | int |
timeoutSeconds | Número de segundos após o qual a investigação atinge o tempo limite. O padrão é 1 segundo. O valor mínimo é 1. O valor máximo é 240. | int |
tipo | O tipo de investigação. | "Liveness" "Preparação" "Inicialização" |
ContainerAppProbeHttpGet
Nome | Descrição | Valor |
---|---|---|
anfitrião | O nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders. | corda |
httpHeaders | Cabeçalhos personalizados a serem definidos na solicitação. HTTP permite cabeçalhos repetidos. | ContainerAppProbeHttpGetHttpHeadersItem[] |
caminho | Caminho para acesso no servidor HTTP. | corda |
porta | Nome ou número da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. | int (obrigatório) |
esquema | Esquema a ser usado para se conectar ao host. O padrão é HTTP. | "HTTP" "HTTPS" |
ContainerAppProbeHttpGetHttpHeadersItem
Nome | Descrição | Valor |
---|---|---|
nome | O nome do campo de cabeçalho | cadeia de caracteres (obrigatório) |
valor | O valor do campo de cabeçalho | cadeia de caracteres (obrigatório) |
ContainerAppProbeTcpSocket
Nome | Descrição | Valor |
---|---|---|
anfitrião | Opcional: nome do host ao qual se conectar, o padrão é o IP do pod. | corda |
porta | Número ou nome da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. | int (obrigatório) |
ContainerResources
Nome | Descrição | Valor |
---|---|---|
CPU | CPU necessária em núcleos, por exemplo, 0,5 Especifique um valor decimal como uma cadeia de caracteres. | int ou json decimal |
memória | Memória necessária, por exemplo, "250 Mb" | corda |
VolumeMount
Nome | Descrição | Valor |
---|---|---|
mountPath | Caminho dentro do contêiner no qual o volume deve ser montado. Não deve conter ':'. | corda |
subPath | Caminho dentro do volume do qual o volume do contêiner deve ser montado. O padrão é "" (raiz do volume). | corda |
volumeName | Isso deve corresponder ao nome de um volume. | corda |
InitContainer
Escala
ScaleRule
Nome | Descrição | Valor |
---|---|---|
azureQueue | Dimensionamento baseado em Fila do Azure. | QueueScaleRule |
costume | Regra de escala personalizada. | CustomScaleRule |
http | Dimensionamento baseado em solicitações HTTP. | httpScaleRule |
nome | Nome da regra de escala | corda |
Tcp | Escala baseada em solicitações Tcp. | TcpScaleRule |
QueueScaleRule
Nome | 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. | corda |
ScaleRuleAuth
Nome | Descrição | Valor |
---|---|---|
secretRef | Nome do segredo do qual efetuar pull dos parâmetros de autenticação. | corda |
triggerParameter | Parâmetro de gatilho que usa o segredo | corda |
CustomScaleRule
CustomScaleRuleMetadata
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | corda |
HttpScaleRule
HttpScaleRuleMetadata
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | corda |
TcpScaleRule
Nome | 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
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | corda |
ServiceBind
Nome | Descrição | Valor |
---|---|---|
nome | Nome da associação de serviço | corda |
serviceId | ID do recurso do serviço de destino | corda |
Volume
SecretVolumeItem
Nome | Descrição | Valor |
---|---|---|
caminho | Caminho para o segredo do projeto. Se nenhum caminho for fornecido, o caminho usará como padrão o nome do segredo listado em secretRef. | corda |
secretRef | Nome do segredo do Aplicativo de Contêiner do qual extrair o valor do segredo. | corda |