Compartilhar via


Microsoft.App containerApps 2022-01-01-preview

Definição de recurso do Bicep

O tipo de recurso containerApps pode ser implantado com operações de destino:

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@2022-01-01-preview' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    configuration: {
      activeRevisionsMode: 'string'
      dapr: {
        appId: 'string'
        appPort: int
        appProtocol: 'string'
        enabled: bool
      }
      ingress: {
        allowInsecure: bool
        customDomains: [
          {
            bindingType: 'string'
            certificateId: 'string'
            name: 'string'
          }
        ]
        external: bool
        targetPort: int
        traffic: [
          {
            latestRevision: bool
            revisionName: 'string'
            weight: int
          }
        ]
        transport: 'string'
      }
      registries: [
        {
          passwordSecretRef: 'string'
          server: 'string'
          username: 'string'
        }
      ]
      secrets: [
        {
          name: 'string'
          value: 'string'
        }
      ]
    }
    managedEnvironmentId: 'string'
    template: {
      containers: [
        {
          args: [
            'string'
          ]
          command: [
            'string'
          ]
          env: [
            {
              name: 'string'
              secretRef: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          name: 'string'
          probes: [
            {
              failureThreshold: int
              httpGet: {
                host: 'string'
                httpHeaders: [
                  {
                    name: 'string'
                    value: 'string'
                  }
                ]
                path: 'string'
                port: int
                scheme: 'string'
              }
              initialDelaySeconds: int
              periodSeconds: int
              successThreshold: int
              tcpSocket: {
                host: 'string'
                port: int
              }
              terminationGracePeriodSeconds: int
              timeoutSeconds: int
              type: 'string'
            }
          ]
          resources: {
            cpu: int
            memory: 'string'
          }
          volumeMounts: [
            {
              mountPath: 'string'
              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'
          }
        ]
      }
      volumes: [
        {
          name: 'string'
          storageName: 'string'
          storageType: 'string'
        }
      ]
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Valores de propriedade

Configuração

Nome Descrição Valor
activeRevisionsMode ActiveRevisionsMode controla como as revisões ativas são tratadas para o aplicativo contêiner:
<lista><item>Múltiplo: várias revisões podem estar ativas. Se nenhum valor for fornecido, esse será o</item padrão><item>Único: apenas uma revisão pode estar ativa por vez. Os pesos de revisão não podem ser usados nesse modo</item></list>
'Múltiplo'
'Single'
dapr Configuração de dapr para o Aplicativo de Contêiner. Dapr
Entrada Configurações de entrada. Entrada
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[]

Recipiente

Nome Descrição Valor
args Argumentos de comando de início de contêiner. string[]
comando Comando de início do contêiner. string[]
Env Variáveis de ambiente de contêiner. EnvironmentVar []
imagem Marca de imagem de contêiner. corda
nome Nome do contêiner personalizado. corda
Sondas Lista de investigações para o contêiner. ContainerAppProbe []
Recursos Requisitos de recursos de contêiner. ContainerResources
volumeMounts Montagens de volume de contêiner. VolumeMount []

ContainerAppProbe

Nome Descrição Valor
failureThreshold Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. int
httpGet HTTPGet especifica a solicitação http a ser executada. ContainerAppProbeHttpGet
initialDelaySeconds Número de segundos após o início do contêiner antes do início das investigações de atividade. O valor mínimo é 1. O valor máximo é 60. int
periodSeconds Com que frequência (em segundos) executar a investigação. Padrão para 10 segundos. O valor mínimo é 1. O valor máximo é 240. int
successThreshold Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para animação e inicialização. O valor mínimo é 1. O valor máximo é 10. int
tcpSocket O TCPSocket especifica uma ação envolvendo uma porta TCP. Ainda não há suporte para ganchos TCP. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Duração opcional em segundos, o pod precisa terminar normalmente após a falha da investigação. O período de carência é a duração em segundos depois que os processos em execução no pod são enviados um sinal de terminação e a hora em que os processos são interrompidos à força com um sinal de morte. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. Se esse valor for nulo, os terminationGracePeriodSeconds do pod serão usados. Caso contrário, esse valor substituirá o valor fornecido pela especificação do pod. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). Esse é um campo alfa e requer a habilitação do portão de recursos ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) int
timeoutSeconds Número de segundos após o qual a investigação atinge o tempo limite. O padrão é 1 segundo. O valor mínimo é 1. O valor máximo é 240. int
tipo O tipo de investigação. 'Liveness'
'Preparação'
'Inicialização'

ContainerAppProbeHttpGet

Nome Descrição Valor
anfitrião O nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders. corda
httpHeaders Cabeçalhos personalizados a serem definidos na solicitação. HTTP permite cabeçalhos repetidos. ContainerAppProbeHttpGetHttpHeadersItem[]
caminho Caminho para acesso no servidor HTTP. corda
porta Nome ou número da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. int (obrigatório)
esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP. 'HTTP'
'HTTPS'

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)

ContainerAppProperties

Nome Descrição Valor
configuração Propriedades de configuração do Aplicativo de Contêiner não com versão. Configuration
managedEnvironmentId ID do recurso do ambiente do Aplicativo de Contêiner. corda
modelo Definição de aplicativo com versão do Aplicativo de Contêiner. Modelo

ContainerResources

Nome Descrição Valor
CPU CPU necessária em núcleos, por exemplo, 0,5 int
memória Memória necessária, por exemplo, "250 Mb" corda

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. corda
nome Nome do host. cadeia de caracteres (obrigatório)

CustomScaleRule

Nome 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 da regra de escala personalizada
por exemplo: azure-servicebus, redis etc.
corda

CustomScaleRuleMetadata

Nome Descrição Valor

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'
Habilitado Booliano indicando se o carro lateral dapr está habilitado Bool

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

HttpScaleRule

Nome 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

Nome Descrição Valor

Entrada

Nome Descrição Valor
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
customDomains associações de domínio personalizadas para nomes de host dos Aplicativos de Contêiner. CustomDomain []
externo Bool indicando se o aplicativo expõe um ponto de extremidade http externo Bool
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'

ManagedServiceIdentity

Nome Descrição Valor
tipo Tipo de identidade de serviço gerenciado (em que os tipos SystemAssigned e UserAssigned são permitidos). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obrigatório)
userAssignedIdentities O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores do dicionário podem ser objetos vazios ({}) em solicitações. UserAssignedIdentities

