Поделиться через


Microsoft.App containerApps 2023-05-02-preview

Определение ресурсов Bicep

Тип ресурса containerApps можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.App/containerApps, добавьте следующий Bicep в шаблон.

resource symbolicname 'Microsoft.App/containerApps@2023-05-02-preview' = {
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  managedBy: 'string'
  name: 'string'
  properties: {
    configuration: {
      activeRevisionsMode: 'string'
      dapr: {
        appId: 'string'
        appPort: int
        appProtocol: 'string'
        enableApiLogging: bool
        enabled: bool
        httpMaxRequestSize: int
        httpReadBufferSize: int
        logLevel: 'string'
      }
      ingress: {
        additionalPortMappings: [
          {
            exposedPort: int
            external: bool
            targetPort: int
          }
        ]
        allowInsecure: bool
        clientCertificateMode: 'string'
        corsPolicy: {
          allowCredentials: bool
          allowedHeaders: [
            'string'
          ]
          allowedMethods: [
            'string'
          ]
          allowedOrigins: [
            'string'
          ]
          exposeHeaders: [
            'string'
          ]
          maxAge: int
        }
        customDomains: [
          {
            bindingType: 'string'
            certificateId: 'string'
            name: 'string'
          }
        ]
        exposedPort: int
        external: bool
        ipSecurityRestrictions: [
          {
            action: 'string'
            description: 'string'
            ipAddressRange: 'string'
            name: 'string'
          }
        ]
        stickySessions: {
          affinity: 'string'
        }
        targetPort: int
        traffic: [
          {
            label: 'string'
            latestRevision: bool
            revisionName: 'string'
            weight: int
          }
        ]
        transport: 'string'
      }
      maxInactiveRevisions: int
      registries: [
        {
          identity: 'string'
          passwordSecretRef: 'string'
          server: 'string'
          username: 'string'
        }
      ]
      secrets: [
        {
          identity: 'string'
          keyVaultUrl: 'string'
          name: 'string'
          value: 'string'
        }
      ]
      service: {
        type: 'string'
      }
    }
    environmentId: 'string'
    managedEnvironmentId: 'string'
    template: {
      containers: [
        {
          args: [
            'string'
          ]
          command: [
            'string'
          ]
          env: [
            {
              name: 'string'
              secretRef: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          name: 'string'
          probes: [
            {
              failureThreshold: int
              httpGet: {
                host: 'string'
                httpHeaders: [
                  {
                    name: 'string'
                    value: 'string'
                  }
                ]
                path: 'string'
                port: int
                scheme: 'string'
              }
              initialDelaySeconds: int
              periodSeconds: int
              successThreshold: int
              tcpSocket: {
                host: 'string'
                port: int
              }
              terminationGracePeriodSeconds: int
              timeoutSeconds: int
              type: 'string'
            }
          ]
          resources: {
            cpu: 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: {
        maxReplicas: int
        minReplicas: int
        rules: [
          {
            azureQueue: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              queueLength: int
              queueName: 'string'
            }
            custom: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
              type: 'string'
            }
            http: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
            }
            name: 'string'
            tcp: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
            }
          }
        ]
      }
      serviceBinds: [
        {
          name: 'string'
          serviceId: 'string'
        }
      ]
      terminationGracePeriodSeconds: int
      volumes: [
        {
          mountOptions: 'string'
          name: 'string'
          secrets: [
            {
              path: 'string'
              secretRef: 'string'
            }
          ]
          storageName: 'string'
          storageType: 'string'
        }
      ]
    }
    workloadProfileName: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Значения свойств

Конфигурация

Имя Описание Ценность
activeRevisionsMode ActiveRevisionsMode управляет обработкой активных редакций для приложения-контейнера:
<списке><элемент>Несколько: несколько редакций могут быть активными.</item><элемент>один. Только одна редакция может быть активной одновременно. Весы редакции нельзя использовать в этом режиме. Если значение не указано, это значение по умолчанию.</item></list>
"Несколько"
"Single"
dapr Конфигурация Dapr для приложения-контейнера. Dapr
вход Конфигурации входящего трафика. входящего трафика
maxInactiveRevisions Необязательный. Максимальные неактивные редакции приложения-контейнера могут иметь. int
Реестров Коллекция учетных данных реестра частных контейнеров для контейнеров, используемых приложением-контейнером RegistryCredentials[]
Секреты Коллекция секретов, используемых приложением-контейнером секрет[]
служба Приложение-контейнер, которое должно быть службой приложений для разработки службы

Контейнер

Имя Описание Ценность
args Аргументы команд запуска контейнера. string[]
команда Команда запуска контейнера. string[]
env Переменные среды контейнера. EnvironmentVar[]
образ Тег образа контейнера. струна
имя Имя настраиваемого контейнера. струна
Зонды Список проб для контейнера. ContainerAppProbe[]
ресурсы Требования к ресурсам контейнера. ContainerResources
volumeMounts Подключение тома контейнера. VolumeMount[]

ContainerAppProbe

Имя Описание Ценность
failureThreshold Минимальные последовательные сбои для проверки, которые будут считаться неудачными после успешного выполнения. По умолчанию — 3. Минимальное значение равно 1. Максимальное значение равно 10. int
httpGet HTTPGet указывает http-запрос для выполнения. ContainerAppProbeHttpGet
initialDelaySeconds Количество секунд после запуска контейнера до запуска проб активности. Минимальное значение равно 1. Максимальное значение равно 60. int
periodSeconds Как часто (в секундах) выполнять пробу. По умолчанию — 10 секунд. Минимальное значение равно 1. Максимальное значение — 240. int
successThreshold Минимальные последовательные успехи для пробы, которые будут считаться успешными после сбоя. Значение по умолчанию — 1. Должно быть 1 для жизни и запуска. Минимальное значение равно 1. Максимальное значение равно 10. int
tcpSocket TCPSocket указывает действие, связанное с TCP-портом. Перехватчики TCP еще не поддерживаются. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Необязательная длительность в секундах модуль pod должен завершиться корректно при сбое пробы. Льготный период — это длительность в секундах после того, как процессы, выполняемые в модуле pod, отправляются сигнал завершения и время принудительного прекращения процессов с помощью сигнала об убийстве. Задайте это значение дольше ожидаемого времени очистки для процесса. Если это значение равно nil, будет использоваться завершение модуля podGracePeriodSeconds. В противном случае это значение переопределяет значение, предоставленное спецификацией pod. Значение должно быть неотрицательно целым числом. Нулевое значение указывает, что немедленно останавливается через сигнал убийства (нет возможности завершить работу). Это альфа-поле и требует включения шлюза функций ProbeTerminationGracePeriod. Максимальное значение — 3600 секунд (1 час) int
timeoutSeconds Количество секунд, после которого время ожидания пробы истекает. По умолчанию используется значение 1 секунды. Минимальное значение равно 1. Максимальное значение — 240. int
тип Тип пробы. "Liveness"
"Готовность"
"Startup"

ContainerAppProbeHttpGet

Имя Описание Ценность
хозяин Имя узла для подключения по умолчанию к IP-адресу pod. Возможно, вы хотите задать "Host" в httpHeaders. струна
httpHeaders Пользовательские заголовки, заданные в запросе. HTTP позволяет повторять заголовки. ContainerAppProbeHttpGetHttpHeadersItem[]
путь Путь к доступу на HTTP-сервере. струна
порт Имя или номер порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)
схема Схема, используемая для подключения к узлу. По умолчанию используется протокол HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Имя Описание Ценность
имя Имя поля заголовка строка (обязательно)
ценность Значение поля заголовка строка (обязательно)

ContainerAppProbeTcpSocket

Имя Описание Ценность
хозяин Необязательно. Имя узла для подключения по умолчанию используется для IP-адреса pod. струна
порт Номер или имя порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)

ContainerAppProperties

Имя Описание Ценность
конфигурация Свойства конфигурации приложений контейнеров, отличные от версий. конфигурации
environmentId Идентификатор ресурса среды. струна
managedEnvironmentId Устаревшие. Идентификатор ресурса среды приложения-контейнера. струна
шаблон Определение приложения с версиями контейнера. Шаблон
workloadProfileName Имя профиля рабочей нагрузки для закрепления для выполнения приложения контейнера. струна

ContainerResources

Имя Описание Ценность
ЦПУ Обязательный ЦП в ядрах, например 0,5 int
память Требуемая память, например "250 Мб" струна

CorsPolicy

Имя Описание Ценность
allowCredentials Указывает, разрешает ли ресурс учетные данные bool
allowedHeaders Указывает содержимое заголовка access-control-allow-headers string[]
allowedMethods Указывает содержимое заголовка метода access-control-allow-methods string[]
allowedOrigins Указывает содержимое заголовка access-control-allow-origins string[] (обязательно)
exposeHeaders Указывает содержимое заголовка access-control-expose-headers string[]
maxAge Указывает содержимое заголовка access-control-max-age int

CustomDomain

Имя Описание Ценность
bindingType Тип привязки личного домена. "Отключено"
'SniEnabled'
certificateId Идентификатор ресурса сертификата, привязанного к этому имени узла. Должен существовать в управляемой среде. струна
имя Имя узла. строка (обязательно)

CustomScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания настраиваемого правила масштабирования. CustomScaleRuleMetadata
тип Тип настраиваемого правила масштабирования
например: azure-servicebus, redis и т. д.
струна

CustomScaleRuleMetadata

Имя Описание Ценность

Dapr

Имя Описание Ценность
appId Идентификатор приложения Dapr струна
appPort Сообщает Dapr, какой порт приложения прослушивается int
appProtocol Сообщает Dapr, какой протокол использует приложение. Допустимые параметры: http и grpc. Значение по умолчанию — http 'grpc'
"http"
enableApiLogging Включает ведение журнала API для бокового автомобиля Dapr bool
Включен Логическое значение, указывающее, включен ли боковой автомобиль Dapr bool
httpMaxRequestSize Увеличение максимального размера параметра http и grpc-серверов текста запроса в МБ для обработки отправки больших файлов. Значение по умолчанию — 4 МБ. int
httpReadBufferSize Максимальный размер буфера чтения заголовка HTTP в КБ для обработки при отправке заголовков с несколькими КБ. Значение по умолчанию — 65 КБ. int
LogLevel Задает уровень журнала для бокового автомобиля Dapr. Допустимые значения: отладка, информация, предупреждение, ошибка. По умолчанию используется информация. "отладка"
"error"
"info"
"предупреждать"

EnvironmentVar

Имя Описание Ценность
имя Имя переменной среды. струна
secretRef Имя секрета приложения контейнера, из которого требуется извлечь значение переменной среды. струна
ценность Значение переменной среды, отличной от секрета. струна

ExtendedLocation

Имя Описание Ценность
имя Имя расширенного расположения. струна
тип Тип расширенного расположения. CustomLocation

HttpScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания правила масштабирования HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Имя Описание Ценность

Вход

Имя Описание Ценность
additionalPortMappings Параметры для предоставления дополнительных портов в приложении-контейнере IngressPortMapping[]
allowInsecure Логическое значение, указывающее, разрешено ли http-подключения. Если задано значение false HTTP-подключений, автоматически перенаправляются в подключения HTTPS. bool
clientCertificateMode Режим сертификата клиента для проверки подлинности mTLS. Игнорировать указывает, что сервер удаляет сертификат клиента при переадресации. Принять указывает, что сервер перенаправит сертификат клиента, но не требует сертификата клиента. Требовать, чтобы сервер должен иметь сертификат клиента. "принять"
"игнорировать"
"требовать"
corsPolicy Политика CORS для приложения-контейнера CorsPolicy
customDomains Привязки личного домена для имен узлов контейнерных приложений. CustomDomain[]
exposedPort Предоставленный порт в контейнерах для tcp-трафика из входящего трафика int
внешний Bool, указывающий, предоставляет ли приложение внешнюю конечную точку HTTP bool
ipSecurityRestrictions Правила ограничения входящих IP-адресов. IpSecurityRestrictionRule[]
stickySessions Липкие сеансы для единого режима редакции IngressStickySessions
targetPort Целевой порт в контейнерах для трафика из входящего трафика int
движение Вес трафика для редакций приложения по весу трафика[]
транспорт Протокол входящего трафика "Auto"
"http"
"http2"
Tcp

IngressPortMapping

Имя Описание Ценность
exposedPort Указывает предоставленный порт для целевого порта. Если он не указан, по умолчанию используется целевой порт. int
внешний Указывает, доступен ли порт приложения за пределами среды. bool (обязательно)
targetPort Указывает контейнер пользователя порта, который прослушивает int (обязательно)

IngressStickySessions

Имя Описание Ценность
сходство Сопоставление сеансов с привязкой "нет"
"Липкий"

InitContainer

Имя Описание Ценность
args Аргументы команд запуска контейнера. string[]
команда Команда запуска контейнера. string[]
env Переменные среды контейнера. EnvironmentVar[]
образ Тег образа контейнера. струна
имя Имя настраиваемого контейнера. струна
ресурсы Требования к ресурсам контейнера. ContainerResources
volumeMounts Подключение тома контейнера. VolumeMount[]

IpSecurityRestrictionRule

Имя Описание Ценность
действие Разрешить или запретить правила для определения входящего IP-адреса. Примечание. Правила могут состоять только из ALL Allow или ALL Deny "Разрешить"
"Запрет" (обязательно)
описание Опишите правило ограничения IP-адресов, которое отправляется в приложение-контейнер. Это необязательное поле. струна
ipAddressRange Нотация CIDR для сопоставления входящих IP-адресов строка (обязательно)
имя Имя правила ограничения IP-адресов. строка (обязательно)

ManagedServiceIdentity

Имя Описание Ценность
тип Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). "Нет"
SystemAssigned
SystemAssigned, UserAssigned
UserAssigned (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. UserAssignedIdentities

Microsoft.App/containerApps

Имя Описание Ценность
extendedLocation Сложный тип расширенного расположения. ExtendedLocation
тождество управляемые удостоверения для приложения-контейнера для взаимодействия с другими службами Azure без сохранения секретов или учетных данных в коде. ManagedServiceIdentity
местоположение Географическое расположение, в котором находится ресурс строка (обязательно)
managedBy Полный идентификатор ресурса ресурса, который управляет этим ресурсом. Указывает, управляется ли этот ресурс другим ресурсом Azure. В этом случае развертывание полного режима не удаляет ресурс, если он удаляется из шаблона, так как он управляется другим ресурсом. струна
имя Имя ресурса строка (обязательно)
свойства Свойства, относящиеся к ресурсу ContainerApp ContainerAppProperties
Теги Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах

QueueScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для правила масштабирования очереди. ScaleRuleAuth[]
queueLength Длина очереди. int
queueName Имя очереди. струна

RegistryCredentials

Имя Описание Ценность
тождество Управляемое удостоверение, используемое для проверки подлинности в реестре контейнеров Azure. Для удостоверений, назначенных пользователем, используйте полный идентификатор ресурса удостоверения, назначаемого пользователем. Для удостоверений, назначенных системой, используйте system струна
passwordSecretRef Имя секрета, содержащего пароль для входа в реестр струна
сервер Сервер реестра контейнеров струна
имя пользователя Имя пользователя реестра контейнеров струна

Шкала

Имя Описание Ценность
maxReplicas Необязательный. Максимальное количество реплик контейнеров. Значение по умолчанию — 10, если не задано. int
minReplicas Необязательный. Минимальное количество реплик контейнеров. int
Правила Правила масштабирования. ScaleRule[]

ScaleRule

Имя Описание Ценность
azureQueue Масштабирование на основе очереди Azure. QueueScaleRule
обычай Пользовательское правило масштабирования. CustomScaleRule
http Масштабирование на основе HTTP-запросов. HttpScaleRule
имя Имя правила масштабирования струна
протокол tcp Масштабирование на основе tcp-запросов. TcpScaleRule

ScaleRuleAuth

Имя Описание Ценность
secretRef Имя секрета, из которого необходимо извлечь парамс проверки подлинности. струна
triggerParameter Параметр триггера, использующий секрет струна

Секрет

Имя Описание Ценность
тождество Идентификатор ресурса управляемого удостоверения для проверки подлинности в Azure Key Vault или System для использования удостоверения, назначаемого системой. струна
keyVaultUrl URL-адрес Azure Key Vault, указывающий на секрет, на который ссылается приложение контейнера. струна
имя Имя секрета. струна
ценность Значение секрета. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

SecretVolumeItem

Имя Описание Ценность
путь Путь к секрету проекта. Если путь не указан, путь по умолчанию имеет имя секрета, указанного в secretRef. струна
secretRef Имя секрета приложения-контейнера, из которого необходимо извлечь значение секрета. струна

Служба

Имя Описание Ценность
тип Тип службы Dev ContainerApp строка (обязательно)

ServiceBind

Имя Описание Ценность
имя Имя привязки службы струна
serviceId Идентификатор ресурса целевой службы струна

TcpScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для правила масштабирования tcp. ScaleRuleAuth[]
метаданные Свойства метаданных для описания правила масштабирования tcp. TcpScaleRuleMetadata

TcpScaleRuleMetadata

Имя Описание Ценность

Шаблон

Имя Описание Ценность
Контейнеры Список определений контейнеров для приложения-контейнера. контейнера[]
initContainers Список специализированных контейнеров, выполняемых перед контейнерами приложений. InitContainer[]
редакцияSuffix Понятный суффикс, добавляемый к имени редакции струна
шкала Масштабирование свойств для приложения-контейнера. масштаб
serviceBinds Список служб приложений-контейнеров, привязанных к приложению ServiceBind[]
terminationGracePeriodSeconds Необязательная длительность в секундах экземпляра приложения-контейнера должна завершиться корректно. Значение должно быть неотрицательно целым числом. Нулевое значение указывает, что немедленно останавливается через сигнал убийства (нет возможности завершить работу). Если это значение равно nil, вместо этого будет использоваться льготный период по умолчанию. Задайте это значение дольше ожидаемого времени очистки для процесса. Значение по умолчанию — 30 секунд. int
Объемы Список определений томов для приложения-контейнера. тома[]

TrackedResourceTags

Имя Описание Ценность

Вес трафика

Имя Описание Ценность
ярлык Связывает метку трафика с редакцией струна
latestRevision Указывает, что вес трафика принадлежит последней стабильной редакции bool
имя редакции Имя редакции струна
вес Вес трафика, назначенный редакции int

UserAssignedIdentities

Имя Описание Ценность

UserAssignedIdentity

Имя Описание Ценность

Том

Имя Описание Ценность
mountOptions Параметры подключения, используемые при подключении AzureFile. Должен быть строкой, разделенной запятыми. струна
имя Имя тома. струна
Секреты Список секретов, добавляемых в том. Если секреты отсутствуют, все секреты в коллекции будут добавлены в том. SecretVolumeItem[]
storageName Имя ресурса хранилища. Не требуется предоставлять значение EmptyDir и Secret. струна
storageType Тип хранилища для тома. Если этот параметр не указан, используйте EmptyDir. AzureFile
'EmptyDir'
"Секрет"

VolumeMount

Имя Описание Ценность
mountPath Путь в контейнере, в котором должен быть подключен том. Не должно содержать ":". струна
subPath Путь в томе, из которого должен быть подключен том контейнера. По умолчанию используется значение "" (корневой каталог тома). струна
имя тома Это должно соответствовать имени тома. струна

Примеры краткого руководства

Следующие примеры краткого руководства по развертыванию этого типа ресурса.

Bicep-файл Описание
создание приложения контейнера и среды с реестра Создайте среду приложения-контейнера с базовым приложением контейнера из реестра контейнеров Azure. Она также развертывает рабочую область Log Analytics для хранения журналов.
создает приложение-контейнер с определенным правилом масштабирования HTTP Создайте среду приложения-контейнера с базовым приложением-контейнером, которое масштабируется на основе HTTP-трафика.
создает приложение-контейнер в среды приложений контейнеров Создайте среду приложения-контейнера с базовым приложением контейнера. Она также развертывает рабочую область Log Analytics для хранения журналов.
создает приложение микрослужб Dapr с помощью приложений контейнеров Создайте приложение микрослужб Dapr с помощью контейнерных приложений.
Создает приложение dapr pub-sub servicebus с помощью приложений контейнеров Создайте приложение dapr pub-sub servicebus с помощью контейнерных приложений.
создает два приложения контейнера с среды приложений контейнеров Создайте две среды приложения-контейнера с базовым приложением-контейнером. Она также развертывает рабочую область Log Analytics для хранения журналов.
Создание внешней среды приложения-контейнера с помощью виртуальной сети Создает внешнюю среду приложения-контейнера с виртуальной сетью.
Создает внутреннюю среду приложения-контейнера с виртуальной сети Создает внутреннюю среду приложения-контейнера с виртуальной сетью.

Определение ресурса шаблона ARM

Тип ресурса containerApps можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.App/containerApps, добавьте следующий код JSON в шаблон.

{
  "type": "Microsoft.App/containerApps",
  "apiVersion": "2023-05-02-preview",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "managedBy": "string",
  "properties": {
    "configuration": {
      "activeRevisionsMode": "string",
      "dapr": {
        "appId": "string",
        "appPort": "int",
        "appProtocol": "string",
        "enableApiLogging": "bool",
        "enabled": "bool",
        "httpMaxRequestSize": "int",
        "httpReadBufferSize": "int",
        "logLevel": "string"
      },
      "ingress": {
        "additionalPortMappings": [
          {
            "exposedPort": "int",
            "external": "bool",
            "targetPort": "int"
          }
        ],
        "allowInsecure": "bool",
        "clientCertificateMode": "string",
        "corsPolicy": {
          "allowCredentials": "bool",
          "allowedHeaders": [ "string" ],
          "allowedMethods": [ "string" ],
          "allowedOrigins": [ "string" ],
          "exposeHeaders": [ "string" ],
          "maxAge": "int"
        },
        "customDomains": [
          {
            "bindingType": "string",
            "certificateId": "string",
            "name": "string"
          }
        ],
        "exposedPort": "int",
        "external": "bool",
        "ipSecurityRestrictions": [
          {
            "action": "string",
            "description": "string",
            "ipAddressRange": "string",
            "name": "string"
          }
        ],
        "stickySessions": {
          "affinity": "string"
        },
        "targetPort": "int",
        "traffic": [
          {
            "label": "string",
            "latestRevision": "bool",
            "revisionName": "string",
            "weight": "int"
          }
        ],
        "transport": "string"
      },
      "maxInactiveRevisions": "int",
      "registries": [
        {
          "identity": "string",
          "passwordSecretRef": "string",
          "server": "string",
          "username": "string"
        }
      ],
      "secrets": [
        {
          "identity": "string",
          "keyVaultUrl": "string",
          "name": "string",
          "value": "string"
        }
      ],
      "service": {
        "type": "string"
      }
    },
    "environmentId": "string",
    "managedEnvironmentId": "string",
    "template": {
      "containers": [
        {
          "args": [ "string" ],
          "command": [ "string" ],
          "env": [
            {
              "name": "string",
              "secretRef": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "name": "string",
          "probes": [
            {
              "failureThreshold": "int",
              "httpGet": {
                "host": "string",
                "httpHeaders": [
                  {
                    "name": "string",
                    "value": "string"
                  }
                ],
                "path": "string",
                "port": "int",
                "scheme": "string"
              },
              "initialDelaySeconds": "int",
              "periodSeconds": "int",
              "successThreshold": "int",
              "tcpSocket": {
                "host": "string",
                "port": "int"
              },
              "terminationGracePeriodSeconds": "int",
              "timeoutSeconds": "int",
              "type": "string"
            }
          ],
          "resources": {
            "cpu": "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": {
        "maxReplicas": "int",
        "minReplicas": "int",
        "rules": [
          {
            "azureQueue": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "queueLength": "int",
              "queueName": "string"
            },
            "custom": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              },
              "type": "string"
            },
            "http": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              }
            },
            "name": "string",
            "tcp": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              }
            }
          }
        ]
      },
      "serviceBinds": [
        {
          "name": "string",
          "serviceId": "string"
        }
      ],
      "terminationGracePeriodSeconds": "int",
      "volumes": [
        {
          "mountOptions": "string",
          "name": "string",
          "secrets": [
            {
              "path": "string",
              "secretRef": "string"
            }
          ],
          "storageName": "string",
          "storageType": "string"
        }
      ]
    },
    "workloadProfileName": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Значения свойств

Конфигурация

Имя Описание Ценность
activeRevisionsMode ActiveRevisionsMode управляет обработкой активных редакций для приложения-контейнера:
<списке><элемент>Несколько: несколько редакций могут быть активными.</item><элемент>один. Только одна редакция может быть активной одновременно. Весы редакции нельзя использовать в этом режиме. Если значение не указано, это значение по умолчанию.</item></list>
"Несколько"
"Single"
dapr Конфигурация Dapr для приложения-контейнера. Dapr
вход Конфигурации входящего трафика. входящего трафика
maxInactiveRevisions Необязательный. Максимальные неактивные редакции приложения-контейнера могут иметь. int
Реестров Коллекция учетных данных реестра частных контейнеров для контейнеров, используемых приложением-контейнером RegistryCredentials[]
Секреты Коллекция секретов, используемых приложением-контейнером секрет[]
служба Приложение-контейнер, которое должно быть службой приложений для разработки службы

Контейнер

Имя Описание Ценность
args Аргументы команд запуска контейнера. string[]
команда Команда запуска контейнера. string[]
env Переменные среды контейнера. EnvironmentVar[]
образ Тег образа контейнера. струна
имя Имя настраиваемого контейнера. струна
Зонды Список проб для контейнера. ContainerAppProbe[]
ресурсы Требования к ресурсам контейнера. ContainerResources
volumeMounts Подключение тома контейнера. VolumeMount[]

ContainerAppProbe

Имя Описание Ценность
failureThreshold Минимальные последовательные сбои для проверки, которые будут считаться неудачными после успешного выполнения. По умолчанию — 3. Минимальное значение равно 1. Максимальное значение равно 10. int
httpGet HTTPGet указывает http-запрос для выполнения. ContainerAppProbeHttpGet
initialDelaySeconds Количество секунд после запуска контейнера до запуска проб активности. Минимальное значение равно 1. Максимальное значение равно 60. int
periodSeconds Как часто (в секундах) выполнять пробу. По умолчанию — 10 секунд. Минимальное значение равно 1. Максимальное значение — 240. int
successThreshold Минимальные последовательные успехи для пробы, которые будут считаться успешными после сбоя. Значение по умолчанию — 1. Должно быть 1 для жизни и запуска. Минимальное значение равно 1. Максимальное значение равно 10. int
tcpSocket TCPSocket указывает действие, связанное с TCP-портом. Перехватчики TCP еще не поддерживаются. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Необязательная длительность в секундах модуль pod должен завершиться корректно при сбое пробы. Льготный период — это длительность в секундах после того, как процессы, выполняемые в модуле pod, отправляются сигнал завершения и время принудительного прекращения процессов с помощью сигнала об убийстве. Задайте это значение дольше ожидаемого времени очистки для процесса. Если это значение равно nil, будет использоваться завершение модуля podGracePeriodSeconds. В противном случае это значение переопределяет значение, предоставленное спецификацией pod. Значение должно быть неотрицательно целым числом. Нулевое значение указывает, что немедленно останавливается через сигнал убийства (нет возможности завершить работу). Это альфа-поле и требует включения шлюза функций ProbeTerminationGracePeriod. Максимальное значение — 3600 секунд (1 час) int
timeoutSeconds Количество секунд, после которого время ожидания пробы истекает. По умолчанию используется значение 1 секунды. Минимальное значение равно 1. Максимальное значение — 240. int
тип Тип пробы. "Liveness"
"Готовность"
"Startup"

ContainerAppProbeHttpGet

Имя Описание Ценность
хозяин Имя узла для подключения по умолчанию к IP-адресу pod. Возможно, вы хотите задать "Host" в httpHeaders. струна
httpHeaders Пользовательские заголовки, заданные в запросе. HTTP позволяет повторять заголовки. ContainerAppProbeHttpGetHttpHeadersItem[]
путь Путь к доступу на HTTP-сервере. струна
порт Имя или номер порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)
схема Схема, используемая для подключения к узлу. По умолчанию используется протокол HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Имя Описание Ценность
имя Имя поля заголовка строка (обязательно)
ценность Значение поля заголовка строка (обязательно)

