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


Microsoft.App задания 2023-04-01-preview

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

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

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

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

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

resource symbolicname 'Microsoft.App/jobs@2023-04-01-preview' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    configuration: {
      eventTriggerConfig: {
        parallelism: int
        replicaCompletionCount: int
        scale: {
          maxExecutions: int
          minExecutions: int
          pollingInterval: int
          rules: [
            {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: any(...)
              name: 'string'
              type: 'string'
            }
          ]
        }
      }
      manualTriggerConfig: {
        parallelism: int
        replicaCompletionCount: int
      }
      registries: [
        {
          identity: 'string'
          passwordSecretRef: 'string'
          server: 'string'
          username: 'string'
        }
      ]
      replicaRetryLimit: int
      replicaTimeout: int
      scheduleTriggerConfig: {
        cronExpression: 'string'
        parallelism: int
        replicaCompletionCount: int
      }
      secrets: [
        {
          identity: 'string'
          keyVaultUrl: 'string'
          name: 'string'
          value: 'string'
        }
      ]
      triggerType: 'string'
    }
    environmentId: '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'
            }
          ]
        }
      ]
      volumes: [
        {
          mountOptions: 'string'
          name: 'string'
          secrets: [
            {
              path: 'string'
              secretRef: 'string'
            }
          ]
          storageName: 'string'
          storageType: 'string'
        }
      ]
    }
    workloadProfileName: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

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

Microsoft.App/вакансии

Имя Описание Ценность
идентичность Управляемые удостоверения, необходимые заданию приложения-контейнера для взаимодействия с другими службами Azure, не поддерживают секреты или учетные данные в коде. ManagedServiceIdentity (Управляемый сервисИдентификация)
расположение Географическое расположение, в котором находится ресурс строка (обязательно)
имя имя ресурса. струна

Ограничения целостности:
Pattern = ^[-\w\._\(\)]+$ (обязательно)
свойства Свойства конкретного ресурса задания для приложений-контейнеров. JobProperties (Свойства задания)
Теги Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах

Контейнер

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

ContainerAppProbe (КонтейнерAppПробу)

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

ContainerAppProbeHttpGet

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

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket (КонтейнерAppProbeTcpSocket)

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

Контейнерные ресурсы

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

Окружающая средаVar

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

Инициализация контейнера

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

JobConfiguration (Конфигурация задания)

Имя Описание Ценность
eventTriggerConfig Настройка триггера управляемого событиями задания. JobConfigurationEventTriggerConfig
Конфигурация manualTriggerConfig Настройка триггера вручную для одного задания выполнения. Свойства replicaCompletionCount и parallelism будут иметь значение 1 по умолчанию JobConfigurationManualTriggerConfig (Конфигурация заданияManualTriggerConfig)
реестры Коллекция учетных данных реестра частных контейнеров, используемых заданием приложений контейнеров Учетные данные реестра[]
replicaRetryLimit Максимальное количество повторных попыток перед сбоем задания. инт
replicaTimeout Максимальное количество секунд для запуска реплики. int (обязательно)
scheduleTriggerConfig В Cron отформатировано расписание повторения триггера ("* * * *") для cronjobs. По умолчанию для завершения свойств и параллелизма задано значение 1. JobConfigurationScheduleTriggerConfig
Секреты Коллекция секретов, используемых заданием приложений контейнеров Секрет[]
Тип триггера Тип триггера задания Событие
"Вручную"
"Расписание" (обязательно)

JobConfigurationEventTriggerConfig

Имя Описание Ценность
параллелизм Число параллельных реплик задания, которое может выполняться в определенное время. инт
replicaCompletionCount Минимальное количество успешных завершения реплик до завершения общего задания. инт
масштаб Масштабирование конфигураций для заданий на основе событий. JobScale

JobConfigurationManualTriggerConfig (Конфигурация заданияManualTriggerConfig)

Имя Описание Ценность
параллелизм Число параллельных реплик задания, которое может выполняться в определенное время. инт
replicaCompletionCount Минимальное количество успешных завершения реплик до завершения общего задания. инт

JobConfigurationScheduleTriggerConfig

Имя Описание Ценность
cronExpression Cron отформатированный повторяющийся график ("* * * *") задания Cron. строка (обязательно)
параллелизм Число параллельных реплик задания, которое может выполняться в определенное время. инт
replicaCompletionCount Минимальное количество успешных завершения реплик до завершения общего задания. инт