Microsoft.App/containerApps

Nome Descrição Valor
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
localização A localização geográfica onde o recurso reside cadeia de caracteres (obrigatório)
nome O nome do recurso cadeia de caracteres (obrigatório)
Propriedades Propriedades específicas do recurso ContainerApp ContainerAppProperties
Tags Marcas de recurso Dicionário de nomes e valores de marca. Consulte Marcas em modelos

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

RegistryCredentials

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

Escala

Nome Descrição Valor
maxReplicas Opcional. Número máximo de réplicas de contêiner. O padrão é 10 se não for definido. int
minReplicas Opcional. Número mínimo de réplicas de contêiner. int
réguas Regras de dimensionamento. ScaleRule []

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

ScaleRuleAuth

Nome Descrição Valor
secretRef Nome do segredo do Aplicativo de Contêiner do qual efetuar pull dos parâmetros de autenticação. corda
triggerParameter Parâmetro de gatilho que usa o segredo corda

Segredo

Nome Descrição Valor
nome Nome do segredo. corda
valor Valor secreto. corda

Restrições:
Valor confidencial. Passe como um parâmetro seguro.

Modelo

Nome Descrição Valor
Recipientes Lista de definições de contêiner para o Aplicativo de Contêiner. de contêiner []
revisionSuffix Sufixo amigável que é acrescentado ao nome da revisão corda
escala Dimensionamento de propriedades para o Aplicativo de Contêiner. Escala
Volumes Lista de definições de volume para o Aplicativo de Contêiner. de volume []