ContainerAppProbeTcpSocket

Имя Описание Ценность
хозяин Необязательно. Имя узла для подключения по умолчанию используется для IP-адреса pod. струна
порт Номер или имя порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)

ContainerAppProperties

Имя Описание Ценность
конфигурация Свойства конфигурации приложений контейнеров, отличные от версий. конфигурации
environmentId Идентификатор ресурса среды. струна
managedEnvironmentId Устаревшие. Идентификатор ресурса среды приложения-контейнера. струна
шаблон Определение приложения с версиями контейнера. Шаблон
workloadProfileName Имя профиля рабочей нагрузки для закрепления для выполнения приложения контейнера. струна

ContainerResources

Имя Описание Ценность
ЦПУ Обязательный ЦП в ядрах, например 0,5 int
память Требуемая память, например "250 Мб" струна

CorsPolicy

Имя Описание Ценность
allowCredentials Указывает, разрешает ли ресурс учетные данные bool
allowedHeaders Указывает содержимое заголовка access-control-allow-headers string[]
allowedMethods Указывает содержимое заголовка метода access-control-allow-methods string[]
allowedOrigins Указывает содержимое заголовка access-control-allow-origins string[] (обязательно)
exposeHeaders Указывает содержимое заголовка access-control-expose-headers string[]
maxAge Указывает содержимое заголовка access-control-max-age int