JobProperties (Свойства задания)

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

JobScale

Имя Описание Ценность
maxExecutions Максимальное количество выполнений заданий, созданных для триггера, по умолчанию — 100. инт
minExecutions Минимальное количество выполнений заданий, созданных для триггера, по умолчанию 0 инт
pollingInterval Интервал для проверки каждого источника события в секундах. Значение по умолчанию — 30s инт
правила Правила масштабирования. JobScaleRule[]

Правило JobScale

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

JobTemplate

Имя Описание Ценность
Контейнеры Список определений контейнеров для приложения-контейнера. Контейнер[]
initContainers Список специализированных контейнеров, выполняемых перед контейнерами приложений. InitContainer[]
томов. Список определений томов для приложения-контейнера. Том[]

Управляемая служебная идентичность

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

RegistryCredentials

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

ScaleRuleAuth (Масштабная аутентификация)

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

Секрет

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

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

СекретныйVolumeItem (СекретныйVolumeItem)

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

Отслеживаемые Ресурсные Теги

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

UserAssignedIdentity (Пользовательские идентификаторы)

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

Пользовательская назначенная идентичность

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

Объем

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

Крепление VolumeMount

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

Примеры использования

Проверенные модули Azure

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

Модуль Описание
Задание приложения Модуль ресурсов AVM для задания приложения

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

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

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

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

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

{
  "type": "Microsoft.App/jobs",
  "apiVersion": "2023-04-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "configuration": {
      "eventTriggerConfig": {
        "parallelism": "int",
        "replicaCompletionCount": "int",
        "scale": {
          "maxExecutions": "int",
          "minExecutions": "int",
          "pollingInterval": "int",
          "rules": [
            {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {},
              "name": "string",
              "type": "string"
            }
          ]
        }
      },
      "manualTriggerConfig": {
        "parallelism": "int",
        "replicaCompletionCount": "int"
      },
      "registries": [
        {
          "identity": "string",
          "passwordSecretRef": "string",
          "server": "string",
          "username": "string"
        }
      ],
      "replicaRetryLimit": "int",
      "replicaTimeout": "int",
      "scheduleTriggerConfig": {
        "cronExpression": "string",
        "parallelism": "int",
        "replicaCompletionCount": "int"
      },
      "secrets": [
        {
          "identity": "string",
          "keyVaultUrl": "string",
          "name": "string",
          "value": "string"
        }
      ],
      "triggerType": "string"
    },
    "environmentId": "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"
            }
          ]
        }
      ],
      "volumes": [
        {
          "mountOptions": "string",
          "name": "string",
          "secrets": [
            {
              "path": "string",
              "secretRef": "string"
            }
          ],
          "storageName": "string",
          "storageType": "string"
        }
      ]
    },
    "workloadProfileName": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

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

Microsoft.App/вакансии

Имя Описание Ценность
apiVersion Версия API «2023-04-01-превью»
идентичность Управляемые удостоверения, необходимые заданию приложения-контейнера для взаимодействия с другими службами Azure, не поддерживают секреты или учетные данные в коде. ManagedServiceIdentity (Управляемый сервисИдентификация)
расположение Географическое расположение, в котором находится ресурс строка (обязательно)
имя имя ресурса. струна

Ограничения целостности:
Pattern = ^[-\w\._\(\)]+$ (обязательно)
свойства Свойства конкретного ресурса задания для приложений-контейнеров. JobProperties (Свойства задания)
Теги Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
тип Тип ресурса "Microsoft.App/jobs"

Контейнер

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

ContainerAppProbe (КонтейнерAppПробу)

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

ContainerAppProbeHttpGet

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

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket (КонтейнерAppProbeTcpSocket)

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

Контейнерные ресурсы

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

Окружающая средаVar

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

Инициализация контейнера

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

JobConfiguration (Конфигурация задания)