TrackedResourceTags

Nome Descrição Valor

TrafficWeight

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

UserAssignedIdentities

Nome Descrição Valor

UserAssignedIdentity

Nome Descrição Valor

Volume

Nome Descrição Valor
nome Nome do volume. corda
storageName Nome do recurso de armazenamento. Não é necessário fornecer para EmptyDir. corda
storageType Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. 'AzureFile'
'EmptyDir'

VolumeMount

Nome Descrição Valor
mountPath Caminho dentro do contêiner no qual o volume deve ser montado. Não deve conter ':'. corda
volumeName Isso deve corresponder ao nome de um volume. corda

Exemplos de início rápido

Os exemplos de início rápido a seguir implantam esse tipo de recurso.

Arquivo Bicep 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 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 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 microsserviços da Dapr usando aplicativos de contêiner Crie um aplicativo de microsserviços Dapr usando Aplicativos de Contêiner.
Cria um aplicativo dapr pub-sub servicebus usando aplicativos de contêiner Crie um aplicativo dapr pub-sub servicebus usando Aplicativos de Contêiner.
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 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:

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": "2022-01-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "configuration": {
      "activeRevisionsMode": "string",
      "dapr": {
        "appId": "string",
        "appPort": "int",
        "appProtocol": "string",
        "enabled": "bool"
      },
      "ingress": {
        "allowInsecure": "bool",
        "customDomains": [
          {
            "bindingType": "string",
            "certificateId": "string",
            "name": "string"
          }
        ],
        "external": "bool",
        "targetPort": "int",
        "traffic": [
          {
            "latestRevision": "bool",
            "revisionName": "string",
            "weight": "int"
          }
        ],
        "transport": "string"
      },
      "registries": [
        {
          "passwordSecretRef": "string",
          "server": "string",
          "username": "string"
        }
      ],
      "secrets": [
        {
          "name": "string",
          "value": "string"
        }
      ]
    },
    "managedEnvironmentId": "string",
    "template": {
      "containers": [
        {
          "args": [ "string" ],
          "command": [ "string" ],
          "env": [
            {
              "name": "string",
              "secretRef": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "name": "string",
          "probes": [
            {
              "failureThreshold": "int",
              "httpGet": {
                "host": "string",
                "httpHeaders": [
                  {
                    "name": "string",
                    "value": "string"
                  }
                ],
                "path": "string",
                "port": "int",
                "scheme": "string"
              },
              "initialDelaySeconds": "int",
              "periodSeconds": "int",
              "successThreshold": "int",
              "tcpSocket": {
                "host": "string",
                "port": "int"
              },
              "terminationGracePeriodSeconds": "int",
              "timeoutSeconds": "int",
              "type": "string"
            }
          ],
          "resources": {
            "cpu": "int",
            "memory": "string"
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "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"
          }
        ]
      },
      "volumes": [
        {
          "name": "string",
          "storageName": "string",
          "storageType": "string"
        }
      ]
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valores de propriedade

Configuração

Nome Descrição Valor
activeRevisionsMode ActiveRevisionsMode controla como as revisões ativas são tratadas para o aplicativo contêiner:
<lista><item>Múltiplo: várias revisões podem estar ativas. Se nenhum valor for fornecido, esse será o</item padrão><item>Único: apenas uma revisão pode estar ativa por vez. Os pesos de revisão não podem ser usados nesse modo</item></list>
'Múltiplo'
'Single'
dapr Configuração de dapr para o Aplicativo de Contêiner. Dapr
Entrada Configurações de entrada. Entrada
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[]

Recipiente

Nome Descrição Valor
args Argumentos de comando de início de contêiner. string[]
comando Comando de início do contêiner. string[]
Env Variáveis de ambiente de contêiner. EnvironmentVar []
imagem Marca de imagem de contêiner. corda
nome Nome do contêiner personalizado. corda
Sondas Lista de investigações para o contêiner. ContainerAppProbe []
Recursos Requisitos de recursos de contêiner. ContainerResources
volumeMounts Montagens de volume de contêiner. VolumeMount []

ContainerAppProbe

Nome Descrição Valor
failureThreshold Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. int
httpGet HTTPGet especifica a solicitação http a ser executada. ContainerAppProbeHttpGet
initialDelaySeconds Número de segundos após o início do contêiner antes do início das investigações de atividade. O valor mínimo é 1. O valor máximo é 60. int
periodSeconds Com que frequência (em segundos) executar a investigação. Padrão para 10 segundos. O valor mínimo é 1. O valor máximo é 240. int
successThreshold Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para animação e inicialização. O valor mínimo é 1. O valor máximo é 10. int
tcpSocket O TCPSocket especifica uma ação envolvendo uma porta TCP. Ainda não há suporte para ganchos TCP. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Duração opcional em segundos, o pod precisa terminar normalmente após a falha da investigação. O período de carência é a duração em segundos depois que os processos em execução no pod são enviados um sinal de terminação e a hora em que os processos são interrompidos à força com um sinal de morte. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. Se esse valor for nulo, os terminationGracePeriodSeconds do pod serão usados. Caso contrário, esse valor substituirá o valor fornecido pela especificação do pod. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). Esse é um campo alfa e requer a habilitação do portão de recursos ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) int
timeoutSeconds Número de segundos após o qual a investigação atinge o tempo limite. O padrão é 1 segundo. O valor mínimo é 1. O valor máximo é 240. int
tipo O tipo de investigação. 'Liveness'
'Preparação'
'Inicialização'

ContainerAppProbeHttpGet

Nome Descrição Valor
anfitrião O nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders. corda
httpHeaders Cabeçalhos personalizados a serem definidos na solicitação. HTTP permite cabeçalhos repetidos. ContainerAppProbeHttpGetHttpHeadersItem[]
caminho Caminho para acesso no servidor HTTP. corda
porta Nome ou número da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. int (obrigatório)
esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP. 'HTTP'
'HTTPS'

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)