CustomDomain

Имя Описание Ценность
bindingType Тип привязки личного домена. "Отключено"
'SniEnabled'
certificateId Идентификатор ресурса сертификата, привязанного к этому имени узла. Должен существовать в управляемой среде. струна
имя Имя узла. строка (обязательно)

CustomScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания настраиваемого правила масштабирования. CustomScaleRuleMetadata
тип Тип настраиваемого правила масштабирования
например: azure-servicebus, redis и т. д.
струна

CustomScaleRuleMetadata

Имя Описание Ценность

Dapr

Имя Описание Ценность
appId Идентификатор приложения Dapr струна
appPort Сообщает Dapr, какой порт приложения прослушивается int
appProtocol Сообщает Dapr, какой протокол использует приложение. Допустимые параметры: http и grpc. Значение по умолчанию — http 'grpc'
"http"
enableApiLogging Включает ведение журнала API для бокового автомобиля Dapr bool
Включен Логическое значение, указывающее, включен ли боковой автомобиль Dapr bool
httpMaxRequestSize Увеличение максимального размера параметра http и grpc-серверов текста запроса в МБ для обработки отправки больших файлов. Значение по умолчанию — 4 МБ. int
httpReadBufferSize Максимальный размер буфера чтения заголовка HTTP в КБ для обработки при отправке заголовков с несколькими КБ. Значение по умолчанию — 65 КБ. int
LogLevel Задает уровень журнала для бокового автомобиля Dapr. Допустимые значения: отладка, информация, предупреждение, ошибка. По умолчанию используется информация. "отладка"
"error"
"info"
"предупреждать"

