Compartir a través de


Microsoft.App containerApps 2022-03-01

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.

Formato de recurso

Para crear un recurso 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 Valor
nombre El nombre del recurso string (obligatorio)

Límite de caracteres: 2-32

Caracteres válidos:
Letras minúsculas, números y guiones.

Comience con la letra y termine con alfanumérico.
ubicación Ubicación geográfica donde reside el recurso string (obligatorio)
Etiquetas Etiquetas de recursos. Diccionario de nombres y valores de etiqueta. Consulte etiquetas de 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
Propiedades Propiedades específicas del recurso ContainerApp ContainerAppProperties

ManagedServiceIdentity

Nombre Descripción Valor
tipo 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 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

UserAssignedIdentities

Nombre Descripción Valor
{propiedad personalizada} UserAssignedIdentity

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 sin control de versiones. configuración de
managedEnvironmentId Identificador de recurso del entorno de la aplicación contenedora. cuerda
plantilla Definición de aplicación con versión de aplicación contenedora. de plantilla de

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: varias revisiones pueden estar activas. {/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. de entrada de
Registros Recopilación de credenciales de registro de contenedor privado para contenedores usados por la aplicación contenedora RegistryCredentials[]
Secretos Colección de secretos usados por una aplicación contenedora secreto[]

Dapr

Nombre Descripción Valor
appId Identificador de aplicación dapr cuerda
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'
Habilitado Boolean que indica si el coche lateral dapr está habilitado Bool

Ingreso

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 conexiones HTTPS. Bool
customDomains enlaces de dominio personalizados para los nombres de host de Container Apps. CustomDomain []
externo 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
tráfico 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 Tipo de enlace dominio personalizado. 'Deshabilitado'
'SniEnabled'
certificateId Identificador de recurso del certificado que se va a enlazar a este nombre de host. cuerda
nombre Nombre de host. string (obligatorio)

TrafficWeight

Nombre Descripción Valor
etiqueta Asocia una etiqueta de tráfico a una revisión cuerda
latestRevision Indica que el peso del tráfico pertenece a una revisión estable más reciente. Bool
revisionName Nombre de una revisión cuerda
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" cuerda
passwordSecretRef Nombre del secreto que contiene la contraseña de inicio de sesión del Registro cuerda
servidor Container Registry Server cuerda
nombre de usuario Nombre de usuario de Container Registry cuerda

Secreto

Nombre Descripción Valor
nombre Nombre del secreto. cuerda
valor Valor secreto. cuerda

Restricciones:
Valor confidencial. Pase como parámetro seguro.

Plantilla

Nombre Descripción Valor
recipientes Lista de definiciones de contenedor para la aplicación contenedora. container[]
revisionSuffix Sufijo descriptivo que se anexa al nombre de revisión cuerda
escama Propiedades de escalado de la aplicación contenedora. escalado
Volúmenes 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[]
mandar Comando container start. string[]
Env Variables de entorno de contenedor. EnvironmentVar[]
imagen Etiqueta de imagen de contenedor. cuerda
nombre Nombre de contenedor personalizado. cuerda
Sondas Lista de sondeos para el contenedor. ContainerAppProbe []
Recursos Requisitos de recursos de contenedor. containerResources de
volumeMounts Montajes de volúmenes de contenedor. VolumeMount[]

EnvironmentVar

Nombre Descripción Valor
nombre Nombre de la variable de entorno. cuerda
secretRef Nombre del secreto de aplicación contenedora del que se va a extraer el valor de la variable de entorno. cuerda
valor Valor de variable de entorno no secreto. cuerda

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 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 Valor
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
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
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'

ContainerAppProbeHttpGetHttpHeadersItem

Nombre Descripción Valor
nombre Nombre del campo de encabezado string (obligatorio)
valor Valor del campo de encabezado string (obligatorio)

ContainerAppProbeTcpSocket

Nombre Descripción Valor
anfitrión Opcional: nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. cuerda
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)

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" cuerda

VolumeMount

Nombre Descripción Valor
mountPath Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. cuerda
volumeName Debe coincidir con el nombre de un volumen. cuerda

Escama

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 de
costumbre Regla de escalado personalizada. CustomScaleRule
HTTP Escalado basado en solicitudes HTTP. HttpScaleRule
nombre Nombre de la regla de escalado cuerda

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. cuerda

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. cuerda
triggerParameter Parámetro de desencadenador que usa el secreto cuerda

CustomScaleRule

Nombre Descripción Valor
Auth Secretos de autenticación para la regla de escalado personalizada. scaleRuleAuth[]
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

CustomScaleRuleMetadata