ContainerAppProperties

Nome Descrição Valor
configuração Propriedades de configuração do Aplicativo de Contêiner não com versão. Configuration
managedEnvironmentId ID do recurso do ambiente do Aplicativo de Contêiner. corda
modelo Definição de aplicativo com versão do Aplicativo de Contêiner. Modelo

ContainerResources

Nome Descrição Valor
CPU CPU necessária em núcleos, por exemplo, 0,5 int
memória Memória necessária, por exemplo, "250 Mb" corda

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. corda
nome Nome do host. cadeia de caracteres (obrigatório)

CustomScaleRule

Nome 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 da regra de escala personalizada
por exemplo: azure-servicebus, redis etc.
corda

CustomScaleRuleMetadata

Nome Descrição Valor

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'
Habilitado Booliano indicando se o carro lateral dapr está habilitado Bool

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

HttpScaleRule

Nome 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

Nome Descrição Valor

Entrada

Nome Descrição Valor
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
customDomains associações de domínio personalizadas para nomes de host dos Aplicativos de Contêiner. CustomDomain []
externo Bool indicando se o aplicativo expõe um ponto de extremidade http externo Bool
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'

ManagedServiceIdentity

Nome Descrição Valor
tipo Tipo de identidade de serviço gerenciado (em que os tipos SystemAssigned e UserAssigned são permitidos). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obrigatório)
userAssignedIdentities O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores do dicionário podem ser objetos vazios ({}) em solicitações. UserAssignedIdentities

Microsoft.App/containerApps

Nome Descrição Valor
apiVersion A versão da API '2022-01-01-preview'
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
localização A localização geográfica onde o recurso reside cadeia de caracteres (obrigatório)
nome O nome do recurso cadeia de caracteres (obrigatório)
Propriedades Propriedades específicas do recurso ContainerApp ContainerAppProperties
Tags Marcas de recurso Dicionário de nomes e valores de marca. Consulte Marcas em modelos
tipo O tipo de recurso 'Microsoft.App/containerApps'

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