EnvironmentVar

Имя Описание Ценность
имя Имя переменной среды. струна
secretRef Имя секрета приложения контейнера, из которого требуется извлечь значение переменной среды. струна
ценность Значение переменной среды, отличной от секрета. струна

ExtendedLocation

Имя Описание Ценность
имя Имя расширенного расположения. струна
тип Тип расширенного расположения. CustomLocation

HttpScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания правила масштабирования HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Имя Описание Ценность

Вход

Имя Описание Ценность
additionalPortMappings Параметры для предоставления дополнительных портов в приложении-контейнере IngressPortMapping[]
allowInsecure Логическое значение, указывающее, разрешено ли http-подключения. Если задано значение false HTTP-подключений, автоматически перенаправляются в подключения HTTPS. bool
clientCertificateMode Режим сертификата клиента для проверки подлинности mTLS. Игнорировать указывает, что сервер удаляет сертификат клиента при переадресации. Принять указывает, что сервер перенаправит сертификат клиента, но не требует сертификата клиента. Требовать, чтобы сервер должен иметь сертификат клиента. "принять"
"игнорировать"
"требовать"
corsPolicy Политика CORS для приложения-контейнера CorsPolicy
customDomains Привязки личного домена для имен узлов контейнерных приложений. CustomDomain[]
exposedPort Предоставленный порт в контейнерах для tcp-трафика из входящего трафика int
внешний Bool, указывающий, предоставляет ли приложение внешнюю конечную точку HTTP bool
ipSecurityRestrictions Правила ограничения входящих IP-адресов. IpSecurityRestrictionRule[]
stickySessions Липкие сеансы для единого режима редакции IngressStickySessions
targetPort Целевой порт в контейнерах для трафика из входящего трафика int
движение Вес трафика для редакций приложения по весу трафика[]
транспорт Протокол входящего трафика "Auto"
"http"
"http2"
Tcp