Nombre Descripción Valor
{propiedad personalizada} cuerda

HttpScaleRule

Nombre Descripción Valor
Auth Secretos de autenticación para la regla de escalado personalizada. scaleRuleAuth[]
metadatos Propiedades de metadatos para describir la regla de escalado http. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Nombre Descripción Valor
{propiedad personalizada} cuerda

Volumen

Nombre Descripción Valor
nombre Nombre del volumen. cuerda
storageName Nombre del recurso de almacenamiento. No es necesario proporcionar EmptyDir. cuerda
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.

Plantilla Descripción
crea una aplicación de contenedor y un entorno con del Registro

Implementación en Azure
Cree un entorno de aplicación de contenedor con una aplicación de contenedor básica desde una instancia de Azure Container Registry. También implementa un área de trabajo de Log Analytics para almacenar registros.
Crea una aplicación de contenedor con un entorno de aplicación de contenedor

Implementación en Azure
Cree un entorno de aplicación de contenedor con una aplicación contenedora básica. También implementa un área de trabajo de Log Analytics para almacenar registros.
Crea una aplicación contenedora en un entorno de aplicación de contenedor

Implementación en Azure
Cree un entorno de aplicación de contenedor con una aplicación de contenedor básica. También implementa un área de trabajo de Log Analytics para almacenar registros.
Crea una aplicación contenedora con una regla de escalado HTTP definida

Implementación en Azure
Cree un entorno de aplicación de contenedor con una aplicación de contenedor básica que se escale en función del tráfico HTTP.
Crea un entorno de aplicación de contenedor externo con una de red virtual

Implementación en Azure
Crea un entorno de aplicación de contenedor externo con una red virtual.
Crea un entorno de aplicación de contenedor interno con una red virtual

Implementación en Azure
Crea un entorno de aplicación de contenedor interno con una red virtual.

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.

Formato de recurso

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 Valor
tipo El tipo de recurso "Microsoft.App/containerApps"
apiVersion La versión de la API de recursos '2022-03-01'
nombre El nombre del recurso string (obligatorio)

Límite de caracteres: 2-32

Caracteres válidos:
Letras minúsculas, números y guiones.

Comience con la letra y termine con alfanumérico.
ubicación Ubicación geográfica donde reside el recurso string (obligatorio)
Etiquetas Etiquetas de recursos. Diccionario de nombres y valores de etiqueta. Consulte etiquetas de 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
Propiedades Propiedades específicas del recurso ContainerApp ContainerAppProperties

ManagedServiceIdentity

Nombre Descripción Valor
tipo 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 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

UserAssignedIdentities

Nombre Descripción Valor
{propiedad personalizada} UserAssignedIdentity

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 sin control de versiones. configuración de
managedEnvironmentId Identificador de recurso del entorno de la aplicación contenedora. cuerda
plantilla Definición de aplicación con versión de aplicación contenedora. de plantilla de

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: varias revisiones pueden estar activas. {/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. de entrada de
Registros Recopilación de credenciales de registro de contenedor privado para contenedores usados por la aplicación contenedora RegistryCredentials[]
Secretos Colección de secretos usados por una aplicación contenedora secreto[]

Dapr

Nombre Descripción Valor
appId Identificador de aplicación dapr cuerda
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'
Habilitado Boolean que indica si el coche lateral dapr está habilitado Bool

Ingreso

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 conexiones HTTPS. Bool
customDomains enlaces de dominio personalizados para los nombres de host de Container Apps. CustomDomain []
externo 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
tráfico 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 Tipo de enlace dominio personalizado. 'Deshabilitado'
'SniEnabled'
certificateId Identificador de recurso del certificado que se va a enlazar a este nombre de host. cuerda
nombre Nombre de host. string (obligatorio)

TrafficWeight

Nombre Descripción Valor
etiqueta Asocia una etiqueta de tráfico a una revisión cuerda
latestRevision Indica que el peso del tráfico pertenece a una revisión estable más reciente. Bool
revisionName Nombre de una revisión cuerda
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" cuerda
passwordSecretRef Nombre del secreto que contiene la contraseña de inicio de sesión del Registro cuerda
servidor Container Registry Server cuerda
nombre de usuario Nombre de usuario de Container Registry cuerda

Secreto

Nombre Descripción Valor
nombre Nombre del secreto. cuerda
valor Valor secreto. cuerda

Restricciones:
Valor confidencial. Pase como parámetro seguro.

Plantilla

Nombre Descripción Valor
recipientes Lista de definiciones de contenedor para la aplicación contenedora. container[]
revisionSuffix Sufijo descriptivo que se anexa al nombre de revisión cuerda
escama Propiedades de escalado de la aplicación contenedora. escalado
Volúmenes 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[]
mandar Comando container start. string[]
Env Variables de entorno de contenedor. EnvironmentVar[]
imagen Etiqueta de imagen de contenedor. cuerda
nombre Nombre de contenedor personalizado. cuerda
Sondas Lista de sondeos para el contenedor. ContainerAppProbe []
Recursos Requisitos de recursos de contenedor. containerResources de
volumeMounts Montajes de volúmenes de contenedor. VolumeMount[]

EnvironmentVar

Nombre Descripción Valor
nombre Nombre de la variable de entorno. cuerda
secretRef Nombre del secreto de aplicación contenedora del que se va a extraer el valor de la variable de entorno. cuerda
valor Valor de variable de entorno no secreto. cuerda

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 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 Valor
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
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
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'

ContainerAppProbeHttpGetHttpHeadersItem

Nombre Descripción Valor
nombre Nombre del campo de encabezado string (obligatorio)
valor Valor del campo de encabezado string (obligatorio)

ContainerAppProbeTcpSocket

Nombre Descripción Valor
anfitrión Opcional: nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. cuerda
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)

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" cuerda