Имя Описание Ценность
eventTriggerConfig Настройка триггера управляемого событиями задания. JobConfigurationEventTriggerConfig
Конфигурация manualTriggerConfig Настройка триггера вручную для одного задания выполнения. Свойства replicaCompletionCount и parallelism будут иметь значение 1 по умолчанию JobConfigurationManualTriggerConfig (Конфигурация заданияManualTriggerConfig)
реестры Коллекция учетных данных реестра частных контейнеров, используемых заданием приложений контейнеров Учетные данные реестра[]
replicaRetryLimit Максимальное количество повторных попыток перед сбоем задания. инт
replicaTimeout Максимальное количество секунд для запуска реплики. int (обязательно)
scheduleTriggerConfig В Cron отформатировано расписание повторения триггера ("* * * *") для cronjobs. По умолчанию для завершения свойств и параллелизма задано значение 1. JobConfigurationScheduleTriggerConfig
Секреты Коллекция секретов, используемых заданием приложений контейнеров Секрет[]
Тип триггера Тип триггера задания Событие
"Вручную"
"Расписание" (обязательно)

JobConfigurationEventTriggerConfig

Имя Описание Ценность
параллелизм Число параллельных реплик задания, которое может выполняться в определенное время. инт
replicaCompletionCount Минимальное количество успешных завершения реплик до завершения общего задания. инт
масштаб Масштабирование конфигураций для заданий на основе событий. JobScale

JobConfigurationManualTriggerConfig (Конфигурация заданияManualTriggerConfig)

Имя Описание Ценность
параллелизм Число параллельных реплик задания, которое может выполняться в определенное время. инт
replicaCompletionCount Минимальное количество успешных завершения реплик до завершения общего задания. инт

JobConfigurationScheduleTriggerConfig

Имя Описание Ценность
cronExpression Cron отформатированный повторяющийся график ("* * * *") задания Cron. строка (обязательно)
параллелизм Число параллельных реплик задания, которое может выполняться в определенное время. инт
replicaCompletionCount Минимальное количество успешных завершения реплик до завершения общего задания. инт

JobProperties (Свойства задания)

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

JobScale

Имя Описание Ценность
maxExecutions Максимальное количество выполнений заданий, созданных для триггера, по умолчанию — 100. инт
minExecutions Минимальное количество выполнений заданий, созданных для триггера, по умолчанию 0 инт
pollingInterval Интервал для проверки каждого источника события в секундах. Значение по умолчанию — 30s инт
правила Правила масштабирования. JobScaleRule[]

Правило JobScale

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

JobTemplate

Имя Описание Ценность
Контейнеры Список определений контейнеров для приложения-контейнера. Контейнер[]
initContainers Список специализированных контейнеров, выполняемых перед контейнерами приложений. InitContainer[]
томов. Список определений томов для приложения-контейнера. Том[]

Управляемая служебная идентичность

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

RegistryCredentials

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

ScaleRuleAuth (Масштабная аутентификация)

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

Секрет

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

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

СекретныйVolumeItem (СекретныйVolumeItem)

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

Отслеживаемые Ресурсные Теги

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

UserAssignedIdentity (Пользовательские идентификаторы)

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

Пользовательская назначенная идентичность

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

Объем

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

Крепление VolumeMount

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

Примеры использования

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

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

  • Группы ресурсов

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

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

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/jobs@2023-04-01-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      configuration = {
        eventTriggerConfig = {
          parallelism = int
          replicaCompletionCount = int
          scale = {
            maxExecutions = int
            minExecutions = int
            pollingInterval = int
            rules = [
              {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = ?
                name = "string"
                type = "string"
              }
            ]
          }
        }
        manualTriggerConfig = {
          parallelism = int
          replicaCompletionCount = int
        }
        registries = [
          {
            identity = "string"
            passwordSecretRef = "string"
            server = "string"
            username = "string"
          }
        ]
        replicaRetryLimit = int
        replicaTimeout = int
        scheduleTriggerConfig = {
          cronExpression = "string"
          parallelism = int
          replicaCompletionCount = int
        }
        secrets = [
          {
            identity = "string"
            keyVaultUrl = "string"
            name = "string"
            value = "string"
          }
        ]
        triggerType = "string"
      }
      environmentId = "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"
              }
            ]
          }
        ]
        volumes = [
          {
            mountOptions = "string"
            name = "string"
            secrets = [
              {
                path = "string"
                secretRef = "string"
              }
            ]
            storageName = "string"
            storageType = "string"
          }
        ]
      }
      workloadProfileName = "string"
    }
  }
}

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

Microsoft.App/вакансии