IngressPortMapping

Имя Описание Ценность
exposedPort Указывает предоставленный порт для целевого порта. Если он не указан, по умолчанию используется целевой порт. int
внешний Указывает, доступен ли порт приложения за пределами среды. bool (обязательно)
targetPort Указывает контейнер пользователя порта, который прослушивает int (обязательно)

IngressStickySessions

Имя Описание Ценность
сходство Сопоставление сеансов с привязкой "нет"
"Липкий"

InitContainer

Имя Описание Ценность
args Аргументы команд запуска контейнера. string[]
команда Команда запуска контейнера. string[]
env Переменные среды контейнера. EnvironmentVar[]
образ Тег образа контейнера. струна
имя Имя настраиваемого контейнера. струна
ресурсы Требования к ресурсам контейнера. ContainerResources
volumeMounts Подключение тома контейнера. VolumeMount[]

IpSecurityRestrictionRule

Имя Описание Ценность
действие Разрешить или запретить правила для определения входящего IP-адреса. Примечание. Правила могут состоять только из ALL Allow или ALL Deny "Разрешить"
"Запрет" (обязательно)
описание Опишите правило ограничения IP-адресов, которое отправляется в приложение-контейнер. Это необязательное поле. струна
ipAddressRange Нотация CIDR для сопоставления входящих IP-адресов строка (обязательно)
имя Имя правила ограничения IP-адресов. строка (обязательно)

ManagedServiceIdentity