VolumeMount

Nombre Descripción Valor
mountPath Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. cuerda
volumeName Debe coincidir con el nombre de un volumen. cuerda

Escama

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 de
costumbre Regla de escalado personalizada. CustomScaleRule
HTTP Escalado basado en solicitudes HTTP. HttpScaleRule
nombre Nombre de la regla de escalado cuerda

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. cuerda

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. cuerda
triggerParameter Parámetro de desencadenador que usa el secreto cuerda

CustomScaleRule

Nombre Descripción Valor
Auth Secretos de autenticación para la regla de escalado personalizada. scaleRuleAuth[]
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

CustomScaleRuleMetadata

Nombre Descripción Valor
{propiedad personalizada} cuerda

HttpScaleRule

Nombre Descripción Valor
Auth Secretos de autenticación para la regla de escalado personalizada. scaleRuleAuth[]
metadatos Propiedades de metadatos para describir la regla de escalado http. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Nombre Descripción Valor
{propiedad personalizada} cuerda

Volumen

Nombre Descripción Valor
nombre Nombre del volumen. cuerda
storageName Nombre del recurso de almacenamiento. No es necesario proporcionar EmptyDir. cuerda
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.

Plantilla Descripción
crea una aplicación de contenedor y un entorno con del Registro

Implementación en Azure
Cree un entorno de aplicación de contenedor con una aplicación de contenedor básica desde una instancia de Azure Container Registry. También implementa un área de trabajo de Log Analytics para almacenar registros.
Crea una aplicación de contenedor con un entorno de aplicación de contenedor

Implementación en Azure
Cree un entorno de aplicación de contenedor con una aplicación contenedora básica. También implementa un área de trabajo de Log Analytics para almacenar registros.
Crea una aplicación contenedora en un entorno de aplicación de contenedor

Implementación en Azure
Cree un entorno de aplicación de contenedor con una aplicación de contenedor básica. También implementa un área de trabajo de Log Analytics para almacenar registros.
Crea una aplicación contenedora con una regla de escalado HTTP definida

Implementación en Azure
Cree un entorno de aplicación de contenedor con una aplicación de contenedor básica que se escale en función del tráfico HTTP.
Crea un entorno de aplicación de contenedor externo con una de red virtual

Implementación en Azure
Crea un entorno de aplicación de contenedor externo con una red virtual.
Crea un entorno de aplicación de contenedor interno con una red virtual

Implementación en Azure
Crea un entorno de aplicación de contenedor interno con una red virtual.

Definición de recursos de Terraform (proveedor AzAPI)

El tipo de recurso containerApps se puede implementar con operaciones destinadas a:

  • grupos de recursos de

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

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 Valor
tipo El tipo de recurso "Microsoft.App/containerApps@2022-03-01"
nombre El nombre del recurso string (obligatorio)

Límite de caracteres: 2-32

Caracteres válidos:
Letras minúsculas, números y guiones.

Comience con la letra y termine con 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 de recursos. 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
Propiedades Propiedades específicas del recurso ContainerApp ContainerAppProperties

ManagedServiceIdentity

Nombre Descripción Valor
tipo 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 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. Matriz de identificadores de identidad de usuario.

UserAssignedIdentities

