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": "2025-07-01",
"name": "string",
"extendedLocation": {
"name": "string",
"type": "string"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"kind": "string",
"location": "string",
"managedBy": "string",
"properties": {
"configuration": {
"activeRevisionsMode": "string",
"dapr": {
"appHealth": {
"enabled": "bool",
"path": "string",
"probeIntervalSeconds": "int",
"probeTimeoutMilliseconds": "int",
"threshold": "int"
},
"appId": "string",
"appPort": "int",
"appProtocol": "string",
"enableApiLogging": "bool",
"enabled": "bool",
"httpMaxRequestSize": "int",
"httpReadBufferSize": "int",
"logLevel": "string",
"maxConcurrency": "int"
},
"identitySettings": [
{
"identity": "string",
"lifecycle": "string"
}
],
"ingress": {
"additionalPortMappings": [
{
"exposedPort": "int",
"external": "bool",
"targetPort": "int"
}
],
"allowInsecure": "bool",
"clientCertificateMode": "string",
"corsPolicy": {
"allowCredentials": "bool",
"allowedHeaders": [ "string" ],
"allowedMethods": [ "string" ],
"allowedOrigins": [ "string" ],
"exposeHeaders": [ "string" ],
"maxAge": "int"
},
"customDomains": [
{
"bindingType": "string",
"certificateId": "string",
"name": "string"
}
],
"exposedPort": "int",
"external": "bool",
"ipSecurityRestrictions": [
{
"action": "string",
"description": "string",
"ipAddressRange": "string",
"name": "string"
}
],
"stickySessions": {
"affinity": "string"
},
"targetPort": "int",
"traffic": [
{
"label": "string",
"latestRevision": "bool",
"revisionName": "string",
"weight": "int"
}
],
"transport": "string"
},
"maxInactiveRevisions": "int",
"registries": [
{
"identity": "string",
"passwordSecretRef": "string",
"server": "string",
"username": "string"
}
],
"runtime": {
"java": {
"enableMetrics": "bool"
}
},
"secrets": [
{
"identity": "string",
"keyVaultUrl": "string",
"name": "string",
"value": "string"
}
],
"service": {
"type": "string"
}
},
"environmentId": "string",
"managedEnvironmentId": "string",
"template": {
"containers": [
{
"args": [ "string" ],
"command": [ "string" ],
"env": [
{
"name": "string",
"secretRef": "string",
"value": "string"
}
],
"image": "string",
"name": "string",
"probes": [
{
"failureThreshold": "int",
"httpGet": {
"host": "string",
"httpHeaders": [
{
"name": "string",
"value": "string"
}
],
"path": "string",
"port": "int",
"scheme": "string"
},
"initialDelaySeconds": "int",
"periodSeconds": "int",
"successThreshold": "int",
"tcpSocket": {
"host": "string",
"port": "int"
},
"terminationGracePeriodSeconds": "int",
"timeoutSeconds": "int",
"type": "string"
}
],
"resources": {
"cpu": "int",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"subPath": "string",
"volumeName": "string"
}
]
}
],
"initContainers": [
{
"args": [ "string" ],
"command": [ "string" ],
"env": [
{
"name": "string",
"secretRef": "string",
"value": "string"
}
],
"image": "string",
"name": "string",
"resources": {
"cpu": "int",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"subPath": "string",
"volumeName": "string"
}
]
}
],
"revisionSuffix": "string",
"scale": {
"cooldownPeriod": "int",
"maxReplicas": "int",
"minReplicas": "int",
"pollingInterval": "int",
"rules": [
{
"azureQueue": {
"accountName": "string",
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"identity": "string",
"queueLength": "int",
"queueName": "string"
},
"custom": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"identity": "string",
"metadata": {
"{customized property}": "string"
},
"type": "string"
},
"http": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"identity": "string",
"metadata": {
"{customized property}": "string"
}
},
"name": "string",
"tcp": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"identity": "string",
"metadata": {
"{customized property}": "string"
}
}
}
]
},
"serviceBinds": [
{
"name": "string",
"serviceId": "string"
}
],
"terminationGracePeriodSeconds": "int",
"volumes": [
{
"mountOptions": "string",
"name": "string",
"secrets": [
{
"path": "string",
"secretRef": "string"
}
],
"storageName": "string",
"storageType": "string"
}
]
},
"workloadProfileName": "string"
},
"tags": {
"{customized property}": "string"
}
}
Valores de propiedad
Microsoft.App/containerApps
| Nombre |
Descripción |
Importancia |
| apiVersion |
La versión de api |
'2025-07-01' |
| extendedLocation |
Tipo complejo de la ubicación extendida. |
ExtendedLocation |
| 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 |
| amable |
Metadatos para representar el tipo de aplicación contenedora, que representan si una aplicación contenedora es workflowapp o functionapp. |
'aplicación de función' 'Aplicación de flujo de trabajo' |
| ubicación |
Ubicación geográfica donde reside el recurso |
string (obligatorio) |
| gestionadoPor |
Identificador de recurso completo del recurso que administra este recurso. Indica si otro recurso de Azure administra este recurso. Si está presente, la implementación del modo completo no eliminará el recurso si se quita de la plantilla, ya que otro recurso lo administra. |
cuerda / cadena |
| nombre |
El nombre del recurso |
string (obligatorio) |
| Propiedades |
Propiedades específicas del recurso ContainerApp |
ContainerAppProperties |
| Etiquetas |
Etiquetas de recursos |
Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
| tipo |
El tipo de recurso |
"Microsoft.App/containerApps" |
Configuración
| Nombre |
Descripción |
Importancia |
| activeRevisionsMode |
ActiveRevisionsMode controla cómo se controlan las revisiones activas para la aplicación contenedora:
<lista><elemento>Multiple: se pueden activar varias revisiones.</item><elemento>Single: solo se puede activar una revisión 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" 'Soltero' |
| Dapr |
Configuración de Dapr para la aplicación contenedora. |
Dapr |
| identitySettings |
Configuración opcional para identidades administradas que se asignan a la aplicación contenedora. Si no se especifica una identidad administrada aquí, se usará la configuración predeterminada. |
IdentitySettings [] |
| ingreso |
Configuraciones de entrada. |
Ingreso |
| maxInactiveRevisions |
Opcional. Las revisiones inactivas máximas que puede tener una aplicación contenedora. |
Int |
| Registros |
Recopilación de credenciales de registro de contenedor privado para contenedores usados por la aplicación contenedora |
Credenciales de Registro[] |
| tiempo de ejecución |
Configuración del entorno de ejecución de la aplicación para la aplicación contenedora. |
Tiempo de ejecución |
| secretos |
Colección de secretos usados por una aplicación contenedora |
secreto[] |
| servicio |
Aplicación contenedora para ser una instancia de Container App Service de desarrollo |
Servicio |
Contenedor
| Nombre |
Descripción |
Importancia |
| args |
Argumentos de comando de inicio de contenedor. |
cadena[] |
| comando |
Comando container start. |
cadena[] |
| Entorno |
Variables de entorno de contenedor. |
EnvironmentVar[] |
| imagen |
Etiqueta de imagen de contenedor. |
cuerda / cadena |
| nombre |
Nombre de contenedor personalizado. |
cuerda / cadena |
| Sondas |
Lista de sondeos para el contenedor. |
ContainerAppProbe [] |
| recursos |
Requisitos de recursos de contenedor. |
containerResources de |
| volumeMounts |
Montajes de volúmenes de contenedor. |
VolumeMount[] |
ContainerAppProbe
| Nombre |
Descripción |
Importancia |
| 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 (en inglés) |
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 iniciar los sondeos de ejecución. El valor mínimo es 1. El valor máximo es 60. |
Int |
| periodSeconds |
Frecuencia (en segundos) para realizar 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 haber producido un error. El valor predeterminado es 1. Debe ser 1 para la vida 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, 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 forzadamente 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 el sondeo agota el tiempo de espera. 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" 'Inicio' |
ContainerAppProbeHttpGet
| Nombre |
Descripción |
Importancia |
| anfitrión |
Nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. Probablemente quiera establecer "Host" en httpHeaders en su lugar. |
cuerda / cadena |
| httpHeaders |
Encabezados personalizados que se van a establecer en la solicitud. HTTP permite encabezados repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem[] |
| camino |
Ruta de acceso al acceso en el servidor HTTP. |
cuerda / cadena |
| puerto |
Nombre o número del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
| esquema |
Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP. |
'HTTP' 'HTTPS' |
| Nombre |
Descripción |
Importancia |
| nombre |
Nombre del campo de encabezado |
string (obligatorio) |
| valor |
Valor del campo de encabezado |
string (obligatorio) |
ContainerAppProbeTcpSocket
| Nombre |
Descripción |
Importancia |
| anfitrión |
Opcional: nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. |
cuerda / cadena |
| puerto |
Número o nombre del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
ContainerAppProperties
| Nombre |
Descripción |
Importancia |
| configuración |
Propiedades de configuración de la aplicación contenedora sin control de versiones. |
Configuración |
| environmentId |
Identificador de recurso del entorno. |
cuerda / cadena |
| managedEnvironmentId |
Obsolescente. Identificador de recurso del entorno de la aplicación contenedora. |
cuerda / cadena |
| plantilla |
Definición de aplicación con versión de aplicación contenedora. |
Plantilla |
| workloadProfileName |
Nombre del perfil de carga de trabajo que se va a anclar para la ejecución de la aplicación contenedora. |
cuerda / cadena |
ContainerResources
| Nombre |
Descripción |
Importancia |
| CPU |
CPU necesaria en núcleos, por ejemplo, 0,5 |
Int |
| memoria |
Memoria necesaria, por ejemplo, "250 Mb" |
cuerda / cadena |
CorsPolicy
| Nombre |
Descripción |
Importancia |
| allowCredentials |
Especifica si el recurso permite las credenciales. |
booleano |
| allowedHeaders |
Especifica el contenido del encabezado access-control-allow-headers. |
cadena[] |
| allowedMethods |
Especifica el contenido del encabezado access-control-allow-methods. |
cadena[] |
| allowedOrigins |
Especifica el contenido del encabezado access-control-allow-origins. |
string[] (obligatorio) |
| exposeHeaders |
Especifica el contenido del encabezado access-control-expose-headers. |
cadena[] |
| maxAge |
Especifica el contenido del encabezado access-control-max-age. |
Int |
Dominio personalizado
| Nombre |
Descripción |
Importancia |
| bindingType |
Tipo de enlace dominio personalizado. |
'Auto' 'Deshabilitado' 'Habilitado para Sni' |
| certificateId |
Identificador de recurso del certificado que se va a enlazar a este nombre de host. Debe existir en el entorno administrado. |
cuerda / cadena |
| nombre |
Nombre de host. |
string (obligatorio) |
CustomScaleRule
| Nombre |
Descripción |
Importancia |
| autenticación |
Secretos de autenticación para la regla de escalado personalizada. |
scaleRuleAuth[] |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
cuerda / cadena |
| metadatos |
Propiedades de metadatos para describir la regla de escalado personalizada. |
CustomScaleRuleMetadata |
| tipo |
Tipo de la regla de escalado personalizada por ejemplo: azure-servicebus, redis etcetera. |
cuerda / cadena |
| Nombre |
Descripción |
Importancia |
Dapr
| Nombre |
Descripción |
Importancia |
| appHealth |
Configuración de comprobación de estado de la aplicación de Dapr |
DaprAppHealth |
| ID de la aplicación |
Identificador de aplicación dapr |
cuerda / cadena |
| 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' |
| enableApiLogging |
Habilita el registro de API para el sidecar de Dapr |
booleano |
| Habilitado |
Boolean que indica si el coche lateral dapr está habilitado |
booleano |
| httpMaxRequestSize (en inglés) |
Aumento del tamaño máximo del parámetro http y grpc server del cuerpo de la solicitud en MB para controlar la carga de archivos grandes. El valor predeterminado es de 4 MB. |
Int |
| httpReadBufferSize (en inglés) |
Tamaño máximo de dapr del búfer de lectura de encabezado http en KB para controlar al enviar encabezados de varios KB. El valor predeterminado es 65 KB. |
Int |
| logLevel |
Establece el nivel de registro del sidecar de Dapr. Los valores permitidos son debug, info, warn, error. El valor predeterminado es info. |
"depurar" 'error' 'información' "advertir" |
| maxConcurrency |
Número máximo de solicitudes simultáneas, eventos controlados por el sidecar de Dapr |
Int |
DaprAppHealth
| Nombre |
Descripción |
Importancia |
| Habilitado |
Booleano que indica si el sondeo de estado está habilitado |
booleano |
| camino |
Ruta de acceso para el sondeo de estado |
cuerda / cadena |
| sondeoIntervalSeconds |
Intervalo para el sondeo de estado en segundos |
Int
Restricciones: Valor mínimo = 1 |
| sondeoTimeoutMilisegundos |
Tiempo de espera para el sondeo de estado en milisegundos |
Int
Restricciones: Valor mínimo = 1 |
| umbral |
Umbral para el sondeo de estado |
Int
Restricciones: Valor mínimo = 1 |
EnvironmentVar (Var de entorno)
| Nombre |
Descripción |
Importancia |
| nombre |
Nombre de la variable de entorno. |
cuerda / cadena |
| secretRef |
Nombre del secreto de aplicación contenedora del que se va a extraer el valor de la variable de entorno. |
cuerda / cadena |
| valor |
Valor de variable de entorno no secreto. |
cuerda / cadena |
ExtendedLocation
| Nombre |
Descripción |
Importancia |
| nombre |
Nombre de la ubicación extendida. |
cuerda / cadena |
| tipo |
El tipo de la ubicación extendida. |
'UbicaciónPersonalizada' |
HttpScaleRule
| Nombre |
Descripción |
Importancia |
| autenticación |
Secretos de autenticación para la regla de escalado personalizada. |
scaleRuleAuth[] |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
cuerda / cadena |
| metadatos |
Propiedades de metadatos para describir la regla de escalado http. |
HttpScaleRuleMetadata |
| Nombre |
Descripción |
Importancia |
IdentitySettings (Configuración de identidad)
| Nombre |
Descripción |
Importancia |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
string (obligatorio) |
| ciclo de vida |
Use para seleccionar las fases del ciclo de vida de una aplicación contenedora durante la cual la identidad administrada debe estar disponible. |
"Todo" 'Inicio' 'Principal' 'Ninguno' |
Entrada
| Nombre |
Descripción |
Importancia |
| additionalPortMappings |
Configuración para exponer puertos adicionales en la aplicación contenedora |
ingressPortMapping[] |
| allowInsecure |
Bool que indica si se permiten conexiones HTTP a . Si se establece en conexiones HTTP falsas se redirige automáticamente a conexiones HTTPS. |
booleano |
| clientCertificateMode |
Modo de certificado de cliente para la autenticación mTLS. Omitir indica que el servidor quita el certificado de cliente al reenviar. Accept indica que el servidor reenvía el certificado de cliente, pero no requiere un certificado de cliente. Requerir indica que el servidor requiere un certificado de cliente. |
'Aceptar' 'Ignorar' 'requerir' |
| corsPolicy |
Directiva de CORS para la aplicación contenedora |
CorsPolicy |
| customDomains |
enlaces de dominio personalizados para los nombres de host de Container Apps. |
CustomDomain [] |
| puerto expuesto |
Puerto expuesto en contenedores para el tráfico TCP desde la entrada |
Int |
| externo |
Bool que indica si la aplicación expone un punto de conexión HTTP externo |
booleano |
| ipSecurityRestrictions |
Reglas para restringir la dirección IP entrante. |
ipSecurityRestrictionRule[] |
| stickySessions |
Sesiones permanentes para el modo de revisión única |
ingressStickySessions |
| targetPort |
Puerto de destino en contenedores para el tráfico desde la entrada |
Int |
| tráfico |
Pesos de tráfico para las revisiones de la aplicación |
Peso de tráfico[] |
| transporte |
Protocolo de transporte de entrada |
coche 'http' 'http2' 'TCP' |
EntradaPortMapping
| Nombre |
Descripción |
Importancia |
| puerto expuesto |
Especifica el puerto expuesto para el puerto de destino. Si no se especifica, el valor predeterminado es el puerto de destino. |
Int |
| externo |
Especifica si el puerto de la aplicación es accesible fuera del entorno. |
bool (obligatorio) |
| targetPort |
Especifica la escucha del contenedor del usuario del puerto en |
int (obligatorio) |
IngressStickySessions
| Nombre |
Descripción |
Importancia |
| afinidad |
Afinidad de sesión pegajosa |
'Ninguno' 'Pegajoso' |
InitContainer
| Nombre |
Descripción |
Importancia |
| args |
Argumentos de comando de inicio de contenedor. |
cadena[] |
| comando |
Comando container start. |
cadena[] |
| Entorno |
Variables de entorno de contenedor. |
EnvironmentVar[] |
| imagen |
Etiqueta de imagen de contenedor. |
cuerda / cadena |
| nombre |
Nombre de contenedor personalizado. |
cuerda / cadena |
| recursos |
Requisitos de recursos de contenedor. |
containerResources de |
| volumeMounts |
Montajes de volúmenes de contenedor. |
VolumeMount[] |
IpSecurityRestrictionRule
| Nombre |
Descripción |
Importancia |
| acción |
Permitir o denegar reglas para determinar la dirección IP entrante. Nota: Las reglas solo pueden constar de ALL Allow o ALL Deny |
'Permitir' 'Deny' (obligatorio) |
| descripción |
Describir la regla de restricción de IP que se envía a la aplicación contenedora. Este campo es opcional. |
cuerda / cadena |
| ipAddressRange |
Notación CIDR para que coincida con la dirección IP entrante |
string (obligatorio) |
| nombre |
Nombre de la regla de restricción de IP. |
string (obligatorio) |
ManagedServiceIdentity
| Nombre |
Descripción |
Importancia |
| tipo |
Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). |
'Ninguno' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obligatorio) |
| identidades asignadas por el usuario |
Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves de 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 |
QueueScaleRule
| Nombre |
Descripción |
Importancia |
| nombre de cuenta |
Nombre de la cuenta de almacenamiento. obligatorio si se usa la identidad administrada para autenticarse |
cuerda / cadena |
| autenticación |
Secretos de autenticación para la regla de escalado de colas. |
scaleRuleAuth[] |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
cuerda / cadena |
| queueLength |
Longitud de la cola. |
Int |
| queueName |
Nombre de la cola. |
cuerda / cadena |
RegistryCredentials
| Nombre |
Descripción |
Importancia |
| 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" |
cuerda / cadena |
| passwordSecretRef |
Nombre del secreto que contiene la contraseña de inicio de sesión del Registro |
cuerda / cadena |
| servidor |
Servidor de registro de contenedores |
cuerda / cadena |
| nombre de usuario |
Nombre de usuario de Container Registry |
cuerda / cadena |
Tiempo de ejecución
| Nombre |
Descripción |
Importancia |
| Java |
Configuración de aplicaciones Java |
runtimeJava |
Tiempo de ejecuciónJava
| Nombre |
Descripción |
Importancia |
| enableMetrics |
Habilitación de las métricas principales de jmx para la aplicación java |
booleano |
Escala
| Nombre |
Descripción |
Importancia |
| Período de enfriamiento |
Opcional. Período de enfriamiento de KEDA en segundos. El valor predeterminado es de 300 segundos si no se establece. |
Int |
| maxReplicas |
Opcional. Número máximo de réplicas de contenedor. El valor predeterminado es 10 si no se establece. |
Int |
| minRéplicas |
Opcional. Número mínimo de réplicas de contenedor. |
Int |
| intervalo de sondeo |
Opcional. Intervalo de sondeo de KEDA en segundos. El valor predeterminado es de 30 segundos si no se establece. |
Int |
| reglas |
Reglas de escalado. |
ScaleRule [] |
ScaleRule (Regla de escala)
| Nombre |
Descripción |
Importancia |
| azureQueue |
Escalado basado en cola de Azure. |
queueScaleRule de |
| costumbre |
Regla de escalado personalizada. |
CustomScaleRule |
| HTTP |
Escalado basado en solicitudes HTTP. |
HttpScaleRule |
| nombre |
Nombre de la regla de escalado |
cuerda / cadena |
| TCP |
Escalado basado en solicitudes TCP. |
TcpScaleRule |
ScaleRuleAuth
| Nombre |
Descripción |
Importancia |
| secretRef |
Nombre del secreto del que se va a extraer los parámetros de autenticación. |
cuerda / cadena |
| triggerParameter |
Parámetro de desencadenador que usa el secreto |
cuerda / cadena |
Secreto
| Nombre |
Descripción |
Importancia |
| identidad |
Identificador de recurso de una identidad administrada para autenticarse con Azure Key Vault o sistema para usar una identidad asignada por el sistema. |
cuerda / cadena |
| keyVaultUrl |
Dirección URL de Azure Key Vault que apunta al secreto al que hace referencia la aplicación contenedora. |
cuerda / cadena |
| nombre |
Nombre del secreto. |
cuerda / cadena |
| valor |
Valor secreto. |
cuerda
Restricciones: Valor confidencial. Pase como parámetro seguro. |
SecretVolumeItem
| Nombre |
Descripción |
Importancia |
| camino |
Ruta de acceso al secreto del proyecto al que. Si no se proporciona ninguna ruta de acceso, la ruta de acceso tiene como valor predeterminado el nombre del secreto enumerado en secretRef. |
cuerda / cadena |
| secretRef |
Nombre del secreto de la aplicación contenedora del que se va a extraer el valor del secreto. |
cuerda / cadena |
Servicio
| Nombre |
Descripción |
Importancia |
| tipo |
Tipo de servicio Dev ContainerApp |
string (obligatorio) |
ServiceBind
| Nombre |
Descripción |
Importancia |
| nombre |
Nombre del enlace de servicio |
cuerda / cadena |
| serviceId |
Identificador de recurso del servicio de destino |
cuerda / cadena |
TcpScaleRule
| Nombre |
Descripción |
Importancia |
| autenticación |
Secretos de autenticación para la regla de escalado tcp. |
scaleRuleAuth[] |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
cuerda / cadena |
| metadatos |
Propiedades de metadatos para describir la regla de escalado tcp. |
TcpScaleRuleMetadata |
| Nombre |
Descripción |
Importancia |
Plantilla
| Nombre |
Descripción |
Importancia |
| recipientes |
Lista de definiciones de contenedor para la aplicación contenedora. |
Contenedor[] |
| initContainers |
Lista de contenedores especializados que se ejecutan antes de los contenedores de aplicaciones. |
initContainer[] |
| revisionSuffix |
Sufijo descriptivo que se anexa al nombre de revisión |
cuerda / cadena |
| escala |
Propiedades de escalado de la aplicación contenedora. |
Escalar |
| serviceBinds |
Lista de servicios de aplicaciones de contenedor enlazados a la aplicación |
Enlace de servicio[] |
| terminationGracePeriodSeconds |
Duración opcional en segundos que la instancia de la aplicación contenedora debe finalizar correctamente. 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). Si este valor es nulo, se usará en su lugar el período de gracia predeterminado. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. El valor predeterminado es de 30 segundos. |
Int |
| Volúmenes |
Lista de definiciones de volumen para la aplicación contenedora. |
volumen[] |
| Nombre |
Descripción |
Importancia |
Peso de tráfico
| Nombre |
Descripción |
Importancia |
| etiqueta |
Asocia una etiqueta de tráfico a una revisión |
cuerda / cadena |
| latestRevision |
Indica que el peso del tráfico pertenece a una revisión estable más reciente. |
booleano |
| revisionName |
Nombre de una revisión |
cuerda / cadena |
| peso |
Peso del tráfico asignado a una revisión |
Int |
UserAssignedIdentities
| Nombre |
Descripción |
Importancia |
IdentidadAsignadaPorElUsuario
| Nombre |
Descripción |
Importancia |
Volumen
| Nombre |
Descripción |
Importancia |
| mountOptions |
Opciones de montaje que se usan al montar el recurso compartido de archivos de Azure o el recurso compartido de archivos NFS de Azure. Debe ser una cadena separada por comas. |
cuerda / cadena |
| nombre |
Nombre del volumen. |
cuerda / cadena |
| secretos |
Lista de secretos que se van a agregar en el volumen. Si no se proporciona ningún secreto, todos los secretos de la colección se agregarán al volumen. |
secretVolumeItem[] |
| storageName |
Nombre del recurso de almacenamiento. No es necesario proporcionar EmptyDir y Secret. |
cuerda / cadena |
| storageType |
Tipo de almacenamiento para el volumen. Si no se proporciona, use EmptyDir. |
"AzureFile" 'EmptyDir' 'NfsAzureFile' 'Secreto' |
VolumeMount
| Nombre |
Descripción |
Importancia |
| mountPath |
Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. |
cuerda / cadena |
| subRuta |
Ruta de acceso dentro del volumen desde el que se debe montar el volumen del contenedor. El valor predeterminado es "" (raíz del volumen). |
cuerda / cadena |
| volumeName |
Debe coincidir con el nombre de un volumen. |
cuerda / cadena |
Ejemplos de uso
Plantillas de inicio rápido de Azure
Los siguientes plantillas de inicio rápido de Azure implementar 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@2025-07-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
extendedLocation = {
name = "string"
type = "string"
}
kind = "string"
managedBy = "string"
properties = {
configuration = {
activeRevisionsMode = "string"
dapr = {
appHealth = {
enabled = bool
path = "string"
probeIntervalSeconds = int
probeTimeoutMilliseconds = int
threshold = int
}
appId = "string"
appPort = int
appProtocol = "string"
enableApiLogging = bool
enabled = bool
httpMaxRequestSize = int
httpReadBufferSize = int
logLevel = "string"
maxConcurrency = int
}
identitySettings = [
{
identity = "string"
lifecycle = "string"
}
]
ingress = {
additionalPortMappings = [
{
exposedPort = int
external = bool
targetPort = int
}
]
allowInsecure = bool
clientCertificateMode = "string"
corsPolicy = {
allowCredentials = bool
allowedHeaders = [
"string"
]
allowedMethods = [
"string"
]
allowedOrigins = [
"string"
]
exposeHeaders = [
"string"
]
maxAge = int
}
customDomains = [
{
bindingType = "string"
certificateId = "string"
name = "string"
}
]
exposedPort = int
external = bool
ipSecurityRestrictions = [
{
action = "string"
description = "string"
ipAddressRange = "string"
name = "string"
}
]
stickySessions = {
affinity = "string"
}
targetPort = int
traffic = [
{
label = "string"
latestRevision = bool
revisionName = "string"
weight = int
}
]
transport = "string"
}
maxInactiveRevisions = int
registries = [
{
identity = "string"
passwordSecretRef = "string"
server = "string"
username = "string"
}
]
runtime = {
java = {
enableMetrics = bool
}
}
secrets = [
{
identity = "string"
keyVaultUrl = "string"
name = "string"
value = "string"
}
]
service = {
type = "string"
}
}
environmentId = "string"
managedEnvironmentId = "string"
template = {
containers = [
{
args = [
"string"
]
command = [
"string"
]
env = [
{
name = "string"
secretRef = "string"
value = "string"
}
]
image = "string"
name = "string"
probes = [
{
failureThreshold = int
httpGet = {
host = "string"
httpHeaders = [
{
name = "string"
value = "string"
}
]
path = "string"
port = int
scheme = "string"
}
initialDelaySeconds = int
periodSeconds = int
successThreshold = int
tcpSocket = {
host = "string"
port = int
}
terminationGracePeriodSeconds = int
timeoutSeconds = int
type = "string"
}
]
resources = {
cpu = int
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
subPath = "string"
volumeName = "string"
}
]
}
]
initContainers = [
{
args = [
"string"
]
command = [
"string"
]
env = [
{
name = "string"
secretRef = "string"
value = "string"
}
]
image = "string"
name = "string"
resources = {
cpu = int
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
subPath = "string"
volumeName = "string"
}
]
}
]
revisionSuffix = "string"
scale = {
cooldownPeriod = int
maxReplicas = int
minReplicas = int
pollingInterval = int
rules = [
{
azureQueue = {
accountName = "string"
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
identity = "string"
queueLength = int
queueName = "string"
}
custom = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
identity = "string"
metadata = {
{customized property} = "string"
}
type = "string"
}
http = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
identity = "string"
metadata = {
{customized property} = "string"
}
}
name = "string"
tcp = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
identity = "string"
metadata = {
{customized property} = "string"
}
}
}
]
}
serviceBinds = [
{
name = "string"
serviceId = "string"
}
]
terminationGracePeriodSeconds = int
volumes = [
{
mountOptions = "string"
name = "string"
secrets = [
{
path = "string"
secretRef = "string"
}
]
storageName = "string"
storageType = "string"
}
]
}
workloadProfileName = "string"
}
}
}
Valores de propiedad
Microsoft.App/containerApps
| Nombre |
Descripción |
Importancia |
| extendedLocation |
Tipo complejo de la ubicación extendida. |
ExtendedLocation |
| 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 |
| amable |
Metadatos para representar el tipo de aplicación contenedora, que representan si una aplicación contenedora es workflowapp o functionapp. |
'aplicación de función' 'Aplicación de flujo de trabajo' |
| ubicación |
Ubicación geográfica donde reside el recurso |
string (obligatorio) |
| gestionadoPor |
Identificador de recurso completo del recurso que administra este recurso. Indica si otro recurso de Azure administra este recurso. Si está presente, la implementación del modo completo no eliminará el recurso si se quita de la plantilla, ya que otro recurso lo administra. |
cuerda / cadena |
| nombre |
El nombre del recurso |
string (obligatorio) |
| parent_id |
Identificador del recurso al que se va a aplicar este recurso de extensión. |
string (obligatorio) |
| Propiedades |
Propiedades específicas del recurso ContainerApp |
ContainerAppProperties |
| Etiquetas |
Etiquetas de recursos |
Diccionario de nombres y valores de etiqueta. |
| tipo |
El tipo de recurso |
"Microsoft.App/containerApps@2025-07-01" |
Configuración
| Nombre |
Descripción |
Importancia |
| activeRevisionsMode |
ActiveRevisionsMode controla cómo se controlan las revisiones activas para la aplicación contenedora:
<lista><elemento>Multiple: se pueden activar varias revisiones.</item><elemento>Single: solo se puede activar una revisión 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" 'Soltero' |
| Dapr |
Configuración de Dapr para la aplicación contenedora. |
Dapr |
| identitySettings |
Configuración opcional para identidades administradas que se asignan a la aplicación contenedora. Si no se especifica una identidad administrada aquí, se usará la configuración predeterminada. |
IdentitySettings [] |
| ingreso |
Configuraciones de entrada. |
Ingreso |
| maxInactiveRevisions |
Opcional. Las revisiones inactivas máximas que puede tener una aplicación contenedora. |
Int |
| Registros |
Recopilación de credenciales de registro de contenedor privado para contenedores usados por la aplicación contenedora |
Credenciales de Registro[] |
| tiempo de ejecución |
Configuración del entorno de ejecución de la aplicación para la aplicación contenedora. |
Tiempo de ejecución |
| secretos |
Colección de secretos usados por una aplicación contenedora |
secreto[] |
| servicio |
Aplicación contenedora para ser una instancia de Container App Service de desarrollo |
Servicio |
Contenedor
| Nombre |
Descripción |
Importancia |
| args |
Argumentos de comando de inicio de contenedor. |
cadena[] |
| comando |
Comando container start. |
cadena[] |
| Entorno |
Variables de entorno de contenedor. |
EnvironmentVar[] |
| imagen |
Etiqueta de imagen de contenedor. |
cuerda / cadena |
| nombre |
Nombre de contenedor personalizado. |
cuerda / cadena |
| Sondas |
Lista de sondeos para el contenedor. |
ContainerAppProbe [] |
| recursos |
Requisitos de recursos de contenedor. |
containerResources de |
| volumeMounts |
Montajes de volúmenes de contenedor. |
VolumeMount[] |
ContainerAppProbe
| Nombre |
Descripción |
Importancia |
| 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 (en inglés) |
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 iniciar los sondeos de ejecución. El valor mínimo es 1. El valor máximo es 60. |
Int |
| periodSeconds |
Frecuencia (en segundos) para realizar 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 haber producido un error. El valor predeterminado es 1. Debe ser 1 para la vida 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, 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 forzadamente 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 el sondeo agota el tiempo de espera. 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" 'Inicio' |
ContainerAppProbeHttpGet
| Nombre |
Descripción |
Importancia |
| anfitrión |
Nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. Probablemente quiera establecer "Host" en httpHeaders en su lugar. |
cuerda / cadena |
| httpHeaders |
Encabezados personalizados que se van a establecer en la solicitud. HTTP permite encabezados repetidos. |
ContainerAppProbeHttpGetHttpHeadersItem[] |
| camino |
Ruta de acceso al acceso en el servidor HTTP. |
cuerda / cadena |
| puerto |
Nombre o número del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
| esquema |
Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP. |
'HTTP' 'HTTPS' |
| Nombre |
Descripción |
Importancia |
| nombre |
Nombre del campo de encabezado |
string (obligatorio) |
| valor |
Valor del campo de encabezado |
string (obligatorio) |
ContainerAppProbeTcpSocket
| Nombre |
Descripción |
Importancia |
| anfitrión |
Opcional: nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. |
cuerda / cadena |
| puerto |
Número o nombre del puerto al que se va a acceder en el contenedor. El número debe estar en el intervalo de 1 a 65535. El nombre debe ser un IANA_SVC_NAME. |
int (obligatorio) |
ContainerAppProperties
| Nombre |
Descripción |
Importancia |
| configuración |
Propiedades de configuración de la aplicación contenedora sin control de versiones. |
Configuración |
| environmentId |
Identificador de recurso del entorno. |
cuerda / cadena |
| managedEnvironmentId |
Obsolescente. Identificador de recurso del entorno de la aplicación contenedora. |
cuerda / cadena |
| plantilla |
Definición de aplicación con versión de aplicación contenedora. |
Plantilla |
| workloadProfileName |
Nombre del perfil de carga de trabajo que se va a anclar para la ejecución de la aplicación contenedora. |
cuerda / cadena |
ContainerResources
| Nombre |
Descripción |
Importancia |
| CPU |
CPU necesaria en núcleos, por ejemplo, 0,5 |
Int |
| memoria |
Memoria necesaria, por ejemplo, "250 Mb" |
cuerda / cadena |
CorsPolicy
| Nombre |
Descripción |
Importancia |
| allowCredentials |
Especifica si el recurso permite las credenciales. |
booleano |
| allowedHeaders |
Especifica el contenido del encabezado access-control-allow-headers. |
cadena[] |
| allowedMethods |
Especifica el contenido del encabezado access-control-allow-methods. |
cadena[] |
| allowedOrigins |
Especifica el contenido del encabezado access-control-allow-origins. |
string[] (obligatorio) |
| exposeHeaders |
Especifica el contenido del encabezado access-control-expose-headers. |
cadena[] |
| maxAge |
Especifica el contenido del encabezado access-control-max-age. |
Int |
Dominio personalizado
| Nombre |
Descripción |
Importancia |
| bindingType |
Tipo de enlace dominio personalizado. |
'Auto' 'Deshabilitado' 'Habilitado para Sni' |
| certificateId |
Identificador de recurso del certificado que se va a enlazar a este nombre de host. Debe existir en el entorno administrado. |
cuerda / cadena |
| nombre |
Nombre de host. |
string (obligatorio) |
CustomScaleRule
| Nombre |
Descripción |
Importancia |
| autenticación |
Secretos de autenticación para la regla de escalado personalizada. |
scaleRuleAuth[] |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
cuerda / cadena |
| metadatos |
Propiedades de metadatos para describir la regla de escalado personalizada. |
CustomScaleRuleMetadata |
| tipo |
Tipo de la regla de escalado personalizada por ejemplo: azure-servicebus, redis etcetera. |
cuerda / cadena |
| Nombre |
Descripción |
Importancia |
Dapr
| Nombre |
Descripción |
Importancia |
| appHealth |
Configuración de comprobación de estado de la aplicación de Dapr |
DaprAppHealth |
| ID de la aplicación |
Identificador de aplicación dapr |
cuerda / cadena |
| 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' |
| enableApiLogging |
Habilita el registro de API para el sidecar de Dapr |
booleano |
| Habilitado |
Boolean que indica si el coche lateral dapr está habilitado |
booleano |
| httpMaxRequestSize (en inglés) |
Aumento del tamaño máximo del parámetro http y grpc server del cuerpo de la solicitud en MB para controlar la carga de archivos grandes. El valor predeterminado es de 4 MB. |
Int |
| httpReadBufferSize (en inglés) |
Tamaño máximo de dapr del búfer de lectura de encabezado http en KB para controlar al enviar encabezados de varios KB. El valor predeterminado es 65 KB. |
Int |
| logLevel |
Establece el nivel de registro del sidecar de Dapr. Los valores permitidos son debug, info, warn, error. El valor predeterminado es info. |
"depurar" 'error' 'información' "advertir" |
| maxConcurrency |
Número máximo de solicitudes simultáneas, eventos controlados por el sidecar de Dapr |
Int |
DaprAppHealth
| Nombre |
Descripción |
Importancia |
| Habilitado |
Booleano que indica si el sondeo de estado está habilitado |
booleano |
| camino |
Ruta de acceso para el sondeo de estado |
cuerda / cadena |
| sondeoIntervalSeconds |
Intervalo para el sondeo de estado en segundos |
Int
Restricciones: Valor mínimo = 1 |
| sondeoTimeoutMilisegundos |
Tiempo de espera para el sondeo de estado en milisegundos |
Int
Restricciones: Valor mínimo = 1 |
| umbral |
Umbral para el sondeo de estado |
Int
Restricciones: Valor mínimo = 1 |
EnvironmentVar (Var de entorno)
| Nombre |
Descripción |
Importancia |
| nombre |
Nombre de la variable de entorno. |
cuerda / cadena |
| secretRef |
Nombre del secreto de aplicación contenedora del que se va a extraer el valor de la variable de entorno. |
cuerda / cadena |
| valor |
Valor de variable de entorno no secreto. |
cuerda / cadena |
ExtendedLocation
| Nombre |
Descripción |
Importancia |
| nombre |
Nombre de la ubicación extendida. |
cuerda / cadena |
| tipo |
El tipo de la ubicación extendida. |
'UbicaciónPersonalizada' |
HttpScaleRule
| Nombre |
Descripción |
Importancia |
| autenticación |
Secretos de autenticación para la regla de escalado personalizada. |
scaleRuleAuth[] |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
cuerda / cadena |
| metadatos |
Propiedades de metadatos para describir la regla de escalado http. |
HttpScaleRuleMetadata |
| Nombre |
Descripción |
Importancia |
IdentitySettings (Configuración de identidad)
| Nombre |
Descripción |
Importancia |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
string (obligatorio) |
| ciclo de vida |
Use para seleccionar las fases del ciclo de vida de una aplicación contenedora durante la cual la identidad administrada debe estar disponible. |
"Todo" 'Inicio' 'Principal' 'Ninguno' |
Entrada
| Nombre |
Descripción |
Importancia |
| additionalPortMappings |
Configuración para exponer puertos adicionales en la aplicación contenedora |
ingressPortMapping[] |
| allowInsecure |
Bool que indica si se permiten conexiones HTTP a . Si se establece en conexiones HTTP falsas se redirige automáticamente a conexiones HTTPS. |
booleano |
| clientCertificateMode |
Modo de certificado de cliente para la autenticación mTLS. Omitir indica que el servidor quita el certificado de cliente al reenviar. Accept indica que el servidor reenvía el certificado de cliente, pero no requiere un certificado de cliente. Requerir indica que el servidor requiere un certificado de cliente. |
'Aceptar' 'Ignorar' 'requerir' |
| corsPolicy |
Directiva de CORS para la aplicación contenedora |
CorsPolicy |
| customDomains |
enlaces de dominio personalizados para los nombres de host de Container Apps. |
CustomDomain [] |
| puerto expuesto |
Puerto expuesto en contenedores para el tráfico TCP desde la entrada |
Int |
| externo |
Bool que indica si la aplicación expone un punto de conexión HTTP externo |
booleano |
| ipSecurityRestrictions |
Reglas para restringir la dirección IP entrante. |
ipSecurityRestrictionRule[] |
| stickySessions |
Sesiones permanentes para el modo de revisión única |
ingressStickySessions |
| targetPort |
Puerto de destino en contenedores para el tráfico desde la entrada |
Int |
| tráfico |
Pesos de tráfico para las revisiones de la aplicación |
Peso de tráfico[] |
| transporte |
Protocolo de transporte de entrada |
coche 'http' 'http2' 'TCP' |
EntradaPortMapping
| Nombre |
Descripción |
Importancia |
| puerto expuesto |
Especifica el puerto expuesto para el puerto de destino. Si no se especifica, el valor predeterminado es el puerto de destino. |
Int |
| externo |
Especifica si el puerto de la aplicación es accesible fuera del entorno. |
bool (obligatorio) |
| targetPort |
Especifica la escucha del contenedor del usuario del puerto en |
int (obligatorio) |
IngressStickySessions
| Nombre |
Descripción |
Importancia |
| afinidad |
Afinidad de sesión pegajosa |
'Ninguno' 'Pegajoso' |
InitContainer
| Nombre |
Descripción |
Importancia |
| args |
Argumentos de comando de inicio de contenedor. |
cadena[] |
| comando |
Comando container start. |
cadena[] |
| Entorno |
Variables de entorno de contenedor. |
EnvironmentVar[] |
| imagen |
Etiqueta de imagen de contenedor. |
cuerda / cadena |
| nombre |
Nombre de contenedor personalizado. |
cuerda / cadena |
| recursos |
Requisitos de recursos de contenedor. |
containerResources de |
| volumeMounts |
Montajes de volúmenes de contenedor. |
VolumeMount[] |
IpSecurityRestrictionRule
| Nombre |
Descripción |
Importancia |
| acción |
Permitir o denegar reglas para determinar la dirección IP entrante. Nota: Las reglas solo pueden constar de ALL Allow o ALL Deny |
'Permitir' 'Deny' (obligatorio) |
| descripción |
Describir la regla de restricción de IP que se envía a la aplicación contenedora. Este campo es opcional. |
cuerda / cadena |
| ipAddressRange |
Notación CIDR para que coincida con la dirección IP entrante |
string (obligatorio) |
| nombre |
Nombre de la regla de restricción de IP. |
string (obligatorio) |
ManagedServiceIdentity
| Nombre |
Descripción |
Importancia |
| tipo |
Tipo de identidad de servicio administrada (donde se permiten los tipos SystemAssigned y UserAssigned). |
'Ninguno' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (obligatorio) |
| identidades asignadas por el usuario |
Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves de 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 |
QueueScaleRule
| Nombre |
Descripción |
Importancia |
| nombre de cuenta |
Nombre de la cuenta de almacenamiento. obligatorio si se usa la identidad administrada para autenticarse |
cuerda / cadena |
| autenticación |
Secretos de autenticación para la regla de escalado de colas. |
scaleRuleAuth[] |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
cuerda / cadena |
| queueLength |
Longitud de la cola. |
Int |
| queueName |
Nombre de la cola. |
cuerda / cadena |
RegistryCredentials
| Nombre |
Descripción |
Importancia |
| 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" |
cuerda / cadena |
| passwordSecretRef |
Nombre del secreto que contiene la contraseña de inicio de sesión del Registro |
cuerda / cadena |
| servidor |
Servidor de registro de contenedores |
cuerda / cadena |
| nombre de usuario |
Nombre de usuario de Container Registry |
cuerda / cadena |
Tiempo de ejecución
| Nombre |
Descripción |
Importancia |
| Java |
Configuración de aplicaciones Java |
runtimeJava |
Tiempo de ejecuciónJava
| Nombre |
Descripción |
Importancia |
| enableMetrics |
Habilitación de las métricas principales de jmx para la aplicación java |
booleano |
Escala
| Nombre |
Descripción |
Importancia |
| Período de enfriamiento |
Opcional. Período de enfriamiento de KEDA en segundos. El valor predeterminado es de 300 segundos si no se establece. |
Int |
| maxReplicas |
Opcional. Número máximo de réplicas de contenedor. El valor predeterminado es 10 si no se establece. |
Int |
| minRéplicas |
Opcional. Número mínimo de réplicas de contenedor. |
Int |
| intervalo de sondeo |
Opcional. Intervalo de sondeo de KEDA en segundos. El valor predeterminado es de 30 segundos si no se establece. |
Int |
| reglas |
Reglas de escalado. |
ScaleRule [] |
ScaleRule (Regla de escala)
| Nombre |
Descripción |
Importancia |
| azureQueue |
Escalado basado en cola de Azure. |
queueScaleRule de |
| costumbre |
Regla de escalado personalizada. |
CustomScaleRule |
| HTTP |
Escalado basado en solicitudes HTTP. |
HttpScaleRule |
| nombre |
Nombre de la regla de escalado |
cuerda / cadena |
| TCP |
Escalado basado en solicitudes TCP. |
TcpScaleRule |
ScaleRuleAuth
| Nombre |
Descripción |
Importancia |
| secretRef |
Nombre del secreto del que se va a extraer los parámetros de autenticación. |
cuerda / cadena |
| triggerParameter |
Parámetro de desencadenador que usa el secreto |
cuerda / cadena |
Secreto
| Nombre |
Descripción |
Importancia |
| identidad |
Identificador de recurso de una identidad administrada para autenticarse con Azure Key Vault o sistema para usar una identidad asignada por el sistema. |
cuerda / cadena |
| keyVaultUrl |
Dirección URL de Azure Key Vault que apunta al secreto al que hace referencia la aplicación contenedora. |
cuerda / cadena |
| nombre |
Nombre del secreto. |
cuerda / cadena |
| valor |
Valor secreto. |
cuerda
Restricciones: Valor confidencial. Pase como parámetro seguro. |
SecretVolumeItem
| Nombre |
Descripción |
Importancia |
| camino |
Ruta de acceso al secreto del proyecto al que. Si no se proporciona ninguna ruta de acceso, la ruta de acceso tiene como valor predeterminado el nombre del secreto enumerado en secretRef. |
cuerda / cadena |
| secretRef |
Nombre del secreto de la aplicación contenedora del que se va a extraer el valor del secreto. |
cuerda / cadena |
Servicio
| Nombre |
Descripción |
Importancia |
| tipo |
Tipo de servicio Dev ContainerApp |
string (obligatorio) |
ServiceBind
| Nombre |
Descripción |
Importancia |
| nombre |
Nombre del enlace de servicio |
cuerda / cadena |
| serviceId |
Identificador de recurso del servicio de destino |
cuerda / cadena |
TcpScaleRule
| Nombre |
Descripción |
Importancia |
| autenticación |
Secretos de autenticación para la regla de escalado tcp. |
scaleRuleAuth[] |
| identidad |
Identificador de recurso de una identidad administrada asignada por el usuario que se asigna a la aplicación contenedora o "sistema" para la identidad asignada por el sistema. |
cuerda / cadena |
| metadatos |
Propiedades de metadatos para describir la regla de escalado tcp. |
TcpScaleRuleMetadata |
| Nombre |
Descripción |
Importancia |
Plantilla
| Nombre |
Descripción |
Importancia |
| recipientes |
Lista de definiciones de contenedor para la aplicación contenedora. |
Contenedor[] |
| initContainers |
Lista de contenedores especializados que se ejecutan antes de los contenedores de aplicaciones. |
initContainer[] |
| revisionSuffix |
Sufijo descriptivo que se anexa al nombre de revisión |
cuerda / cadena |
| escala |
Propiedades de escalado de la aplicación contenedora. |
Escalar |
| serviceBinds |
Lista de servicios de aplicaciones de contenedor enlazados a la aplicación |
Enlace de servicio[] |
| terminationGracePeriodSeconds |
Duración opcional en segundos que la instancia de la aplicación contenedora debe finalizar correctamente. 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). Si este valor es nulo, se usará en su lugar el período de gracia predeterminado. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. El valor predeterminado es de 30 segundos. |
Int |
| Volúmenes |
Lista de definiciones de volumen para la aplicación contenedora. |
volumen[] |
| Nombre |
Descripción |
Importancia |
Peso de tráfico
| Nombre |
Descripción |
Importancia |
| etiqueta |
Asocia una etiqueta de tráfico a una revisión |
cuerda / cadena |
| latestRevision |
Indica que el peso del tráfico pertenece a una revisión estable más reciente. |
booleano |
| revisionName |
Nombre de una revisión |
cuerda / cadena |
| peso |
Peso del tráfico asignado a una revisión |
Int |
UserAssignedIdentities
| Nombre |
Descripción |
Importancia |
IdentidadAsignadaPorElUsuario
| Nombre |
Descripción |
Importancia |
Volumen
| Nombre |
Descripción |
Importancia |
| mountOptions |
Opciones de montaje que se usan al montar el recurso compartido de archivos de Azure o el recurso compartido de archivos NFS de Azure. Debe ser una cadena separada por comas. |
cuerda / cadena |
| nombre |
Nombre del volumen. |
cuerda / cadena |
| secretos |
Lista de secretos que se van a agregar en el volumen. Si no se proporciona ningún secreto, todos los secretos de la colección se agregarán al volumen. |
secretVolumeItem[] |
| storageName |
Nombre del recurso de almacenamiento. No es necesario proporcionar EmptyDir y Secret. |
cuerda / cadena |
| storageType |
Tipo de almacenamiento para el volumen. Si no se proporciona, use EmptyDir. |
"AzureFile" 'EmptyDir' 'NfsAzureFile' 'Secreto' |
VolumeMount
| Nombre |
Descripción |
Importancia |
| mountPath |
Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. |
cuerda / cadena |
| subRuta |
Ruta de acceso dentro del volumen desde el que se debe montar el volumen del contenedor. El valor predeterminado es "" (raíz del volumen). |
cuerda / cadena |
| volumeName |
Debe coincidir con el nombre de un volumen. |
cuerda / cadena |
Ejemplos de uso
Un ejemplo básico de implementación de Container App.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "workspace" {
type = "Microsoft.OperationalInsights/workspaces@2022-10-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
features = {
disableLocalAuth = false
enableLogAccessUsingOnlyResourcePermissions = true
}
publicNetworkAccessForIngestion = "Enabled"
publicNetworkAccessForQuery = "Enabled"
retentionInDays = 30
sku = {
name = "PerGB2018"
}
workspaceCapping = {
dailyQuotaGb = -1
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
data "azapi_resource_action" "sharedKeys" {
type = "Microsoft.OperationalInsights/workspaces@2020-08-01"
resource_id = azapi_resource.workspace.id
action = "sharedKeys"
response_export_values = ["*"]
}
resource "azapi_resource" "managedEnvironment" {
type = "Microsoft.App/managedEnvironments@2022-03-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
appLogsConfiguration = {
destination = "log-analytics"
logAnalyticsConfiguration = {
customerId = azapi_resource.workspace.output.properties.customerId
sharedKey = data.azapi_resource_action.sharedKeys.output.primarySharedKey
}
}
vnetConfiguration = {
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "containerApp" {
type = "Microsoft.App/containerApps@2022-03-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
configuration = {
activeRevisionsMode = "Single"
}
managedEnvironmentId = azapi_resource.managedEnvironment.id
template = {
containers = [
{
env = [
]
image = "jackofallops/azure-containerapps-python-acctest:v0.0.1"
name = "acctest-cont-230630032906865620"
probes = [
]
resources = {
cpu = 0.25
ephemeralStorage = "1Gi"
memory = "0.5Gi"
}
volumeMounts = [
]
},
]
scale = {
maxReplicas = 10
}
volumes = [
]
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Módulos comprobados de Azure
Los siguientes módulos comprobados de Azure se pueden usar para implementar este tipo de recurso.