Имя Описание Ценность
тип Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). "Нет"
SystemAssigned
SystemAssigned, UserAssigned
UserAssigned (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. UserAssignedIdentities

Microsoft.App/containerApps

Имя Описание Ценность
apiVersion Версия API '2023-05-02-preview'
extendedLocation Сложный тип расширенного расположения. ExtendedLocation
тождество управляемые удостоверения для приложения-контейнера для взаимодействия с другими службами Azure без сохранения секретов или учетных данных в коде. ManagedServiceIdentity
местоположение Географическое расположение, в котором находится ресурс строка (обязательно)
managedBy Полный идентификатор ресурса ресурса, который управляет этим ресурсом. Указывает, управляется ли этот ресурс другим ресурсом Azure. В этом случае развертывание полного режима не удаляет ресурс, если он удаляется из шаблона, так как он управляется другим ресурсом. струна
имя Имя ресурса строка (обязательно)
свойства Свойства, относящиеся к ресурсу ContainerApp ContainerAppProperties
Теги Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
тип Тип ресурса "Microsoft.App/containerApps"

QueueScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для правила масштабирования очереди. ScaleRuleAuth[]
queueLength Длина очереди. int
queueName Имя очереди. струна

RegistryCredentials

Имя Описание Ценность
тождество Управляемое удостоверение, используемое для проверки подлинности в реестре контейнеров Azure. Для удостоверений, назначенных пользователем, используйте полный идентификатор ресурса удостоверения, назначаемого пользователем. Для удостоверений, назначенных системой, используйте system струна
passwordSecretRef Имя секрета, содержащего пароль для входа в реестр струна
сервер Сервер реестра контейнеров струна
имя пользователя Имя пользователя реестра контейнеров струна

Шкала

Имя Описание Ценность
maxReplicas Необязательный. Максимальное количество реплик контейнеров. Значение по умолчанию — 10, если не задано. int
minReplicas Необязательный. Минимальное количество реплик контейнеров. int
Правила Правила масштабирования. ScaleRule[]

ScaleRule

Имя Описание Ценность
azureQueue Масштабирование на основе очереди Azure. QueueScaleRule
обычай Пользовательское правило масштабирования. CustomScaleRule
http Масштабирование на основе HTTP-запросов. HttpScaleRule
имя Имя правила масштабирования струна
протокол tcp Масштабирование на основе tcp-запросов. TcpScaleRule

ScaleRuleAuth

Имя Описание Ценность
secretRef Имя секрета, из которого необходимо извлечь парамс проверки подлинности. струна
triggerParameter Параметр триггера, использующий секрет струна

Секрет

Имя Описание Ценность
тождество Идентификатор ресурса управляемого удостоверения для проверки подлинности в Azure Key Vault или System для использования удостоверения, назначаемого системой. струна
keyVaultUrl URL-адрес Azure Key Vault, указывающий на секрет, на который ссылается приложение контейнера. струна
имя Имя секрета. струна
ценность Значение секрета. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

SecretVolumeItem

Имя Описание Ценность
путь Путь к секрету проекта. Если путь не указан, путь по умолчанию имеет имя секрета, указанного в secretRef. струна
secretRef Имя секрета приложения-контейнера, из которого необходимо извлечь значение секрета. струна

Служба

Имя Описание Ценность
тип Тип службы Dev ContainerApp строка (обязательно)

ServiceBind

Имя Описание Ценность
имя Имя привязки службы струна
serviceId Идентификатор ресурса целевой службы струна

TcpScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для правила масштабирования tcp. ScaleRuleAuth[]
метаданные Свойства метаданных для описания правила масштабирования tcp. TcpScaleRuleMetadata

TcpScaleRuleMetadata

Имя Описание Ценность

Шаблон

Имя Описание Ценность
Контейнеры Список определений контейнеров для приложения-контейнера. контейнера[]
initContainers Список специализированных контейнеров, выполняемых перед контейнерами приложений. InitContainer[]
редакцияSuffix Понятный суффикс, добавляемый к имени редакции струна
шкала Масштабирование свойств для приложения-контейнера. масштаб
serviceBinds Список служб приложений-контейнеров, привязанных к приложению ServiceBind[]
terminationGracePeriodSeconds Необязательная длительность в секундах экземпляра приложения-контейнера должна завершиться корректно. Значение должно быть неотрицательно целым числом. Нулевое значение указывает, что немедленно останавливается через сигнал убийства (нет возможности завершить работу). Если это значение равно nil, вместо этого будет использоваться льготный период по умолчанию. Задайте это значение дольше ожидаемого времени очистки для процесса. Значение по умолчанию — 30 секунд. int
Объемы Список определений томов для приложения-контейнера. тома[]

TrackedResourceTags

Имя Описание Ценность

Вес трафика

Имя Описание Ценность
ярлык Связывает метку трафика с редакцией струна
latestRevision Указывает, что вес трафика принадлежит последней стабильной редакции bool
имя редакции Имя редакции струна
вес Вес трафика, назначенный редакции int

UserAssignedIdentities

Имя Описание Ценность

UserAssignedIdentity

Имя Описание Ценность

Том

Имя Описание Ценность
mountOptions Параметры подключения, используемые при подключении AzureFile. Должен быть строкой, разделенной запятыми. струна
имя Имя тома. струна
Секреты Список секретов, добавляемых в том. Если секреты отсутствуют, все секреты в коллекции будут добавлены в том. SecretVolumeItem[]
storageName Имя ресурса хранилища. Не требуется предоставлять значение EmptyDir и Secret. струна
storageType Тип хранилища для тома. Если этот параметр не указан, используйте EmptyDir. AzureFile
'EmptyDir'
"Секрет"

VolumeMount

Имя Описание Ценность
mountPath Путь в контейнере, в котором должен быть подключен том. Не должно содержать ":". струна
subPath Путь в томе, из которого должен быть подключен том контейнера. По умолчанию используется значение "" (корневой каталог тома). струна
имя тома Это должно соответствовать имени тома. струна

Шаблоны быстрого запуска

Следующие шаблоны быстрого запуска развертывают этот тип ресурса.

Шаблон Описание
создание приложения контейнера и среды с реестра

развертывание в Azure
Создайте среду приложения-контейнера с базовым приложением контейнера из реестра контейнеров Azure. Она также развертывает рабочую область Log Analytics для хранения журналов.
создает приложение-контейнер с определенным правилом масштабирования HTTP

развертывание в Azure
Создайте среду приложения-контейнера с базовым приложением-контейнером, которое масштабируется на основе HTTP-трафика.
создает приложение-контейнер в среды приложений контейнеров

развертывание в Azure
Создайте среду приложения-контейнера с базовым приложением контейнера. Она также развертывает рабочую область Log Analytics для хранения журналов.
создает приложение микрослужб Dapr с помощью приложений контейнеров

развертывание в Azure
Создайте приложение микрослужб Dapr с помощью контейнерных приложений.
Создает приложение dapr pub-sub servicebus с помощью приложений контейнеров

развертывание в Azure
Создайте приложение dapr pub-sub servicebus с помощью контейнерных приложений.
создает два приложения контейнера с среды приложений контейнеров

развертывание в Azure
Создайте две среды приложения-контейнера с базовым приложением-контейнером. Она также развертывает рабочую область Log Analytics для хранения журналов.
Создание внешней среды приложения-контейнера с помощью виртуальной сети

развертывание в Azure
Создает внешнюю среду приложения-контейнера с виртуальной сетью.
Создает внутреннюю среду приложения-контейнера с виртуальной сети

развертывание в Azure
Создает внутреннюю среду приложения-контейнера с виртуальной сетью.

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса containerApps можно развернуть с помощью операций, предназначенных для следующих операций:

  • групп ресурсов

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.App/containerApps, добавьте следующий объект Terraform в шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/containerApps@2023-05-02-preview"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  managedBy = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      configuration = {
        activeRevisionsMode = "string"
        dapr = {
          appId = "string"
          appPort = int
          appProtocol = "string"
          enableApiLogging = bool
          enabled = bool
          httpMaxRequestSize = int
          httpReadBufferSize = int
          logLevel = "string"
        }
        ingress = {
          additionalPortMappings = [
            {
              exposedPort = int
              external = bool
              targetPort = int
            }
          ]
          allowInsecure = bool
          clientCertificateMode = "string"
          corsPolicy = {
            allowCredentials = bool
            allowedHeaders = [
              "string"
            ]
            allowedMethods = [
              "string"
            ]
            allowedOrigins = [
              "string"
            ]
            exposeHeaders = [
              "string"
            ]
            maxAge = int
          }
          customDomains = [
            {
              bindingType = "string"
              certificateId = "string"
              name = "string"
            }
          ]
          exposedPort = int
          external = bool
          ipSecurityRestrictions = [
            {
              action = "string"
              description = "string"
              ipAddressRange = "string"
              name = "string"
            }
          ]
          stickySessions = {
            affinity = "string"
          }
          targetPort = int
          traffic = [
            {
              label = "string"
              latestRevision = bool
              revisionName = "string"
              weight = int
            }
          ]
          transport = "string"
        }
        maxInactiveRevisions = int
        registries = [
          {
            identity = "string"
            passwordSecretRef = "string"
            server = "string"
            username = "string"
          }
        ]
        secrets = [
          {
            identity = "string"
            keyVaultUrl = "string"
            name = "string"
            value = "string"
          }
        ]
        service = {
          type = "string"
        }
      }
      environmentId = "string"
      managedEnvironmentId = "string"
      template = {
        containers = [
          {
            args = [
              "string"
            ]
            command = [
              "string"
            ]
            env = [
              {
                name = "string"
                secretRef = "string"
                value = "string"
              }
            ]
            image = "string"
            name = "string"
            probes = [
              {
                failureThreshold = int
                httpGet = {
                  host = "string"
                  httpHeaders = [
                    {
                      name = "string"
                      value = "string"
                    }
                  ]
                  path = "string"
                  port = int
                  scheme = "string"
                }
                initialDelaySeconds = int
                periodSeconds = int
                successThreshold = int
                tcpSocket = {
                  host = "string"
                  port = int
                }
                terminationGracePeriodSeconds = int
                timeoutSeconds = int
                type = "string"
              }
            ]
            resources = {
              cpu = 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 = {
          maxReplicas = int
          minReplicas = int
          rules = [
            {
              azureQueue = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                queueLength = int
                queueName = "string"
              }
              custom = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
                type = "string"
              }
              http = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
              }
              name = "string"
              tcp = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
              }
            }
          ]
        }
        serviceBinds = [
          {
            name = "string"
            serviceId = "string"
          }
        ]
        terminationGracePeriodSeconds = int
        volumes = [
          {
            mountOptions = "string"
            name = "string"
            secrets = [
              {
                path = "string"
                secretRef = "string"
              }
            ]
            storageName = "string"
            storageType = "string"
          }
        ]
      }
      workloadProfileName = "string"
    }
  })
}

Значения свойств

Конфигурация

Имя Описание Ценность
activeRevisionsMode ActiveRevisionsMode управляет обработкой активных редакций для приложения-контейнера:
<списке><элемент>Несколько: несколько редакций могут быть активными.</item><элемент>один. Только одна редакция может быть активной одновременно. Весы редакции нельзя использовать в этом режиме. Если значение не указано, это значение по умолчанию.</item></list>
"Несколько"
"Single"
dapr Конфигурация Dapr для приложения-контейнера. Dapr
вход Конфигурации входящего трафика. входящего трафика
maxInactiveRevisions Необязательный. Максимальные неактивные редакции приложения-контейнера могут иметь. int
Реестров Коллекция учетных данных реестра частных контейнеров для контейнеров, используемых приложением-контейнером RegistryCredentials[]
Секреты Коллекция секретов, используемых приложением-контейнером секрет[]
служба Приложение-контейнер, которое должно быть службой приложений для разработки службы