Имя Описание Ценность
идентичность Управляемые удостоверения, необходимые заданию приложения-контейнера для взаимодействия с другими службами Azure, не поддерживают секреты или учетные данные в коде. ManagedServiceIdentity (Управляемый сервисИдентификация)
расположение Географическое расположение, в котором находится ресурс строка (обязательно)
имя имя ресурса. струна

Ограничения целостности:
Pattern = ^[-\w\._\(\)]+$ (обязательно)
свойства Свойства конкретного ресурса задания для приложений-контейнеров. JobProperties (Свойства задания)
Теги Теги ресурсов Словарь имен и значений тегов.
тип Тип ресурса "Microsoft.App/jobs@2023-04-01-preview"

Контейнер

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

ContainerAppProbe (КонтейнерAppПробу)

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

ContainerAppProbeHttpGet

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

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket (КонтейнерAppProbeTcpSocket)

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

Контейнерные ресурсы

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

Окружающая средаVar

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

Инициализация контейнера

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

JobConfiguration (Конфигурация задания)

Имя Описание Ценность
eventTriggerConfig Настройка триггера управляемого событиями задания. JobConfigurationEventTriggerConfig
Конфигурация manualTriggerConfig Настройка триггера вручную для одного задания выполнения. Свойства replicaCompletionCount и parallelism будут иметь значение 1 по умолчанию JobConfigurationManualTriggerConfig (Конфигурация заданияManualTriggerConfig)
реестры Коллекция учетных данных реестра частных контейнеров, используемых заданием приложений контейнеров Учетные данные реестра[]
replicaRetryLimit Максимальное количество повторных попыток перед сбоем задания. инт
replicaTimeout Максимальное количество секунд для запуска реплики. int (обязательно)
scheduleTriggerConfig В Cron отформатировано расписание повторения триггера ("* * * *") для cronjobs. По умолчанию для завершения свойств и параллелизма задано значение 1. JobConfigurationScheduleTriggerConfig
Секреты Коллекция секретов, используемых заданием приложений контейнеров Секрет[]
Тип триггера Тип триггера задания Событие
"Вручную"
"Расписание" (обязательно)

JobConfigurationEventTriggerConfig

Имя Описание Ценность
параллелизм Число параллельных реплик задания, которое может выполняться в определенное время. инт
replicaCompletionCount Минимальное количество успешных завершения реплик до завершения общего задания. инт
масштаб Масштабирование конфигураций для заданий на основе событий. JobScale

JobConfigurationManualTriggerConfig (Конфигурация заданияManualTriggerConfig)

Имя Описание Ценность
параллелизм Число параллельных реплик задания, которое может выполняться в определенное время. инт
replicaCompletionCount Минимальное количество успешных завершения реплик до завершения общего задания. инт

JobConfigurationScheduleTriggerConfig

Имя Описание Ценность
cronExpression Cron отформатированный повторяющийся график ("* * * *") задания Cron. строка (обязательно)
параллелизм Число параллельных реплик задания, которое может выполняться в определенное время. инт
replicaCompletionCount Минимальное количество успешных завершения реплик до завершения общего задания. инт

JobProperties (Свойства задания)

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

JobScale

Имя Описание Ценность
maxExecutions Максимальное количество выполнений заданий, созданных для триггера, по умолчанию — 100. инт
minExecutions Минимальное количество выполнений заданий, созданных для триггера, по умолчанию 0 инт
pollingInterval Интервал для проверки каждого источника события в секундах. Значение по умолчанию — 30s инт
правила Правила масштабирования. JobScaleRule[]

Правило JobScale

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

JobTemplate

Имя Описание Ценность
Контейнеры Список определений контейнеров для приложения-контейнера. Контейнер[]
initContainers Список специализированных контейнеров, выполняемых перед контейнерами приложений. InitContainer[]
томов. Список определений томов для приложения-контейнера. Том[]

Управляемая служебная идентичность

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

RegistryCredentials

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

ScaleRuleAuth (Масштабная аутентификация)

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

Секрет

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

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

СекретныйVolumeItem (СекретныйVolumeItem)

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

Отслеживаемые Ресурсные Теги

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

UserAssignedIdentity (Пользовательские идентификаторы)

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

Пользовательская назначенная идентичность

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

Объем

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

Крепление VolumeMount

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