RegistryCredentials

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

Escala

Nome Descrição Valor
maxReplicas Opcional. Número máximo de réplicas de contêiner. O padrão é 10 se não for definido. int
minReplicas Opcional. Número mínimo de réplicas de contêiner. int
réguas Regras de dimensionamento. ScaleRule []

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

ScaleRuleAuth

Nome Descrição Valor
secretRef Nome do segredo do Aplicativo de Contêiner do qual efetuar pull dos parâmetros de autenticação. corda
triggerParameter Parâmetro de gatilho que usa o segredo corda

Segredo

Nome Descrição Valor
nome Nome do segredo. corda
valor Valor secreto. corda

Restrições:
Valor confidencial. Passe como um parâmetro seguro.

Modelo

Nome Descrição Valor
Recipientes Lista de definições de contêiner para o Aplicativo de Contêiner. de contêiner []
revisionSuffix Sufixo amigável que é acrescentado ao nome da revisão corda
escala Dimensionamento de propriedades para o Aplicativo de Contêiner. Escala
Volumes Lista de definições de volume para o Aplicativo de Contêiner. de volume []

TrackedResourceTags

Nome Descrição Valor

TrafficWeight

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

UserAssignedIdentities

Nome Descrição Valor

UserAssignedIdentity

Nome Descrição Valor

Volume

Nome Descrição Valor
nome Nome do volume. corda
storageName Nome do recurso de armazenamento. Não é necessário fornecer para EmptyDir. corda
storageType Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. 'AzureFile'
'EmptyDir'

VolumeMount

Nome Descrição Valor
mountPath Caminho dentro do contêiner no qual o volume deve ser montado. Não deve conter ':'. corda
volumeName Isso deve corresponder ao nome de um volume. 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

Implantar no Azure
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 uma regra de dimensionamento HTTP definida

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

Implantar no Azure
Crie um ambiente de aplicativo de contêiner com um aplicativo de contêiner básico. Ele também implanta um workspace do Log Analytics para armazenar logs.
cria um aplicativo de microsserviços da Dapr usando aplicativos de contêiner

Implantar no Azure
Crie um aplicativo de microsserviços Dapr usando Aplicativos de Contêiner.
Cria um aplicativo dapr pub-sub servicebus usando aplicativos de contêiner

Implantar no Azure
Crie um aplicativo dapr pub-sub servicebus usando Aplicativos de Contêiner.
cria um aplicativo de contêiner com um ambiente de aplicativo de contêiner

Implantar no Azure
Crie um ambiente de aplicativo de contêiner com um aplicativo de contêiner básico. Ele também implanta um workspace do Log Analytics para armazenar logs.
cria um ambiente de aplicativo de contêiner externo com um de VNET

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

Implantar no Azure
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@2022-01-01-preview"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      configuration = {
        activeRevisionsMode = "string"
        dapr = {
          appId = "string"
          appPort = int
          appProtocol = "string"
          enabled = bool
        }
        ingress = {
          allowInsecure = bool
          customDomains = [
            {
              bindingType = "string"
              certificateId = "string"
              name = "string"
            }
          ]
          external = bool
          targetPort = int
          traffic = [
            {
              latestRevision = bool
              revisionName = "string"
              weight = int
            }
          ]
          transport = "string"
        }
        registries = [
          {
            passwordSecretRef = "string"
            server = "string"
            username = "string"
          }
        ]
        secrets = [
          {
            name = "string"
            value = "string"
          }
        ]
      }
      managedEnvironmentId = "string"
      template = {
        containers = [
          {
            args = [
              "string"
            ]
            command = [
              "string"
            ]
            env = [
              {
                name = "string"
                secretRef = "string"
                value = "string"
              }
            ]
            image = "string"
            name = "string"
            probes = [
              {
                failureThreshold = int
                httpGet = {
                  host = "string"
                  httpHeaders = [
                    {
                      name = "string"
                      value = "string"
                    }
                  ]
                  path = "string"
                  port = int
                  scheme = "string"
                }
                initialDelaySeconds = int
                periodSeconds = int
                successThreshold = int
                tcpSocket = {
                  host = "string"
                  port = int
                }
                terminationGracePeriodSeconds = int
                timeoutSeconds = int
                type = "string"
              }
            ]
            resources = {
              cpu = int
              memory = "string"
            }
            volumeMounts = [
              {
                mountPath = "string"
                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"
            }
          ]
        }
        volumes = [
          {
            name = "string"
            storageName = "string"
            storageType = "string"
          }
        ]
      }
    }
  })
}