Контейнер

Имя Описание Ценность
args Аргументы команд запуска контейнера. string[]
команда Команда запуска контейнера. string[]
env Переменные среды контейнера. EnvironmentVar[]
образ Тег образа контейнера. струна
имя Имя настраиваемого контейнера. струна
Зонды Список проб для контейнера. ContainerAppProbe[]
ресурсы Требования к ресурсам контейнера. ContainerResources
volumeMounts Подключение тома контейнера. VolumeMount[]

ContainerAppProbe

Имя Описание Ценность
failureThreshold Минимальные последовательные сбои для проверки, которые будут считаться неудачными после успешного выполнения. По умолчанию — 3. Минимальное значение равно 1. Максимальное значение равно 10. int
httpGet HTTPGet указывает http-запрос для выполнения. ContainerAppProbeHttpGet
initialDelaySeconds Количество секунд после запуска контейнера до запуска проб активности. Минимальное значение равно 1. Максимальное значение равно 60. int
periodSeconds Как часто (в секундах) выполнять пробу. По умолчанию — 10 секунд. Минимальное значение равно 1. Максимальное значение — 240. int
successThreshold Минимальные последовательные успехи для пробы, которые будут считаться успешными после сбоя. Значение по умолчанию — 1. Должно быть 1 для жизни и запуска. Минимальное значение равно 1. Максимальное значение равно 10. int
tcpSocket TCPSocket указывает действие, связанное с TCP-портом. Перехватчики TCP еще не поддерживаются. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Необязательная длительность в секундах модуль pod должен завершиться корректно при сбое пробы. Льготный период — это длительность в секундах после того, как процессы, выполняемые в модуле pod, отправляются сигнал завершения и время принудительного прекращения процессов с помощью сигнала об убийстве. Задайте это значение дольше ожидаемого времени очистки для процесса. Если это значение равно nil, будет использоваться завершение модуля podGracePeriodSeconds. В противном случае это значение переопределяет значение, предоставленное спецификацией pod. Значение должно быть неотрицательно целым числом. Нулевое значение указывает, что немедленно останавливается через сигнал убийства (нет возможности завершить работу). Это альфа-поле и требует включения шлюза функций ProbeTerminationGracePeriod. Максимальное значение — 3600 секунд (1 час) int
timeoutSeconds Количество секунд, после которого время ожидания пробы истекает. По умолчанию используется значение 1 секунды. Минимальное значение равно 1. Максимальное значение — 240. int
тип Тип пробы. "Liveness"
"Готовность"
"Startup"

ContainerAppProbeHttpGet

Имя Описание Ценность
хозяин Имя узла для подключения по умолчанию к IP-адресу pod. Возможно, вы хотите задать "Host" в httpHeaders. струна
httpHeaders Пользовательские заголовки, заданные в запросе. HTTP позволяет повторять заголовки. ContainerAppProbeHttpGetHttpHeadersItem[]
путь Путь к доступу на HTTP-сервере. струна
порт Имя или номер порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)
схема Схема, используемая для подключения к узлу. По умолчанию используется протокол HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Имя Описание Ценность
имя Имя поля заголовка строка (обязательно)
ценность Значение поля заголовка строка (обязательно)

ContainerAppProbeTcpSocket

Имя Описание Ценность
хозяин Необязательно. Имя узла для подключения по умолчанию используется для IP-адреса pod. струна
порт Номер или имя порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)

ContainerAppProperties

Имя Описание Ценность
конфигурация Свойства конфигурации приложений контейнеров, отличные от версий. конфигурации
environmentId Идентификатор ресурса среды. струна
managedEnvironmentId Устаревшие. Идентификатор ресурса среды приложения-контейнера. струна
шаблон Определение приложения с версиями контейнера. Шаблон
workloadProfileName Имя профиля рабочей нагрузки для закрепления для выполнения приложения контейнера. струна

ContainerResources

Имя Описание Ценность
ЦПУ Обязательный ЦП в ядрах, например 0,5 int
память Требуемая память, например "250 Мб" струна

CorsPolicy

Имя Описание Ценность
allowCredentials Указывает, разрешает ли ресурс учетные данные bool
allowedHeaders Указывает содержимое заголовка access-control-allow-headers string[]
allowedMethods Указывает содержимое заголовка метода access-control-allow-methods string[]
allowedOrigins Указывает содержимое заголовка access-control-allow-origins string[] (обязательно)
exposeHeaders Указывает содержимое заголовка access-control-expose-headers string[]
maxAge Указывает содержимое заголовка access-control-max-age int

CustomDomain

Имя Описание Ценность
bindingType Тип привязки личного домена. "Отключено"
'SniEnabled'
certificateId Идентификатор ресурса сертификата, привязанного к этому имени узла. Должен существовать в управляемой среде. струна
имя Имя узла. строка (обязательно)

CustomScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания настраиваемого правила масштабирования. CustomScaleRuleMetadata
тип Тип настраиваемого правила масштабирования
например: azure-servicebus, redis и т. д.
струна

CustomScaleRuleMetadata

Имя Описание Ценность

Dapr

Имя Описание Ценность
appId Идентификатор приложения Dapr струна
appPort Сообщает Dapr, какой порт приложения прослушивается int
appProtocol Сообщает Dapr, какой протокол использует приложение. Допустимые параметры: http и grpc. Значение по умолчанию — http 'grpc'
"http"
enableApiLogging Включает ведение журнала API для бокового автомобиля Dapr bool
Включен Логическое значение, указывающее, включен ли боковой автомобиль Dapr bool
httpMaxRequestSize Увеличение максимального размера параметра http и grpc-серверов текста запроса в МБ для обработки отправки больших файлов. Значение по умолчанию — 4 МБ. int
httpReadBufferSize Максимальный размер буфера чтения заголовка HTTP в КБ для обработки при отправке заголовков с несколькими КБ. Значение по умолчанию — 65 КБ. int
LogLevel Задает уровень журнала для бокового автомобиля Dapr. Допустимые значения: отладка, информация, предупреждение, ошибка. По умолчанию используется информация. "отладка"
"error"
"info"
"предупреждать"

EnvironmentVar

Имя Описание Ценность
имя Имя переменной среды. струна
secretRef Имя секрета приложения контейнера, из которого требуется извлечь значение переменной среды. струна
ценность Значение переменной среды, отличной от секрета. струна

ExtendedLocation

Имя Описание Ценность
имя Имя расширенного расположения. струна
тип Тип расширенного расположения. CustomLocation

HttpScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания правила масштабирования HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Имя Описание Ценность

Вход

Имя Описание Ценность
additionalPortMappings Параметры для предоставления дополнительных портов в приложении-контейнере IngressPortMapping[]
allowInsecure Логическое значение, указывающее, разрешено ли http-подключения. Если задано значение false HTTP-подключений, автоматически перенаправляются в подключения HTTPS. bool
clientCertificateMode Режим сертификата клиента для проверки подлинности mTLS. Игнорировать указывает, что сервер удаляет сертификат клиента при переадресации. Принять указывает, что сервер перенаправит сертификат клиента, но не требует сертификата клиента. Требовать, чтобы сервер должен иметь сертификат клиента. "принять"
"игнорировать"
"требовать"
corsPolicy Политика CORS для приложения-контейнера CorsPolicy
customDomains Привязки личного домена для имен узлов контейнерных приложений. CustomDomain[]
exposedPort Предоставленный порт в контейнерах для tcp-трафика из входящего трафика int
внешний Bool, указывающий, предоставляет ли приложение внешнюю конечную точку HTTP bool
ipSecurityRestrictions Правила ограничения входящих IP-адресов. IpSecurityRestrictionRule[]
stickySessions Липкие сеансы для единого режима редакции IngressStickySessions
targetPort Целевой порт в контейнерах для трафика из входящего трафика int
движение Вес трафика для редакций приложения по весу трафика[]
транспорт Протокол входящего трафика "Auto"
"http"
"http2"
Tcp

