Definición de recursos de Bicep
El tipo de recurso containerApps se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de api, consulte registro de cambios.
Para crear un recurso de Microsoft.App/containerApps, agregue el siguiente bicep a la plantilla.
resource symbolicname 'Microsoft.App/containerApps@2022-03-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
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: [
{
label: 'string'
latestRevision: bool
revisionName: 'string'
weight: int
}
]
transport: 'string'
}
registries: [
{
identity: 'string'
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: json('decimal-as-string')
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 propiedad
containerApps
Nombre |
Descripción |
Value |
name |
El nombre del recurso |
string (obligatorio)
Límite de caracteres: 2-32
Caracteres válidos: Letras minúsculas, números y guiones.
Comience con una letra y termine con un carácter alfanumérico. |
ubicación |
Ubicación geográfica donde reside el recurso |
string (obligatorio) |
etiquetas |
Etiquetas del recurso. |
Diccionario de nombres y valores de etiqueta. Consulte Etiquetas en plantillas. |
identidad |
Identidades administradas para que la aplicación contenedora interactúe con otros servicios de Azure sin mantener secretos ni credenciales en el código. |
ManagedServiceIdentity |
properties |
Propiedades específicas del recurso ContainerApp |
ContainerAppProperties |
ManagedServiceIdentity
Nombre |
Descripción |
Value |
type |
Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). |
'Ninguno' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obligatorio) |
userAssignedIdentities |
Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves del diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. |
UserAssignedIdentities |
UserAssignedIdentities
UserAssignedIdentity
Este objeto no contiene ninguna propiedad que se va a establecer durante la implementación. Todas las propiedades son ReadOnly.
ContainerAppProperties
Nombre |
Descripción |
Valor |
configuración |
Propiedades de configuración de la aplicación contenedora no con versiones. |
Configuración |
managedEnvironmentId |
Identificador de recurso del entorno de la aplicación contenedora. |
string |
template |
Definición de aplicación con versiones de container App. |
Plantilla |
Configuración
Nombre |
Descripción |
Valor |
activeRevisionsMode |
ActiveRevisionsMode controla cómo se controlan las revisiones activas para la aplicación contenedora: {list} {item} Múltiplo: se pueden activar varias revisiones. {/item} {item} Único: solo una revisión puede estar activa a la vez. Los pesos de revisión no se pueden usar en este modo. Si no se proporciona ningún valor, este es el valor predeterminado. {/item} {/list} |
"Múltiplo" 'Single' |
dapr |
Configuración de Dapr para la aplicación contenedora. |
Dapr |
Ingreso |
Configuraciones de entrada. |
Entrada |
registries |
Colección de credenciales de registro de contenedor privado para contenedores usados por la aplicación contenedora |
RegistryCredentials[] |
secrets |
Colección de secretos usados por una aplicación contenedora |
Secreto[] |
Dapr
Nombre |
Descripción |
Value |
appId |
Identificador de aplicación dapr |
string |
appPort |
Indica a Dapr en qué puerto escucha la aplicación. |
int |
appProtocol |
Indica a Dapr qué protocolo usa la aplicación. Las opciones válidas son http y grpc. El valor predeterminado es http |
'grpc' 'http' |
enabled |
Boolean que indica si el coche lateral dapr está habilitado |
bool |
Entrada
Nombre |
Descripción |
Valor |
allowInsecure |
Bool indica si se permiten conexiones HTTP a . Si se establece en conexiones HTTP falsas se redirige automáticamente a las conexiones HTTPS. |
bool |
customDomains |
enlaces de dominio personalizados para los nombres de host de Container Apps. |
CustomDomain[] |
external |
Bool indica si la aplicación expone un punto de conexión HTTP externo |
bool |
targetPort |
Puerto de destino en contenedores para el tráfico de entrada |
int |
traffic |
Pesos del tráfico para las revisiones de la aplicación |
TrafficWeight[] |
transporte |
Protocolo de transporte de entrada |
'auto' 'http' 'http2' |
CustomDomain
Nombre |
Descripción |
Valor |
bindingType |
Custom Domain tipo de enlace. |
'Deshabilitado' 'SniEnabled' |
certificateId |
Identificador de recurso del certificado que se va a enlazar a este nombre de host. |
string |
name |
Nombre de host. |
string (obligatorio) |
TrafficWeight
Nombre |
Descripción |
Valor |
etiqueta |
Asocia una etiqueta de tráfico a una revisión |
string |
latestRevision |
Indica que el peso del tráfico pertenece a una revisión estable más reciente. |
bool |
revisionName |
Nombre de una revisión |
string |
peso |
Peso del tráfico asignado a una revisión |
int |
RegistryCredentials
Nombre |
Descripción |
Valor |
identidad |
Una identidad administrada que se va a usar para autenticarse con Azure Container Registry. En el caso de las identidades asignadas por el usuario, use el identificador de recurso de identidad asignado por el usuario completo. Para las identidades asignadas por el sistema, use "system" |
string |
passwordSecretRef |
Nombre del secreto que contiene la contraseña de inicio de sesión del Registro |
string |
server |
Container Registry Server |
string |
username |
Nombre de usuario de Container Registry |
string |
Secreto
Nombre |
Descripción |
Value |
name |
Nombre del secreto. |
string |
value |
Valor secreto. |
string
Restricciones: Valor confidencial. Pase como parámetro seguro.
|
Plantilla
Nombre |
Descripción |
Value |
containers |
Lista de definiciones de contenedor para la aplicación contenedora. |
Contenedor[] |
revisionSuffix |
Sufijo descriptivo que se anexa al nombre de revisión |
string |
scale |
Propiedades de escalado para la aplicación contenedora. |
Escala |
volumes |
Lista de definiciones de volumen para la aplicación contenedora. |
Volumen[] |
Contenedor
Nombre |
Descripción |
Valor |
args |
Argumentos de comando de inicio de contenedor. |
string[] |
command |
Comando de inicio del contenedor. |
string[] |
env |
Variables de entorno de contenedor. |
EnvironmentVar[] |
imagen |
Etiqueta de imagen de contenedor. |
string |
name |
Nombre del contenedor personalizado. |
string |
probes |
Lista de sondeos para el contenedor. |
ContainerAppProbe[] |
resources |
Requisitos de recursos de contenedor. |
ContainerResources |
volumeMounts |
Montajes de volúmenes de contenedor. |
VolumeMount[] |
EnvironmentVar
Nombre |
Descripción |
Value |
name |
Nombre de la variable de entorno. |
string |
secretRef |
Nombre del secreto de la aplicación contenedora del que se va a extraer el valor de la variable de entorno. |
string |
value |
Valor de variable de entorno no secreto. |
string |
ContainerAppProbe
Nombre |
Descripción |
Valor |
failureThreshold |
Errores consecutivos mínimos para que el sondeo se considere erróneo después de que se haya realizado correctamente. El valor predeterminado es 3. El valor mínimo es 1. El valor máximo es 10. |
int |
httpGet |
HTTPGet especifica la solicitud http que se va a realizar. |
ContainerAppProbeHttpGet |
initialDelaySeconds |
Número de segundos después de que se haya iniciado el contenedor antes de que se inicien los sondeos de ejecución. El valor mínimo es 1. El valor máximo es 60. |
int |
periodSeconds |
Frecuencia (en segundos) con que se ejecutará el sondeo. El valor predeterminado es de 10 segundos. El valor mínimo es 1. El valor máximo es 240. |
int |
successThreshold |
Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de que se haya producido un error. De manera predeterminada, su valor es 1. Debe ser 1 para la ejecución y el inicio. El valor mínimo es 1. El valor máximo es 10. |
int |
tcpSocket |
TCPSocket especifica una acción que implica un puerto TCP. Todavía no se admiten enlaces TCP. |
ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds |
Duración opcional en segundos que el pod debe finalizar correctamente tras un error de sondeo. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en el pod se envíen una señal de terminación y el tiempo en que los procesos se detengan forzosamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. Si este valor es nulo, se usará la terminación del podGracePeriodSeconds. De lo contrario, este valor invalida el valor proporcionado por la especificación de pod. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Se trata de un campo alfa y requiere habilitar la puerta de características ProbeTerminationGracePeriod. El valor máximo es de 3600 segundos (1 hora) |
int |
timeoutSeconds |
Número de segundos después del cual se agota el tiempo de espera del sondeo. El valor predeterminado es 1 segundo. El valor mínimo es 1. El valor máximo es 240. |
int |
tipo |
Tipo de sondeo. |
'Liveness' "Preparación" 'Startup' |
ContainerAppProbeHttpGet
Nombre |
Descripción |
Valor |
host |
El nombre de host al que se va a conectar, tiene como valor predeterminado la dirección IP del pod. Probablemente quiera establecer "Host" en httpHeaders en su lugar. |
string |
httpHeaders |
Encabezados personalizados que se van a establecer en la solicitud. HTTP permite encabezados repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem[] |
path |
Ruta de acceso al acceso en el servidor HTTP. |
string |
port |
Nombre o número del puerto al que se va a acceder en el contenedor. El número debe estar comprendido entre 1 y 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
scheme |
Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP. |
'HTTP' 'HTTPS' |
Nombre |
Descripción |
Value |
name |
Nombre del campo de encabezado |
string (obligatorio) |
value |
Valor del campo de encabezado |
string (obligatorio) |
ContainerAppProbeTcpSocket
Nombre |
Descripción |
Valor |
host |
Opcional: el nombre de host al que se va a conectar, tiene como valor predeterminado la dirección IP del pod. |
string |
port |
Número o nombre del puerto al que se va a acceder en el contenedor. El número debe estar comprendido entre 1 y 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
ContainerResources
Nombre |
Descripción |
Valor |
cpu |
Cpu necesaria en núcleos, por ejemplo, 0,5 Para especificar un valor decimal, use la función json(). |
int o json decimal |
memoria |
Memoria necesaria, por ejemplo, "250 Mb" |
string |
VolumeMount
Nombre |
Descripción |
Valor |
mountPath |
Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. |
string |
volumeName |
Debe coincidir con el nombre de un volumen. |
string |
Escala
Nombre |
Descripción |
Valor |
maxReplicas |
Opcional. Número máximo de réplicas de contenedor. El valor predeterminado es 10 si no se establece. |
int |
minReplicas |
Opcional. Número mínimo de réplicas de contenedor. |
int |
reglas |
Reglas de escalado. |
ScaleRule[] |
ScaleRule
Nombre |
Descripción |
Valor |
azureQueue |
Escalado basado en cola de Azure. |
QueueScaleRule |
custom |
Regla de escalado personalizada. |
CustomScaleRule |
http |
Escalado basado en solicitudes HTTP. |
HttpScaleRule |
name |
Nombre de la regla de escalado |
string |
QueueScaleRule
Nombre |
Descripción |
Valor |
auth |
Secretos de autenticación para la regla de escalado de colas. |
ScaleRuleAuth[] |
queueLength |
Longitud de la cola. |
int |
queueName |
Nombre de la cola. |
string |
ScaleRuleAuth
Nombre |
Descripción |
Valor |
secretRef |
Nombre del secreto de la aplicación contenedora desde el que se van a extraer los parámetros de autenticación. |
string |
triggerParameter |
Parámetro de desencadenador que usa el secreto |
string |
CustomScaleRule
Nombre |
Descripción |
Valor |
auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
metadata |
Propiedades de metadatos para describir la regla de escalado personalizada. |
CustomScaleRuleMetadata |
tipo |
Tipo de la regla de escalado personalizada por ejemplo: azure-servicebus, redis, etc.
|
string |
Nombre |
Descripción |
Valor |
{propiedad personalizada} |
|
string |
HttpScaleRule
Nombre |
Descripción |
Valor |
auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
metadata |
Propiedades de metadatos para describir la regla de escalado http. |
HttpScaleRuleMetadata |
Nombre |
Descripción |
Valor |
{propiedad personalizada} |
|
string |
Volumen
Nombre |
Descripción |
Value |
name |
Nombre del volumen. |
string |
storageName |
Nombre del recurso de almacenamiento. No es necesario proporcionar emptyDir. |
string |
storageType |
Tipo de almacenamiento para el volumen. Si no se proporciona, use EmptyDir. |
"AzureFile" 'EmptyDir' |
Plantillas de inicio rápido
Las siguientes plantillas de inicio rápido implementan este tipo de recurso.
Definición de recursos de plantilla de ARM
El tipo de recurso containerApps se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un recurso de Microsoft.App/containerApps, agregue el siguiente json a la plantilla.
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2022-03-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"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": [
{
"label": "string",
"latestRevision": "bool",
"revisionName": "string",
"weight": "int"
}
],
"transport": "string"
},
"registries": [
{
"identity": "string",
"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": "[json('decimal-as-string')]",
"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 propiedad
containerApps
Nombre |
Descripción |
Value |
type |
Tipo de recurso |
'Microsoft.App/containerApps' |
apiVersion |
La versión de la API de recursos |
'2022-03-01' |
name |
El nombre del recurso |
string (obligatorio)
Límite de caracteres: 2-32
Caracteres válidos: Letras minúsculas, números y guiones.
Comience con una letra y termine con un carácter alfanumérico. |
ubicación |
Ubicación geográfica donde reside el recurso |
string (obligatorio) |
etiquetas |
Etiquetas del recurso. |
Diccionario de nombres y valores de etiqueta. Consulte Etiquetas en plantillas. |
identidad |
identidades administradas para que la aplicación contenedora interactúe con otros servicios de Azure sin mantener secretos ni credenciales en el código. |
ManagedServiceIdentity |
properties |
Propiedades específicas del recurso containerApp |
ContainerAppProperties |
ManagedServiceIdentity
Nombre |
Descripción |
Value |
type |
Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). |
'Ninguno' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obligatorio) |
userAssignedIdentities |
Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves del diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. |
UserAssignedIdentities |
UserAssignedIdentities
UserAssignedIdentity
Este objeto no contiene ninguna propiedad que se establezca durante la implementación. Todas las propiedades son ReadOnly.
ContainerAppProperties
Nombre |
Descripción |
Valor |
configuración |
Propiedades de configuración de la aplicación contenedora no con versiones. |
Configuración |
managedEnvironmentId |
Identificador de recurso del entorno de la aplicación contenedora. |
string |
template |
Definición de aplicación con versiones de container App. |
Plantilla |
Configuración
Nombre |
Descripción |
Valor |
activeRevisionsMode |
ActiveRevisionsMode controla cómo se controlan las revisiones activas para la aplicación contenedora: {list} {item} Multiple: se pueden activar varias revisiones. {/item} {item} Único: solo una revisión puede estar activa a la vez. Los pesos de revisión no se pueden usar en este modo. Si no se proporciona ningún valor, este es el valor predeterminado. {/item} {/list} |
'Multiple' 'Single' |
dapr |
Configuración de Dapr para la aplicación contenedora. |
Dapr |
Ingreso |
Configuraciones de entrada. |
Entrada |
registries |
Recopilación de credenciales de registro de contenedor privado para contenedores usados por la aplicación contenedora |
RegistryCredentials[] |
secrets |
Colección de secretos usados por una aplicación contenedora |
Secreto[] |
Dapr
Nombre |
Descripción |
Value |
appId |
Identificador de aplicación dapr |
string |
appPort |
Indica a Dapr en qué puerto escucha la aplicación. |
int |
appProtocol |
Indica a Dapr qué protocolo usa la aplicación. Las opciones válidas son http y grpc. El valor predeterminado es http |
'grpc' 'http' |
enabled |
Boolean que indica si el coche lateral dapr está habilitado |
bool |
Entrada
Nombre |
Descripción |
Valor |
allowInsecure |
Bool que indica si se permiten conexiones HTTP a . Si se establece en conexiones HTTP falsas se redirige automáticamente a las conexiones HTTPS. |
bool |
customDomains |
enlaces de dominio personalizados para los nombres de host de Container Apps. |
CustomDomain[] |
external |
Bool que indica si la aplicación expone un punto de conexión HTTP externo |
bool |
targetPort |
Puerto de destino en contenedores para el tráfico desde la entrada |
int |
traffic |
Pesos de tráfico para las revisiones de la aplicación |
TrafficWeight[] |
transporte |
Protocolo de transporte de entrada |
'auto' 'http' 'http2' |
CustomDomain
Nombre |
Descripción |
Valor |
bindingType |
Custom Domain tipo de enlace. |
'Deshabilitado' 'SniEnabled' |
certificateId |
Identificador de recurso del certificado que se va a enlazar a este nombre de host. |
string |
name |
Nombre de host. |
string (obligatorio) |
TrafficWeight
Nombre |
Descripción |
Valor |
etiqueta |
Asocia una etiqueta de tráfico a una revisión |
string |
latestRevision |
Indica que el peso del tráfico pertenece a una revisión estable más reciente. |
bool |
revisionName |
Nombre de una revisión |
string |
peso |
Peso del tráfico asignado a una revisión |
int |
RegistryCredentials
Nombre |
Descripción |
Valor |
identidad |
Una identidad administrada que se va a usar para autenticarse con Azure Container Registry. En el caso de las identidades asignadas por el usuario, use el identificador de recurso de identidad asignado por el usuario completo. En el caso de las identidades asignadas por el sistema, use "system" |
string |
passwordSecretRef |
Nombre del secreto que contiene la contraseña de inicio de sesión del Registro. |
string |
server |
Servidor de Container Registry |
string |
username |
Nombre de usuario de Container Registry |
string |
Secreto
Nombre |
Descripción |
Value |
name |
Nombre del secreto. |
string |
value |
Valor secreto. |
string
Restricciones: Valor confidencial. Pase como parámetro seguro.
|
Plantilla
Nombre |
Descripción |
Value |
containers |
Lista de definiciones de contenedor para la aplicación contenedora. |
Contenedor[] |
revisionSuffix |
Sufijo descriptivo que se anexa al nombre de revisión |
string |
scale |
Propiedades de escalado de la aplicación contenedora. |
Escala |
volumes |
Lista de definiciones de volumen para la aplicación contenedora. |
Volumen[] |
Contenedor
Nombre |
Descripción |
Valor |
args |
Argumentos de comando de inicio de contenedor. |
string[] |
command |
Comando de inicio del contenedor. |
string[] |
env |
Variables de entorno de contenedor. |
EnvironmentVar[] |
imagen |
Etiqueta de imagen de contenedor. |
string |
name |
Nombre del contenedor personalizado. |
string |
probes |
Lista de sondeos para el contenedor. |
ContainerAppProbe[] |
resources |
Requisitos de recursos de contenedor. |
ContainerResources |
volumeMounts |
Montajes de volumen de contenedor. |
VolumeMount[] |
EnvironmentVar
Nombre |
Descripción |
Value |
name |
Nombre de la variable de entorno. |
string |
secretRef |
Nombre del secreto de la aplicación contenedora del que se va a extraer el valor de la variable de entorno. |
string |
value |
Valor de variable de entorno no secreto. |
string |
ContainerAppProbe
Nombre |
Descripción |
Valor |
failureThreshold |
Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor predeterminado es 3. El valor mínimo es 1. El valor máximo es 10. |
int |
httpGet |
HTTPGet especifica la solicitud HTTP que se va a realizar. |
ContainerAppProbeHttpGet |
initialDelaySeconds |
Número de segundos después de que se haya iniciado el contenedor antes de que se inicien los sondeos de ejecución. El valor mínimo es 1. El valor máximo es 60. |
int |
periodSeconds |
Frecuencia (en segundos) con que se ejecutará el sondeo. El valor predeterminado es de 10 segundos. El valor mínimo es 1. El valor máximo es 240. |
int |
successThreshold |
Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de que se haya producido un error. De manera predeterminada, su valor es 1. Debe ser 1 para la ejecución y el inicio. El valor mínimo es 1. El valor máximo es 10. |
int |
tcpSocket |
TCPSocket especifica una acción que implica un puerto TCP. Todavía no se admiten enlaces TCP. |
ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds |
Duración opcional en segundos que el pod debe finalizar correctamente tras un error de sondeo. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en el pod se envíen una señal de terminación y el tiempo en que los procesos se detengan forzosamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. Si este valor es nulo, se usará la terminación del podGracePeriodSeconds. De lo contrario, este valor invalida el valor proporcionado por la especificación de pod. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Se trata de un campo alfa y requiere habilitar la puerta de características ProbeTerminationGracePeriod. El valor máximo es de 3600 segundos (1 hora) |
int |
timeoutSeconds |
Número de segundos después del cual se agota el tiempo de espera del sondeo. El valor predeterminado es 1 segundo. El valor mínimo es 1. El valor máximo es 240. |
int |
tipo |
Tipo de sondeo. |
'Liveness' "Preparación" 'Startup' |
ContainerAppProbeHttpGet
Nombre |
Descripción |
Valor |
host |
El nombre de host al que se va a conectar, tiene como valor predeterminado la dirección IP del pod. Probablemente quiera establecer "Host" en httpHeaders en su lugar. |
string |
httpHeaders |
Encabezados personalizados que se van a establecer en la solicitud. HTTP permite encabezados repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem[] |
path |
Ruta de acceso al acceso en el servidor HTTP. |
string |
port |
Nombre o número del puerto al que se va a acceder en el contenedor. El número debe estar comprendido entre 1 y 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
scheme |
Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP. |
'HTTP' 'HTTPS' |
Nombre |
Descripción |
Value |
name |
Nombre del campo de encabezado |
string (obligatorio) |
value |
Valor del campo de encabezado |
string (obligatorio) |
ContainerAppProbeTcpSocket
Nombre |
Descripción |
Valor |
host |
Opcional: el nombre de host al que se va a conectar, tiene como valor predeterminado la dirección IP del pod. |
string |
port |
Número o nombre del puerto al que se va a acceder en el contenedor. El número debe estar comprendido entre 1 y 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
ContainerResources
Nombre |
Descripción |
Valor |
cpu |
Cpu necesaria en núcleos, por ejemplo, 0,5 Para especificar un valor decimal, use la función json(). |
int o json decimal |
memoria |
Memoria necesaria, por ejemplo, "250 Mb" |
string |
VolumeMount
Nombre |
Descripción |
Valor |
mountPath |
Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. |
string |
volumeName |
Debe coincidir con el nombre de un volumen. |
string |
Escala
Nombre |
Descripción |
Valor |
maxReplicas |
Opcional. Número máximo de réplicas de contenedor. El valor predeterminado es 10 si no se establece. |
int |
minReplicas |
Opcional. Número mínimo de réplicas de contenedor. |
int |
reglas |
Reglas de escalado. |
ScaleRule[] |
ScaleRule
Nombre |
Descripción |
Valor |
azureQueue |
Escalado basado en cola de Azure. |
QueueScaleRule |
custom |
Regla de escalado personalizada. |
CustomScaleRule |
http |
Escalado basado en solicitudes HTTP. |
HttpScaleRule |
name |
Nombre de la regla de escalado |
string |
QueueScaleRule
Nombre |
Descripción |
Valor |
auth |
Secretos de autenticación para la regla de escalado de colas. |
ScaleRuleAuth[] |
queueLength |
Longitud de la cola. |
int |
queueName |
Nombre de la cola. |
string |
ScaleRuleAuth
Nombre |
Descripción |
Valor |
secretRef |
Nombre del secreto de la aplicación contenedora desde el que se van a extraer los parámetros de autenticación. |
string |
triggerParameter |
Parámetro de desencadenador que usa el secreto |
string |
CustomScaleRule
Nombre |
Descripción |
Valor |
auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
metadata |
Propiedades de metadatos para describir la regla de escalado personalizada. |
CustomScaleRuleMetadata |
tipo |
Tipo de la regla de escalado personalizada por ejemplo: azure-servicebus, redis, etc.
|
string |
Nombre |
Descripción |
Valor |
{propiedad personalizada} |
|
string |
HttpScaleRule
Nombre |
Descripción |
Valor |
auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
metadata |
Propiedades de metadatos para describir la regla de escalado http. |
HttpScaleRuleMetadata |
Nombre |
Descripción |
Valor |
{propiedad personalizada} |
|
string |
Volumen
Nombre |
Descripción |
Value |
name |
Nombre del volumen. |
string |
storageName |
Nombre del recurso de almacenamiento. No es necesario proporcionar emptyDir. |
string |
storageType |
Tipo de almacenamiento para el volumen. Si no se proporciona, use EmptyDir. |
"AzureFile" 'EmptyDir' |
Plantillas de inicio rápido
Las siguientes plantillas de inicio rápido implementan este tipo de recurso.
El tipo de recurso containerApps se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de api, consulte registro de cambios.
Para crear un recurso de Microsoft.App/containerApps, agregue el siguiente terraform a la plantilla.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/containerApps@2022-03-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
configuration = {
activeRevisionsMode = "string"
dapr = {
appId = "string"
appPort = int
appProtocol = "string"
enabled = bool
}
ingress = {
allowInsecure = bool
customDomains = [
{
bindingType = "string"
certificateId = "string"
name = "string"
}
]
external = bool
targetPort = int
traffic = [
{
label = "string"
latestRevision = bool
revisionName = "string"
weight = int
}
]
transport = "string"
}
registries = [
{
identity = "string"
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 = "decimal-as-string"
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 propiedad
containerApps
Nombre |
Descripción |
Value |
type |
Tipo de recurso |
"Microsoft.App/containerApps@2022-03-01" |
name |
El nombre del recurso |
string (obligatorio)
Límite de caracteres: 2-32
Caracteres válidos: Letras minúsculas, números y guiones.
Comience con una letra y termine con un carácter alfanumérico. |
ubicación |
Ubicación geográfica donde reside el recurso |
string (obligatorio) |
parent_id |
Para realizar la implementación en un grupo de recursos, use el identificador de ese grupo de recursos. |
string (obligatorio) |
etiquetas |
Etiquetas del recurso. |
Diccionario de nombres y valores de etiqueta. |
identidad |
Identidades administradas para que la aplicación contenedora interactúe con otros servicios de Azure sin mantener secretos ni credenciales en el código. |
ManagedServiceIdentity |
properties |
Propiedades específicas del recurso ContainerApp |
ContainerAppProperties |
ManagedServiceIdentity
Nombre |
Descripción |
Value |
type |
Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). |
"SystemAssigned" "SystemAssigned,UserAssigned" "UserAssigned" (obligatorio) |
identity_ids |
Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves del diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. |
Matriz de identificadores de identidad de usuario. |
UserAssignedIdentities
UserAssignedIdentity
Este objeto no contiene ninguna propiedad que se va a establecer durante la implementación. Todas las propiedades son ReadOnly.
ContainerAppProperties
Nombre |
Descripción |
Valor |
configuración |
Propiedades de configuración de la aplicación contenedora no con versiones. |
Configuración |
managedEnvironmentId |
Identificador de recurso del entorno de la aplicación contenedora. |
string |
template |
Definición de aplicación con versiones de container App. |
Plantilla |
Configuración
Nombre |
Descripción |
Valor |
activeRevisionsMode |
ActiveRevisionsMode controla cómo se controlan las revisiones activas para la aplicación contenedora: {list} {item} Multiple: se pueden activar varias revisiones. {/item} {item} Único: solo una revisión puede estar activa a la vez. Los pesos de revisión no se pueden usar en este modo. Si no se proporciona ningún valor, este es el valor predeterminado. {/item} {/list} |
"Múltiplo" "Single" |
dapr |
Configuración de Dapr para la aplicación contenedora. |
Dapr |
Ingreso |
Configuraciones de entrada. |
Entrada |
registries |
Recopilación de credenciales de registro de contenedor privado para contenedores usados por la aplicación contenedora |
RegistryCredentials[] |
secrets |
Colección de secretos usados por una aplicación contenedora |
Secreto[] |
Dapr
Nombre |
Descripción |
Value |
appId |
Identificador de aplicación dapr |
string |
appPort |
Indica a Dapr en qué puerto escucha la aplicación. |
int |
appProtocol |
Indica a Dapr qué protocolo usa la aplicación. Las opciones válidas son http y grpc. El valor predeterminado es http |
"grpc" "http" |
enabled |
Boolean que indica si el coche lateral dapr está habilitado |
bool |
Entrada
Nombre |
Descripción |
Valor |
allowInsecure |
Bool que indica si se permiten conexiones HTTP a . Si se establece en conexiones HTTP falsas se redirige automáticamente a las conexiones HTTPS. |
bool |
customDomains |
enlaces de dominio personalizados para los nombres de host de Container Apps. |
CustomDomain[] |
external |
Bool que indica si la aplicación expone un punto de conexión HTTP externo |
bool |
targetPort |
Puerto de destino en contenedores para el tráfico desde la entrada |
int |
traffic |
Pesos de tráfico para las revisiones de la aplicación |
TrafficWeight[] |
transporte |
Protocolo de transporte de entrada |
"auto" "http" "http2" |
CustomDomain
Nombre |
Descripción |
Valor |
bindingType |
Custom Domain tipo de enlace. |
"Deshabilitado" "SniEnabled" |
certificateId |
Identificador de recurso del certificado que se va a enlazar a este nombre de host. |
string |
name |
Nombre de host. |
string (obligatorio) |
TrafficWeight
Nombre |
Descripción |
Valor |
etiqueta |
Asocia una etiqueta de tráfico a una revisión |
string |
latestRevision |
Indica que el peso del tráfico pertenece a una revisión estable más reciente. |
bool |
revisionName |
Nombre de una revisión |
string |
peso |
Peso del tráfico asignado a una revisión |
int |
RegistryCredentials
Nombre |
Descripción |
Valor |
identidad |
Una identidad administrada que se va a usar para autenticarse con Azure Container Registry. En el caso de las identidades asignadas por el usuario, use el identificador de recurso de identidad asignado por el usuario completo. Para las identidades asignadas por el sistema, use "system" |
string |
passwordSecretRef |
Nombre del secreto que contiene la contraseña de inicio de sesión del Registro |
string |
server |
Container Registry Server |
string |
username |
Nombre de usuario de Container Registry |
string |
Secreto
Nombre |
Descripción |
Value |
name |
Nombre del secreto. |
string |
value |
Valor secreto. |
string
Restricciones: Valor confidencial. Pase como parámetro seguro.
|
Plantilla
Nombre |
Descripción |
Value |
containers |
Lista de definiciones de contenedor para la aplicación contenedora. |
Contenedor[] |
revisionSuffix |
Sufijo descriptivo que se anexa al nombre de revisión |
string |
scale |
Propiedades de escalado para la aplicación contenedora. |
Escala |
volumes |
Lista de definiciones de volumen para la aplicación contenedora. |
Volumen[] |
Contenedor
Nombre |
Descripción |
Valor |
args |
Argumentos de comando de inicio de contenedor. |
string[] |
command |
Comando de inicio del contenedor. |
string[] |
env |
Variables de entorno de contenedor. |
EnvironmentVar[] |
imagen |
Etiqueta de imagen de contenedor. |
string |
name |
Nombre del contenedor personalizado. |
string |
probes |
Lista de sondeos para el contenedor. |
ContainerAppProbe[] |
resources |
Requisitos de recursos de contenedor. |
ContainerResources |
volumeMounts |
Montajes de volúmenes de contenedor. |
VolumeMount[] |
EnvironmentVar
Nombre |
Descripción |
Value |
name |
Nombre de la variable de entorno. |
string |
secretRef |
Nombre del secreto de la aplicación contenedora del que se va a extraer el valor de la variable de entorno. |
string |
value |
Valor de variable de entorno no secreto. |
string |
ContainerAppProbe
Nombre |
Descripción |
Valor |
failureThreshold |
Errores consecutivos mínimos para que el sondeo se considere erróneo después de que se haya realizado correctamente. El valor predeterminado es 3. El valor mínimo es 1. El valor máximo es 10. |
int |
httpGet |
HTTPGet especifica la solicitud http que se va a realizar. |
ContainerAppProbeHttpGet |
initialDelaySeconds |
Número de segundos después de que se haya iniciado el contenedor antes de que se inicien los sondeos de ejecución. El valor mínimo es 1. El valor máximo es 60. |
int |
periodSeconds |
Frecuencia (en segundos) con que se ejecutará el sondeo. El valor predeterminado es de 10 segundos. El valor mínimo es 1. El valor máximo es 240. |
int |
successThreshold |
Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de que se haya producido un error. De manera predeterminada, su valor es 1. Debe ser 1 para la ejecución y el inicio. El valor mínimo es 1. El valor máximo es 10. |
int |
tcpSocket |
TCPSocket especifica una acción que implica un puerto TCP. Todavía no se admiten enlaces TCP. |
ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds |
Duración opcional en segundos que el pod debe finalizar correctamente tras un error de sondeo. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en el pod se envíen una señal de terminación y el tiempo en que los procesos se detengan forzosamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. Si este valor es nulo, se usará la terminación del podGracePeriodSeconds. De lo contrario, este valor invalida el valor proporcionado por la especificación de pod. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Se trata de un campo alfa y requiere habilitar la puerta de características ProbeTerminationGracePeriod. El valor máximo es de 3600 segundos (1 hora) |
int |
timeoutSeconds |
Número de segundos después del cual se agota el tiempo de espera del sondeo. El valor predeterminado es 1 segundo. El valor mínimo es 1. El valor máximo es 240. |
int |
tipo |
Tipo de sondeo. |
"Vida" "Preparación" "Inicio" |
ContainerAppProbeHttpGet
Nombre |
Descripción |
Valor |
host |
El nombre de host al que se va a conectar, tiene como valor predeterminado la dirección IP del pod. Probablemente quiera establecer "Host" en httpHeaders en su lugar. |
string |
httpHeaders |
Encabezados personalizados que se van a establecer en la solicitud. HTTP permite encabezados repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem[] |
path |
Ruta de acceso al acceso en el servidor HTTP. |
string |
port |
Nombre o número del puerto al que se va a acceder en el contenedor. El número debe estar comprendido entre 1 y 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
scheme |
Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP. |
"HTTP" "HTTPS" |
Nombre |
Descripción |
Value |
name |
Nombre del campo de encabezado |
string (obligatorio) |
value |
Valor del campo de encabezado |
string (obligatorio) |
ContainerAppProbeTcpSocket
Nombre |
Descripción |
Valor |
host |
Opcional: el nombre de host al que se va a conectar, tiene como valor predeterminado la dirección IP del pod. |
string |
port |
Número o nombre del puerto al que se va a acceder en el contenedor. El número debe estar comprendido entre 1 y 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
ContainerResources
Nombre |
Descripción |
Valor |
cpu |
CPU necesaria en núcleos, por ejemplo, 0,5 Especifique un valor decimal como una cadena. |
int o json decimal |
memoria |
Memoria necesaria, por ejemplo, "250 Mb" |
string |
VolumeMount
Nombre |
Descripción |
Valor |
mountPath |
Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. |
string |
volumeName |
Debe coincidir con el nombre de un volumen. |
string |
Escala
Nombre |
Descripción |
Valor |
maxReplicas |
Opcional. Número máximo de réplicas de contenedor. El valor predeterminado es 10 si no se establece. |
int |
minReplicas |
Opcional. Número mínimo de réplicas de contenedor. |
int |
reglas |
Reglas de escalado. |
ScaleRule[] |
ScaleRule
Nombre |
Descripción |
Valor |
azureQueue |
Escalado basado en cola de Azure. |
QueueScaleRule |
custom |
Regla de escalado personalizada. |
CustomScaleRule |
http |
Escalado basado en solicitudes HTTP. |
HttpScaleRule |
name |
Nombre de la regla de escalado |
string |
QueueScaleRule
Nombre |
Descripción |
Valor |
auth |
Secretos de autenticación para la regla de escalado de colas. |
ScaleRuleAuth[] |
queueLength |
Longitud de la cola. |
int |
queueName |
Nombre de la cola. |
string |
ScaleRuleAuth
Nombre |
Descripción |
Valor |
secretRef |
Nombre del secreto de la aplicación contenedora desde el que se van a extraer los parámetros de autenticación. |
string |
triggerParameter |
Parámetro de desencadenador que usa el secreto |
string |
CustomScaleRule
Nombre |
Descripción |
Valor |
auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
metadata |
Propiedades de metadatos para describir la regla de escalado personalizada. |
CustomScaleRuleMetadata |
tipo |
Tipo de la regla de escalado personalizada por ejemplo: azure-servicebus, redis, etc.
|
string |
Nombre |
Descripción |
Valor |
{propiedad personalizada} |
|
string |
HttpScaleRule
Nombre |
Descripción |
Valor |
auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
metadata |
Propiedades de metadatos para describir la regla de escalado http. |
HttpScaleRuleMetadata |
Nombre |
Descripción |
Valor |
{propiedad personalizada} |
|
string |
Volumen
Nombre |
Descripción |
Value |
name |
Nombre del volumen. |
string |
storageName |
Nombre del recurso de almacenamiento. No es necesario proporcionar emptyDir. |
string |
storageType |
Tipo de almacenamiento para el volumen. Si no se proporciona, use EmptyDir. |
"AzureFile" "EmptyDir" |