Valores de propriedade

Configuração

Nome Descrição Valor
activeRevisionsMode ActiveRevisionsMode controla como as revisões ativas são tratadas para o aplicativo contêiner:
<lista><item>Múltiplo: várias revisões podem estar ativas. Se nenhum valor for fornecido, esse será o</item padrão><item>Único: apenas uma revisão pode estar ativa por vez. Os pesos de revisão não podem ser usados nesse modo</item></list>
'Múltiplo'
'Single'
dapr Configuração de dapr para o Aplicativo de Contêiner. Dapr
Entrada Configurações de entrada. Entrada
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[]

Recipiente

Nome Descrição Valor
args Argumentos de comando de início de contêiner. string[]
comando Comando de início do contêiner. string[]
Env Variáveis de ambiente de contêiner. EnvironmentVar []
imagem Marca de imagem de contêiner. corda
nome Nome do contêiner personalizado. corda
Sondas Lista de investigações para o contêiner. ContainerAppProbe []
Recursos Requisitos de recursos de contêiner. ContainerResources
volumeMounts Montagens de volume de contêiner. VolumeMount []

ContainerAppProbe

Nome Descrição Valor
failureThreshold Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O padrão é 3. O valor mínimo é 1. O valor máximo é 10. int
httpGet HTTPGet especifica a solicitação http a ser executada. ContainerAppProbeHttpGet
initialDelaySeconds Número de segundos após o início do contêiner antes do início das investigações de atividade. O valor mínimo é 1. O valor máximo é 60. int
periodSeconds Com que frequência (em segundos) executar a investigação. Padrão para 10 segundos. O valor mínimo é 1. O valor máximo é 240. int
successThreshold Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. O padrão é 1. Deve ser 1 para animação e inicialização. O valor mínimo é 1. O valor máximo é 10. int
tcpSocket O TCPSocket especifica uma ação envolvendo uma porta TCP. Ainda não há suporte para ganchos TCP. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Duração opcional em segundos, o pod precisa terminar normalmente após a falha da investigação. O período de carência é a duração em segundos depois que os processos em execução no pod são enviados um sinal de terminação e a hora em que os processos são interrompidos à força com um sinal de morte. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. Se esse valor for nulo, os terminationGracePeriodSeconds do pod serão usados. Caso contrário, esse valor substituirá o valor fornecido pela especificação do pod. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). Esse é um campo alfa e requer a habilitação do portão de recursos ProbeTerminationGracePeriod. O valor máximo é de 3600 segundos (1 hora) int
timeoutSeconds Número de segundos após o qual a investigação atinge o tempo limite. O padrão é 1 segundo. O valor mínimo é 1. O valor máximo é 240. int
tipo O tipo de investigação. 'Liveness'
'Preparação'
'Inicialização'

ContainerAppProbeHttpGet

Nome Descrição Valor
anfitrião O nome do host ao qual se conectar, o padrão é o IP do pod. Você provavelmente deseja definir "Host" em httpHeaders. corda
httpHeaders Cabeçalhos personalizados a serem definidos na solicitação. HTTP permite cabeçalhos repetidos. ContainerAppProbeHttpGetHttpHeadersItem[]
caminho Caminho para acesso no servidor HTTP. corda
porta Nome ou número da porta a ser acessada no contêiner. O número deve estar no intervalo de 1 a 65535. O nome deve ser um IANA_SVC_NAME. int (obrigatório)
esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP. 'HTTP'
'HTTPS'

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)