Nombre Descripción Valor
{propiedad personalizada} UserAssignedIdentity

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 sin control de versiones. configuración de
managedEnvironmentId Identificador de recurso del entorno de la aplicación contenedora. cuerda
plantilla Definición de aplicación con versión de aplicación contenedora. de plantilla de

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: varias revisiones pueden estar activas. {/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. de entrada de
Registros Recopilación de credenciales de registro de contenedor privado para contenedores usados por la aplicación contenedora RegistryCredentials[]
Secretos Colección de secretos usados por una aplicación contenedora secreto[]

Dapr

Nombre Descripción Valor
appId Identificador de aplicación dapr cuerda
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"
Habilitado Boolean que indica si el coche lateral dapr está habilitado Bool

Ingreso

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 conexiones HTTPS. Bool
customDomains enlaces de dominio personalizados para los nombres de host de Container Apps. CustomDomain []
externo 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
tráfico 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 Tipo de enlace dominio personalizado. "Deshabilitado"
"SniEnabled"
certificateId Identificador de recurso del certificado que se va a enlazar a este nombre de host. cuerda
nombre Nombre de host. string (obligatorio)

TrafficWeight

Nombre Descripción Valor
etiqueta Asocia una etiqueta de tráfico a una revisión cuerda
latestRevision Indica que el peso del tráfico pertenece a una revisión estable más reciente. Bool
revisionName Nombre de una revisión cuerda
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" cuerda
passwordSecretRef Nombre del secreto que contiene la contraseña de inicio de sesión del Registro cuerda
servidor Container Registry Server cuerda
nombre de usuario Nombre de usuario de Container Registry cuerda

Secreto

Nombre Descripción Valor
nombre Nombre del secreto. cuerda
valor Valor secreto. cuerda

Restricciones:
Valor confidencial. Pase como parámetro seguro.

Plantilla

Nombre Descripción Valor
recipientes Lista de definiciones de contenedor para la aplicación contenedora. container[]
revisionSuffix Sufijo descriptivo que se anexa al nombre de revisión cuerda
escama Propiedades de escalado de la aplicación contenedora. escalado
Volúmenes 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[]
mandar Comando container start. string[]
Env Variables de entorno de contenedor. EnvironmentVar[]
imagen Etiqueta de imagen de contenedor. cuerda
nombre Nombre de contenedor personalizado. cuerda
Sondas Lista de sondeos para el contenedor. ContainerAppProbe []
Recursos Requisitos de recursos de contenedor. containerResources de
volumeMounts Montajes de volúmenes de contenedor. VolumeMount[]

EnvironmentVar

Nombre Descripción Valor
nombre Nombre de la variable de entorno. cuerda
secretRef Nombre del secreto de aplicación contenedora del que se va a extraer el valor de la variable de entorno. cuerda
valor Valor de variable de entorno no secreto. cuerda

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 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. "Vida"
"Preparación"
"Inicio"

ContainerAppProbeHttpGet

Nombre Descripción Valor
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
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
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"

ContainerAppProbeHttpGetHttpHeadersItem

Nombre Descripción Valor
nombre Nombre del campo de encabezado string (obligatorio)
valor Valor del campo de encabezado string (obligatorio)

ContainerAppProbeTcpSocket

Nombre Descripción Valor
anfitrión Opcional: nombre de host al que conectarse, el valor predeterminado es la dirección IP del pod. cuerda
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)

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" cuerda

VolumeMount

Nombre Descripción Valor
mountPath Ruta de acceso dentro del contenedor en el que se debe montar el volumen. No debe contener ':'. cuerda
volumeName Debe coincidir con el nombre de un volumen. cuerda

Escama

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 de
costumbre Regla de escalado personalizada. CustomScaleRule
HTTP Escalado basado en solicitudes HTTP. HttpScaleRule
nombre Nombre de la regla de escalado cuerda

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. cuerda

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. cuerda
triggerParameter Parámetro de desencadenador que usa el secreto cuerda

CustomScaleRule

Nombre Descripción Valor
Auth Secretos de autenticación para la regla de escalado personalizada. scaleRuleAuth[]
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

CustomScaleRuleMetadata

Nombre Descripción Valor
{propiedad personalizada} cuerda

HttpScaleRule

Nombre Descripción Valor
Auth Secretos de autenticación para la regla de escalado personalizada. scaleRuleAuth[]
metadatos Propiedades de metadatos para describir la regla de escalado http. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Nombre Descripción Valor
{propiedad personalizada} cuerda

Volumen

Nombre Descripción Valor
nombre Nombre del volumen. cuerda
storageName Nombre del recurso de almacenamiento. No es necesario proporcionar EmptyDir. cuerda
storageType Tipo de almacenamiento para el volumen. Si no se proporciona, use EmptyDir. "AzureFile"
"EmptyDir"