IngressPortMapping

Имя Описание Ценность
exposedPort Указывает предоставленный порт для целевого порта. Если он не указан, по умолчанию используется целевой порт. int
внешний Указывает, доступен ли порт приложения за пределами среды. bool (обязательно)
targetPort Указывает контейнер пользователя порта, который прослушивает int (обязательно)

IngressStickySessions

Имя Описание Ценность
сходство Сопоставление сеансов с привязкой "нет"
"Липкий"

InitContainer

Имя Описание Ценность
args Аргументы команд запуска контейнера. string[]
команда Команда запуска контейнера. string[]
env Переменные среды контейнера. EnvironmentVar[]
образ Тег образа контейнера. струна
имя Имя настраиваемого контейнера. струна
ресурсы Требования к ресурсам контейнера. ContainerResources
volumeMounts Подключение тома контейнера. VolumeMount[]

IpSecurityRestrictionRule

Имя Описание Ценность
действие Разрешить или запретить правила для определения входящего IP-адреса. Примечание. Правила могут состоять только из ALL Allow или ALL Deny "Разрешить"
"Запрет" (обязательно)
описание Опишите правило ограничения IP-адресов, которое отправляется в приложение-контейнер. Это необязательное поле. струна
ipAddressRange Нотация CIDR для сопоставления входящих IP-адресов строка (обязательно)
имя Имя правила ограничения IP-адресов. строка (обязательно)

ManagedServiceIdentity

Имя Описание Ценность
тип Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). "Нет"
SystemAssigned
SystemAssigned, UserAssigned
UserAssigned (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. UserAssignedIdentities

Microsoft.App/containerApps

Имя Описание Ценность
extendedLocation Сложный тип расширенного расположения. ExtendedLocation
тождество управляемые удостоверения для приложения-контейнера для взаимодействия с другими службами Azure без сохранения секретов или учетных данных в коде. ManagedServiceIdentity
местоположение Географическое расположение, в котором находится ресурс строка (обязательно)
managedBy Полный идентификатор ресурса ресурса, который управляет этим ресурсом. Указывает, управляется ли этот ресурс другим ресурсом Azure. В этом случае развертывание полного режима не удаляет ресурс, если он удаляется из шаблона, так как он управляется другим ресурсом. струна
имя Имя ресурса строка (обязательно)
свойства Свойства, относящиеся к ресурсу ContainerApp ContainerAppProperties
Теги Теги ресурсов Словарь имен и значений тегов.
тип Тип ресурса "Microsoft.App/containerApps@2023-05-02-preview"

QueueScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для правила масштабирования очереди. ScaleRuleAuth[]
queueLength Длина очереди. int
queueName Имя очереди. струна

RegistryCredentials

Имя Описание Ценность
тождество Управляемое удостоверение, используемое для проверки подлинности в реестре контейнеров Azure. Для удостоверений, назначенных пользователем, используйте полный идентификатор ресурса удостоверения, назначаемого пользователем. Для удостоверений, назначенных системой, используйте system струна
passwordSecretRef Имя секрета, содержащего пароль для входа в реестр струна
сервер Сервер реестра контейнеров струна
имя пользователя Имя пользователя реестра контейнеров струна

Шкала

Имя Описание Ценность
maxReplicas Необязательный. Максимальное количество реплик контейнеров. Значение по умолчанию — 10, если не задано. int
minReplicas Необязательный. Минимальное количество реплик контейнеров. int
Правила Правила масштабирования. ScaleRule[]

ScaleRule

Имя Описание Ценность
azureQueue Масштабирование на основе очереди Azure. QueueScaleRule
обычай Пользовательское правило масштабирования. CustomScaleRule
http Масштабирование на основе HTTP-запросов. HttpScaleRule
имя Имя правила масштабирования струна
протокол tcp Масштабирование на основе tcp-запросов. TcpScaleRule

ScaleRuleAuth

Имя Описание Ценность
secretRef Имя секрета, из которого необходимо извлечь парамс проверки подлинности. струна
triggerParameter Параметр триггера, использующий секрет струна

Секрет

Имя Описание Ценность
тождество Идентификатор ресурса управляемого удостоверения для проверки подлинности в Azure Key Vault или System для использования удостоверения, назначаемого системой. струна
keyVaultUrl URL-адрес Azure Key Vault, указывающий на секрет, на который ссылается приложение контейнера. струна
имя Имя секрета. струна
ценность Значение секрета. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

SecretVolumeItem

Имя Описание Ценность
путь Путь к секрету проекта. Если путь не указан, путь по умолчанию имеет имя секрета, указанного в secretRef. струна
secretRef Имя секрета приложения-контейнера, из которого необходимо извлечь значение секрета. струна

Служба

Имя Описание Ценность
тип Тип службы Dev ContainerApp строка (обязательно)

ServiceBind

Имя Описание Ценность
имя Имя привязки службы струна
serviceId Идентификатор ресурса целевой службы струна

TcpScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для правила масштабирования tcp. ScaleRuleAuth[]
метаданные Свойства метаданных для описания правила масштабирования tcp. TcpScaleRuleMetadata

TcpScaleRuleMetadata

Имя Описание Ценность

Шаблон

Имя Описание Ценность
Контейнеры Список определений контейнеров для приложения-контейнера. контейнера[]
initContainers Список специализированных контейнеров, выполняемых перед контейнерами приложений. InitContainer[]
редакцияSuffix Понятный суффикс, добавляемый к имени редакции струна
шкала Масштабирование свойств для приложения-контейнера. масштаб
serviceBinds Список служб приложений-контейнеров, привязанных к приложению ServiceBind[]
terminationGracePeriodSeconds Необязательная длительность в секундах экземпляра приложения-контейнера должна завершиться корректно. Значение должно быть неотрицательно целым числом. Нулевое значение указывает, что немедленно останавливается через сигнал убийства (нет возможности завершить работу). Если это значение равно nil, вместо этого будет использоваться льготный период по умолчанию. Задайте это значение дольше ожидаемого времени очистки для процесса. Значение по умолчанию — 30 секунд. int
Объемы Список определений томов для приложения-контейнера. тома[]

TrackedResourceTags

Имя Описание Ценность

Вес трафика

Имя Описание Ценность
ярлык Связывает метку трафика с редакцией струна
latestRevision Указывает, что вес трафика принадлежит последней стабильной редакции bool
имя редакции Имя редакции струна
вес Вес трафика, назначенный редакции int

UserAssignedIdentities

Имя Описание Ценность

UserAssignedIdentity

Имя Описание Ценность

Том

Имя Описание Ценность
mountOptions Параметры подключения, используемые при подключении AzureFile. Должен быть строкой, разделенной запятыми. струна
имя Имя тома. струна
Секреты Список секретов, добавляемых в том. Если секреты отсутствуют, все секреты в коллекции будут добавлены в том. SecretVolumeItem[]
storageName Имя ресурса хранилища. Не требуется предоставлять значение EmptyDir и Secret. струна
storageType Тип хранилища для тома. Если этот параметр не указан, используйте EmptyDir. AzureFile
'EmptyDir'
"Секрет"

VolumeMount

Имя Описание Ценность
mountPath Путь в контейнере, в котором должен быть подключен том. Не должно содержать ":". струна
subPath Путь в томе, из которого должен быть подключен том контейнера. По умолчанию используется значение "" (корневой каталог тома). струна
имя тома Это должно соответствовать имени тома. струна