ContainerAppProperties

Nome Descrição Valor
configuração Propriedades de configuração do Aplicativo de Contêiner não com versão. Configuration
managedEnvironmentId ID do recurso do ambiente do Aplicativo de Contêiner. corda
modelo Definição de aplicativo com versão do Aplicativo de Contêiner. Modelo

ContainerResources

Nome Descrição Valor
CPU CPU necessária em núcleos, por exemplo, 0,5 int
memória Memória necessária, por exemplo, "250 Mb" corda

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. corda
nome Nome do host. cadeia de caracteres (obrigatório)

CustomScaleRule

Nome 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 da regra de escala personalizada
por exemplo: azure-servicebus, redis etc.
corda

CustomScaleRuleMetadata

Nome Descrição Valor

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'
Habilitado Booliano indicando se o carro lateral dapr está habilitado Bool

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

HttpScaleRule

Nome 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

Nome Descrição Valor

Entrada

Nome Descrição Valor
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
customDomains associações de domínio personalizadas para nomes de host dos Aplicativos de Contêiner. CustomDomain []
externo Bool indicando se o aplicativo expõe um ponto de extremidade http externo Bool
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'

ManagedServiceIdentity

Nome Descrição Valor
tipo Tipo de identidade de serviço gerenciado (em que os tipos SystemAssigned e UserAssigned são permitidos). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obrigatório)
userAssignedIdentities O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão IDs de recurso do ARM no formulário: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores do dicionário podem ser objetos vazios ({}) em solicitações. UserAssignedIdentities

Microsoft.App/containerApps

Nome Descrição Valor
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
localização A localização geográfica onde o recurso reside cadeia de caracteres (obrigatório)
nome O nome do recurso cadeia de caracteres (obrigatório)
Propriedades Propriedades específicas do recurso ContainerApp ContainerAppProperties
Tags Marcas de recurso Dicionário de nomes e valores de marca.
tipo O tipo de recurso "Microsoft.App/containerApps@2022-01-01-preview"

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

RegistryCredentials

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

Escala

Nome Descrição Valor
maxReplicas Opcional. Número máximo de réplicas de contêiner. O padrão é 10 se não for definido. int
minReplicas Opcional. Número mínimo de réplicas de contêiner. int
réguas Regras de dimensionamento. ScaleRule []

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

ScaleRuleAuth

Nome Descrição Valor
secretRef Nome do segredo do Aplicativo de Contêiner do qual efetuar pull dos parâmetros de autenticação. corda
triggerParameter Parâmetro de gatilho que usa o segredo corda

Segredo

Nome Descrição Valor
nome Nome do segredo. corda
valor Valor secreto. corda

Restrições:
Valor confidencial. Passe como um parâmetro seguro.

Modelo

Nome Descrição Valor
Recipientes Lista de definições de contêiner para o Aplicativo de Contêiner. de contêiner []
revisionSuffix Sufixo amigável que é acrescentado ao nome da revisão corda
escala Dimensionamento de propriedades para o Aplicativo de Contêiner. Escala
Volumes Lista de definições de volume para o Aplicativo de Contêiner. de volume []

TrackedResourceTags

Nome Descrição Valor

TrafficWeight

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

UserAssignedIdentities

Nome Descrição Valor

UserAssignedIdentity

Nome Descrição Valor

Volume

Nome Descrição Valor
nome Nome do volume. corda
storageName Nome do recurso de armazenamento. Não é necessário fornecer para EmptyDir. corda
storageType Tipo de armazenamento para o volume. Se não for fornecido, use EmptyDir. 'AzureFile'
'EmptyDir'

VolumeMount

Nome Descrição Valor
mountPath Caminho dentro do contêiner no qual o volume deve ser montado. Não deve conter ':'. corda
volumeName Isso deve corresponder ao nome de um volume. corda