Partager via


Microsoft.App travaux 2023-05-02-preview

Définition de ressource Bicep

Le type de ressource de travaux peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.App/jobs, ajoutez le bicep suivant à votre modèle.

resource symbolicname 'Microsoft.App/jobs@2023-05-02-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  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: json('decimal-as-string')
            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: json('decimal-as-string')
            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'
  }
}

Valeurs de propriété

Emplois

Nom Description Valeur
nom Nom de la ressource chaîne (obligatoire)
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
étiquettes Balises de ressource. Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
identité Identités managées nécessaires par un travail d’application conteneur pour interagir avec d’autres services Azure pour ne pas conserver de secrets ou d’informations d’identification dans le code. ManagedServiceIdentity
Propriétés Propriétés spécifiques de la ressource de travail Container Apps. JobProperties

ManagedServiceIdentity

Nom Description Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

UserAssignedIdentities

Nom Description Valeur
{propriété personnalisée} UserAssignedIdentity

UserAssignedIdentity

Cet objet ne contient aucune propriété à définir pendant le déploiement. Toutes les propriétés sont ReadOnly.

JobProperties

Nom Description Valeur
configuration Propriétés de configuration du travail Container Apps. JobConfiguration
environmentId ID de ressource de l’environnement. corde
modèle Définition du travail Container Apps. JobTemplate
workloadProfileName Nom du profil de charge de travail à épingler pour l’exécution du travail des applications conteneur. corde

JobConfiguration

Nom Description Valeur
eventTriggerConfig Déclencher la configuration d’un travail piloté par les événements. JobConfigurationEventTriggerConfig
manualTriggerConfig Configuration manuelle du déclencheur pour un travail d’exécution unique. Properties replicaCompletionCount et parallélisme sont définis sur 1 par défaut JobConfigurationManualTriggerConfig
Registres Collection d’informations d’identification de registre de conteneurs privées utilisées par un travail d’application conteneur RegistryCredentials[]
replicaRetryLimit Nombre maximal de nouvelles tentatives avant l’échec du travail. Int
replicaTimeout Nombre maximal de secondes qu’un réplica est autorisé à s’exécuter. int (obligatoire)
scheduleTriggerConfig Planification de déclencheur répétitif mise en forme Cron (« * * * * * ») pour cronjobs. Les achèvements et le parallélisme des propriétés sont définis sur 1 par défaut JobConfigurationScheduleTriggerConfig
Secrets Collection de secrets utilisés par un travail Container Apps secret[]
triggerType Type de déclencheur du travail 'Event'
'Manuel'
'Schedule' (obligatoire)

JobConfigurationEventTriggerConfig

Nom Description Valeur
parallélisme Nombre de réplicas parallèles d’un travail pouvant s’exécuter à un moment donné. Int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant la fin globale du travail. Int
écaille Mise à l’échelle des configurations pour les travaux pilotés par les événements. JobScale

JobScale

Nom Description Valeur
maxExecutions Nombre maximal d’exécutions de travaux créées pour un déclencheur, par défaut 100. Int
minExecutions Nombre minimal d’exécutions de travaux créées pour un déclencheur, par défaut 0 Int
pollingInterval Intervalle pour vérifier chaque source d’événement en secondes. La valeur par défaut est 30s Int
règlement Règles de mise à l’échelle. jobScaleRule[]

JobScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle. ScaleRuleAuth[]
métadonnées Propriétés de métadonnées pour décrire la règle d’échelle. Pour Bicep, vous pouvez utiliser la fonction any().
nom Nom de la règle de mise à l’échelle corde
type Type de la règle d’échelle
par exemple : azure-servicebus, redis, etc.
corde

ScaleRuleAuth

Nom Description Valeur
secretRef Nom du secret à partir duquel extraire les params d’authentification. corde
triggerParameter Paramètre de déclencheur qui utilise le secret corde

JobConfigurationManualTriggerConfig

Nom Description Valeur
parallélisme Nombre de réplicas parallèles d’un travail pouvant s’exécuter à un moment donné. Int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant la fin globale du travail. Int

RegistryCredentials

Nom Description Valeur
identité Identité managée à utiliser pour s’authentifier auprès d’Azure Container Registry. Pour les identités affectées par l’utilisateur, utilisez l’ID complet de ressource d’identité affectée par l’utilisateur. Pour les identités affectées par le système, utilisez « système » corde
passwordSecretRef Nom du secret qui contient le mot de passe de connexion au Registre corde
serveur Container Registry Server corde
nom d’utilisateur Nom d’utilisateur du registre de conteneurs corde

JobConfigurationScheduleTriggerConfig

Nom Description Valeur
cronExpression Cron a mis en forme une planification répétée (« * * * * * ») d’un travail Cron. chaîne (obligatoire)
parallélisme Nombre de réplicas parallèles d’un travail pouvant s’exécuter à un moment donné. Int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant la fin globale du travail. Int

Secret

Nom Description Valeur
identité ID de ressource d’une identité managée pour s’authentifier auprès d’Azure Key Vault ou système pour utiliser une identité affectée par le système. corde
keyVaultUrl URL Azure Key Vault pointant vers le secret référencé par l’application conteneur. corde
nom Nom du secret. corde
valeur Valeur secrète. corde

Contraintes:
Valeur sensible. Passez en tant que paramètre sécurisé.

JobTemplate

Nom Description Valeur
Conteneurs Liste des définitions de conteneur pour l’application conteneur. conteneur[]
initContainers Liste des conteneurs spécialisés qui s’exécutent avant les conteneurs d’applications. InitContainer[]
Volumes Liste des définitions de volume pour l’application conteneur. de volume []

Conteneur

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
nom Nom du conteneur personnalisé. corde
Sondes Liste des sondes pour le conteneur. containerAppProbe[]
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

EnvironmentVar

Nom Description Valeur
nom Nom de la variable d’environnement. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur de la variable d’environnement. corde
valeur Valeur de variable d’environnement non secrète. corde

ContainerAppProbe

Nom Description Valeur
failureThreshold Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur par défaut est 3. La valeur minimale est 1. La valeur maximale est 10. Int
httpGet HTTPGet spécifie la requête http à effectuer. ContainerAppProbeHttpGet
initialDelaySeconds Nombre de secondes après le démarrage du conteneur avant l’initialisation des sondes liveness. La valeur minimale est 1. La valeur maximale est 60. Int
periodSeconds Fréquence (en secondes) d’exécution de la sonde. La valeur par défaut est de 10 secondes. La valeur minimale est 1. La valeur maximale est 240. Int
successThreshold Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. La valeur par défaut est 1. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. La valeur maximale est 10. Int
tcpSocket TCPSocket spécifie une action impliquant un port TCP. Les hooks TCP ne sont pas encore pris en charge. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Durée facultative en secondes, le pod doit se terminer correctement lors de l’échec de la sonde. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans le pod soient envoyés un signal d’arrêt et le moment où les processus sont arrêtés de force avec un signal de destruction. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. Si cette valeur est nulle, l’arrêt du podGracePeriodSeconds est utilisé. Dans le cas contraire, cette valeur remplace la valeur fournie par la spécification de pod. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiatement via le signal de destruction (aucune occasion d’arrêter). Il s’agit d’un champ alpha et nécessite l’activation de la porte de fonctionnalité ProbeTerminationGracePeriod. La valeur maximale est de 3600 secondes (1 heure) Int
timeoutSeconds Nombre de secondes après lesquelles la sonde expire. La valeur par défaut est 1 seconde. La valeur minimale est 1. La valeur maximale est 240. Int
type Type de sonde. 'Liveness'
'Readiness'
'Startup'

ContainerAppProbeHttpGet

Nom Description Valeur
hôte Nom d’hôte à connecter, par défaut à l’adresse IP du pod. Vous souhaitez probablement définir « Host » dans httpHeaders à la place. corde
httpHeaders En-têtes personnalisés à définir dans la requête. HTTP autorise les en-têtes répétés. ContainerAppProbeHttpGetHttpHeadersItem[]
chemin Chemin d’accès au serveur HTTP. corde
port Nom ou numéro du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)
schéma Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nom Description Valeur
nom Nom du champ d’en-tête chaîne (obligatoire)
valeur Valeur du champ d’en-tête chaîne (obligatoire)

ContainerAppProbeTcpSocket

Nom Description Valeur
hôte Facultatif : nom d’hôte auquel se connecter, par défaut à l’adresse IP du pod. corde
port Numéro ou nom du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)

ContainerResources

Nom Description Valeur
CPU Processeur requis dans les cœurs, par exemple 0,5 Pour spécifier une valeur décimale, utilisez la fonction json(). int ou json decimal
mémoire Mémoire requise, par exemple « 250 Mo » corde

VolumeMount

Nom Description Valeur
mountPath Chemin d’accès au sein du conteneur auquel le volume doit être monté. Ne doit pas contenir ' :'. corde
subPath Chemin d’accès au sein du volume à partir duquel le volume du conteneur doit être monté. La valeur par défaut est « » (racine du volume). corde
volumeName Cela doit correspondre au nom d’un volume. corde

InitContainer

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
nom Nom du conteneur personnalisé. corde
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

Volume

Nom Description Valeur
mountOptions Options de montage utilisées lors du montage d’AzureFile. Doit être une chaîne séparée par des virgules. corde
nom Nom du volume. corde
Secrets Liste des secrets à ajouter en volume. Si aucun secret n’est fourni, tous les secrets de la collection sont ajoutés au volume. SecretVolumeItem[]
storageName Nom de la ressource de stockage. Il n’est pas nécessaire de fournir EmptyDir et Secret. corde
storageType Type de stockage pour le volume. Si ce n’est pas le cas, utilisez EmptyDir. 'AzureFile'
'EmptyDir'
'Secret'

SecretVolumeItem

Nom Description Valeur
chemin Chemin d’accès au secret de projet vers. Si aucun chemin d’accès n’est fourni, le chemin d’accès est défini par défaut sur le nom du secret répertorié dans secretRef. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur du secret. corde

Définition de ressource de modèle ARM

Le type de ressource de travaux peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.App/jobs, ajoutez le code JSON suivant à votre modèle.

{
  "type": "Microsoft.App/jobs",
  "apiVersion": "2023-05-02-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "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": "[json('decimal-as-string')]",
            "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": "[json('decimal-as-string')]",
            "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"
  }
}

Valeurs de propriété

Emplois

Nom Description Valeur
type Type de ressource 'Microsoft.App/jobs'
apiVersion Version de l’API de ressource '2023-05-02-preview'
nom Nom de la ressource chaîne (obligatoire)
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
étiquettes Balises de ressource. Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
identité Identités managées nécessaires par un travail d’application conteneur pour interagir avec d’autres services Azure pour ne pas conserver de secrets ou d’informations d’identification dans le code. ManagedServiceIdentity
Propriétés Propriétés spécifiques de la ressource de travail Container Apps. JobProperties

ManagedServiceIdentity

Nom Description Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned' (obligatoire)
userAssignedIdentities Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. UserAssignedIdentities

UserAssignedIdentities

Nom Description Valeur
{propriété personnalisée} UserAssignedIdentity

UserAssignedIdentity

Cet objet ne contient aucune propriété à définir pendant le déploiement. Toutes les propriétés sont ReadOnly.

JobProperties

Nom Description Valeur
configuration Propriétés de configuration du travail Container Apps. JobConfiguration
environmentId ID de ressource de l’environnement. corde
modèle Définition du travail Container Apps. JobTemplate
workloadProfileName Nom du profil de charge de travail à épingler pour l’exécution du travail des applications conteneur. corde

JobConfiguration

Nom Description Valeur
eventTriggerConfig Déclencher la configuration d’un travail piloté par les événements. JobConfigurationEventTriggerConfig
manualTriggerConfig Configuration manuelle du déclencheur pour un travail d’exécution unique. Properties replicaCompletionCount et parallélisme sont définis sur 1 par défaut JobConfigurationManualTriggerConfig
Registres Collection d’informations d’identification de registre de conteneurs privées utilisées par un travail d’application conteneur RegistryCredentials[]
replicaRetryLimit Nombre maximal de nouvelles tentatives avant l’échec du travail. Int
replicaTimeout Nombre maximal de secondes qu’un réplica est autorisé à s’exécuter. int (obligatoire)
scheduleTriggerConfig Planification de déclencheur répétitif mise en forme Cron (« * * * * * ») pour cronjobs. Les achèvements et le parallélisme des propriétés sont définis sur 1 par défaut JobConfigurationScheduleTriggerConfig
Secrets Collection de secrets utilisés par un travail Container Apps secret[]
triggerType Type de déclencheur du travail 'Event'
'Manuel'
'Schedule' (obligatoire)

JobConfigurationEventTriggerConfig

Nom Description Valeur
parallélisme Nombre de réplicas parallèles d’un travail pouvant s’exécuter à un moment donné. Int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant la fin globale du travail. Int
écaille Mise à l’échelle des configurations pour les travaux pilotés par les événements. JobScale

JobScale

Nom Description Valeur
maxExecutions Nombre maximal d’exécutions de travaux créées pour un déclencheur, par défaut 100. Int
minExecutions Nombre minimal d’exécutions de travaux créées pour un déclencheur, par défaut 0 Int
pollingInterval Intervalle pour vérifier chaque source d’événement en secondes. La valeur par défaut est 30s Int
règlement Règles de mise à l’échelle. jobScaleRule[]

JobScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle. ScaleRuleAuth[]
métadonnées Propriétés de métadonnées pour décrire la règle d’échelle.
nom Nom de la règle de mise à l’échelle corde
type Type de la règle d’échelle
par exemple : azure-servicebus, redis, etc.
corde

ScaleRuleAuth

Nom Description Valeur
secretRef Nom du secret à partir duquel extraire les params d’authentification. corde
triggerParameter Paramètre de déclencheur qui utilise le secret corde

JobConfigurationManualTriggerConfig

Nom Description Valeur
parallélisme Nombre de réplicas parallèles d’un travail pouvant s’exécuter à un moment donné. Int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant la fin globale du travail. Int

RegistryCredentials

Nom Description Valeur
identité Identité managée à utiliser pour s’authentifier auprès d’Azure Container Registry. Pour les identités affectées par l’utilisateur, utilisez l’ID complet de ressource d’identité affectée par l’utilisateur. Pour les identités affectées par le système, utilisez « système » corde
passwordSecretRef Nom du secret qui contient le mot de passe de connexion au Registre corde
serveur Container Registry Server corde
nom d’utilisateur Nom d’utilisateur du registre de conteneurs corde

JobConfigurationScheduleTriggerConfig

Nom Description Valeur
cronExpression Cron a mis en forme une planification répétée (« * * * * * ») d’un travail Cron. chaîne (obligatoire)
parallélisme Nombre de réplicas parallèles d’un travail pouvant s’exécuter à un moment donné. Int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant la fin globale du travail. Int

Secret

Nom Description Valeur
identité ID de ressource d’une identité managée pour s’authentifier auprès d’Azure Key Vault ou système pour utiliser une identité affectée par le système. corde
keyVaultUrl URL Azure Key Vault pointant vers le secret référencé par l’application conteneur. corde
nom Nom du secret. corde
valeur Valeur secrète. corde

Contraintes:
Valeur sensible. Passez en tant que paramètre sécurisé.

JobTemplate

Nom Description Valeur
Conteneurs Liste des définitions de conteneur pour l’application conteneur. conteneur[]
initContainers Liste des conteneurs spécialisés qui s’exécutent avant les conteneurs d’applications. InitContainer[]
Volumes Liste des définitions de volume pour l’application conteneur. de volume []

Conteneur

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
nom Nom du conteneur personnalisé. corde
Sondes Liste des sondes pour le conteneur. containerAppProbe[]
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

EnvironmentVar

Nom Description Valeur
nom Nom de la variable d’environnement. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur de la variable d’environnement. corde
valeur Valeur de variable d’environnement non secrète. corde

ContainerAppProbe

Nom Description Valeur
failureThreshold Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur par défaut est 3. La valeur minimale est 1. La valeur maximale est 10. Int
httpGet HTTPGet spécifie la requête http à effectuer. ContainerAppProbeHttpGet
initialDelaySeconds Nombre de secondes après le démarrage du conteneur avant l’initialisation des sondes liveness. La valeur minimale est 1. La valeur maximale est 60. Int
periodSeconds Fréquence (en secondes) d’exécution de la sonde. La valeur par défaut est de 10 secondes. La valeur minimale est 1. La valeur maximale est 240. Int
successThreshold Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. La valeur par défaut est 1. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. La valeur maximale est 10. Int
tcpSocket TCPSocket spécifie une action impliquant un port TCP. Les hooks TCP ne sont pas encore pris en charge. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Durée facultative en secondes, le pod doit se terminer correctement lors de l’échec de la sonde. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans le pod soient envoyés un signal d’arrêt et le moment où les processus sont arrêtés de force avec un signal de destruction. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. Si cette valeur est nulle, l’arrêt du podGracePeriodSeconds est utilisé. Dans le cas contraire, cette valeur remplace la valeur fournie par la spécification de pod. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiatement via le signal de destruction (aucune occasion d’arrêter). Il s’agit d’un champ alpha et nécessite l’activation de la porte de fonctionnalité ProbeTerminationGracePeriod. La valeur maximale est de 3600 secondes (1 heure) Int
timeoutSeconds Nombre de secondes après lesquelles la sonde expire. La valeur par défaut est 1 seconde. La valeur minimale est 1. La valeur maximale est 240. Int
type Type de sonde. 'Liveness'
'Readiness'
'Startup'

ContainerAppProbeHttpGet

Nom Description Valeur
hôte Nom d’hôte à connecter, par défaut à l’adresse IP du pod. Vous souhaitez probablement définir « Host » dans httpHeaders à la place. corde
httpHeaders En-têtes personnalisés à définir dans la requête. HTTP autorise les en-têtes répétés. ContainerAppProbeHttpGetHttpHeadersItem[]
chemin Chemin d’accès au serveur HTTP. corde
port Nom ou numéro du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)
schéma Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nom Description Valeur
nom Nom du champ d’en-tête chaîne (obligatoire)
valeur Valeur du champ d’en-tête chaîne (obligatoire)

ContainerAppProbeTcpSocket

Nom Description Valeur
hôte Facultatif : nom d’hôte auquel se connecter, par défaut à l’adresse IP du pod. corde
port Numéro ou nom du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)

ContainerResources

Nom Description Valeur
CPU Processeur requis dans les cœurs, par exemple 0,5 Pour spécifier une valeur décimale, utilisez la fonction json(). int ou json decimal
mémoire Mémoire requise, par exemple « 250 Mo » corde

VolumeMount

Nom Description Valeur
mountPath Chemin d’accès au sein du conteneur auquel le volume doit être monté. Ne doit pas contenir ' :'. corde
subPath Chemin d’accès au sein du volume à partir duquel le volume du conteneur doit être monté. La valeur par défaut est « » (racine du volume). corde
volumeName Cela doit correspondre au nom d’un volume. corde

InitContainer

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
nom Nom du conteneur personnalisé. corde
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

Volume

Nom Description Valeur
mountOptions Options de montage utilisées lors du montage d’AzureFile. Doit être une chaîne séparée par des virgules. corde
nom Nom du volume. corde
Secrets Liste des secrets à ajouter en volume. Si aucun secret n’est fourni, tous les secrets de la collection sont ajoutés au volume. SecretVolumeItem[]
storageName Nom de la ressource de stockage. Il n’est pas nécessaire de fournir EmptyDir et Secret. corde
storageType Type de stockage pour le volume. Si ce n’est pas le cas, utilisez EmptyDir. 'AzureFile'
'EmptyDir'
'Secret'

SecretVolumeItem

Nom Description Valeur
chemin Chemin d’accès au secret de projet vers. Si aucun chemin d’accès n’est fourni, le chemin d’accès est défini par défaut sur le nom du secret répertorié dans secretRef. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur du secret. corde

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource de travaux peut être déployé avec des opérations qui ciblent :

  • groupes de ressources

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.App/jobs, ajoutez le terraform suivant à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/jobs@2023-05-02-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      configuration = {
        eventTriggerConfig = {
          parallelism = int
          replicaCompletionCount = int
          scale = {
            maxExecutions = int
            minExecutions = int
            pollingInterval = int
            rules = [
              {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                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 = "decimal-as-string"
              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 = "decimal-as-string"
              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"
    }
  })
}

Valeurs de propriété

Emplois

Nom Description Valeur
type Type de ressource « Microsoft.App/jobs@2023-05-02-preview »
nom Nom de la ressource chaîne (obligatoire)
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
parent_id Pour effectuer un déploiement sur un groupe de ressources, utilisez l’ID de ce groupe de ressources. chaîne (obligatoire)
étiquettes Balises de ressource. Dictionnaire de noms et de valeurs d’étiquettes.
identité Identités managées nécessaires par un travail d’application conteneur pour interagir avec d’autres services Azure pour ne pas conserver de secrets ou d’informations d’identification dans le code. ManagedServiceIdentity
Propriétés Propriétés spécifiques de la ressource de travail Container Apps. JobProperties

ManagedServiceIdentity

Nom Description Valeur
type Type d’identité de service managé (où les types SystemAssigned et UserAssigned sont autorisés). « SystemAssigned »
« SystemAssigned,UserAssigned »
« UserAssigned » (obligatoire)
identity_ids Ensemble d’identités affectées par l’utilisateur associées à la ressource. Les clés de dictionnaire userAssignedIdentities seront des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs de dictionnaire peuvent être des objets vides ({}) dans les requêtes. Tableau d’ID d’identité utilisateur.

UserAssignedIdentities

Nom Description Valeur
{propriété personnalisée} UserAssignedIdentity

UserAssignedIdentity

Cet objet ne contient aucune propriété à définir pendant le déploiement. Toutes les propriétés sont ReadOnly.

JobProperties

Nom Description Valeur
configuration Propriétés de configuration du travail Container Apps. JobConfiguration
environmentId ID de ressource de l’environnement. corde
modèle Définition du travail Container Apps. JobTemplate
workloadProfileName Nom du profil de charge de travail à épingler pour l’exécution du travail des applications conteneur. corde

JobConfiguration

Nom Description Valeur
eventTriggerConfig Déclencher la configuration d’un travail piloté par les événements. JobConfigurationEventTriggerConfig
manualTriggerConfig Configuration manuelle du déclencheur pour un travail d’exécution unique. Properties replicaCompletionCount et parallélisme sont définis sur 1 par défaut JobConfigurationManualTriggerConfig
Registres Collection d’informations d’identification de registre de conteneurs privées utilisées par un travail d’application conteneur RegistryCredentials[]
replicaRetryLimit Nombre maximal de nouvelles tentatives avant l’échec du travail. Int
replicaTimeout Nombre maximal de secondes qu’un réplica est autorisé à s’exécuter. int (obligatoire)
scheduleTriggerConfig Planification de déclencheur répétitif mise en forme Cron (« * * * * * ») pour cronjobs. Les achèvements et le parallélisme des propriétés sont définis sur 1 par défaut JobConfigurationScheduleTriggerConfig
Secrets Collection de secrets utilisés par un travail Container Apps secret[]
triggerType Type de déclencheur du travail « Événement »
« Manuel »
« Planification » (obligatoire)

JobConfigurationEventTriggerConfig

Nom Description Valeur
parallélisme Nombre de réplicas parallèles d’un travail pouvant s’exécuter à un moment donné. Int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant la fin globale du travail. Int
écaille Mise à l’échelle des configurations pour les travaux pilotés par les événements. JobScale

JobScale

Nom Description Valeur
maxExecutions Nombre maximal d’exécutions de travaux créées pour un déclencheur, par défaut 100. Int
minExecutions Nombre minimal d’exécutions de travaux créées pour un déclencheur, par défaut 0 Int
pollingInterval Intervalle pour vérifier chaque source d’événement en secondes. La valeur par défaut est 30s Int
règlement Règles de mise à l’échelle. jobScaleRule[]

JobScaleRule

Nom Description Valeur
Auth Secrets d’authentification pour la règle de mise à l’échelle. ScaleRuleAuth[]
métadonnées Propriétés de métadonnées pour décrire la règle d’échelle.
nom Nom de la règle de mise à l’échelle corde
type Type de la règle d’échelle
par exemple : azure-servicebus, redis, etc.
corde

ScaleRuleAuth

Nom Description Valeur
secretRef Nom du secret à partir duquel extraire les params d’authentification. corde
triggerParameter Paramètre de déclencheur qui utilise le secret corde

JobConfigurationManualTriggerConfig

Nom Description Valeur
parallélisme Nombre de réplicas parallèles d’un travail pouvant s’exécuter à un moment donné. Int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant la fin globale du travail. Int

RegistryCredentials

Nom Description Valeur
identité Identité managée à utiliser pour s’authentifier auprès d’Azure Container Registry. Pour les identités affectées par l’utilisateur, utilisez l’ID complet de ressource d’identité affectée par l’utilisateur. Pour les identités affectées par le système, utilisez « système » corde
passwordSecretRef Nom du secret qui contient le mot de passe de connexion au Registre corde
serveur Container Registry Server corde
nom d’utilisateur Nom d’utilisateur du registre de conteneurs corde

JobConfigurationScheduleTriggerConfig

Nom Description Valeur
cronExpression Cron a mis en forme une planification répétée (« * * * * * ») d’un travail Cron. chaîne (obligatoire)
parallélisme Nombre de réplicas parallèles d’un travail pouvant s’exécuter à un moment donné. Int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant la fin globale du travail. Int

Secret

Nom Description Valeur
identité ID de ressource d’une identité managée pour s’authentifier auprès d’Azure Key Vault ou système pour utiliser une identité affectée par le système. corde
keyVaultUrl URL Azure Key Vault pointant vers le secret référencé par l’application conteneur. corde
nom Nom du secret. corde
valeur Valeur secrète. corde

Contraintes:
Valeur sensible. Passez en tant que paramètre sécurisé.

JobTemplate

Nom Description Valeur
Conteneurs Liste des définitions de conteneur pour l’application conteneur. conteneur[]
initContainers Liste des conteneurs spécialisés qui s’exécutent avant les conteneurs d’applications. InitContainer[]
Volumes Liste des définitions de volume pour l’application conteneur. de volume []

Conteneur

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
nom Nom du conteneur personnalisé. corde
Sondes Liste des sondes pour le conteneur. containerAppProbe[]
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

EnvironmentVar

Nom Description Valeur
nom Nom de la variable d’environnement. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur de la variable d’environnement. corde
valeur Valeur de variable d’environnement non secrète. corde

ContainerAppProbe

Nom Description Valeur
failureThreshold Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur par défaut est 3. La valeur minimale est 1. La valeur maximale est 10. Int
httpGet HTTPGet spécifie la requête http à effectuer. ContainerAppProbeHttpGet
initialDelaySeconds Nombre de secondes après le démarrage du conteneur avant l’initialisation des sondes liveness. La valeur minimale est 1. La valeur maximale est 60. Int
periodSeconds Fréquence (en secondes) d’exécution de la sonde. La valeur par défaut est de 10 secondes. La valeur minimale est 1. La valeur maximale est 240. Int
successThreshold Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. La valeur par défaut est 1. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. La valeur maximale est 10. Int
tcpSocket TCPSocket spécifie une action impliquant un port TCP. Les hooks TCP ne sont pas encore pris en charge. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Durée facultative en secondes, le pod doit se terminer correctement lors de l’échec de la sonde. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans le pod soient envoyés un signal d’arrêt et le moment où les processus sont arrêtés de force avec un signal de destruction. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. Si cette valeur est nulle, l’arrêt du podGracePeriodSeconds est utilisé. Dans le cas contraire, cette valeur remplace la valeur fournie par la spécification de pod. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiatement via le signal de destruction (aucune occasion d’arrêter). Il s’agit d’un champ alpha et nécessite l’activation de la porte de fonctionnalité ProbeTerminationGracePeriod. La valeur maximale est de 3600 secondes (1 heure) Int
timeoutSeconds Nombre de secondes après lesquelles la sonde expire. La valeur par défaut est 1 seconde. La valeur minimale est 1. La valeur maximale est 240. Int
type Type de sonde. « Liveness »
« Préparation »
« Démarrage »

ContainerAppProbeHttpGet

Nom Description Valeur
hôte Nom d’hôte à connecter, par défaut à l’adresse IP du pod. Vous souhaitez probablement définir « Host » dans httpHeaders à la place. corde
httpHeaders En-têtes personnalisés à définir dans la requête. HTTP autorise les en-têtes répétés. ContainerAppProbeHttpGetHttpHeadersItem[]
chemin Chemin d’accès au serveur HTTP. corde
port Nom ou numéro du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)
schéma Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. « HTTP »
« HTTPS »

ContainerAppProbeHttpGetHttpHeadersItem

Nom Description Valeur
nom Nom du champ d’en-tête chaîne (obligatoire)
valeur Valeur du champ d’en-tête chaîne (obligatoire)

ContainerAppProbeTcpSocket

Nom Description Valeur
hôte Facultatif : nom d’hôte auquel se connecter, par défaut à l’adresse IP du pod. corde
port Numéro ou nom du port à accéder au conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)

ContainerResources

Nom Description Valeur
CPU Processeur requis dans les cœurs, par exemple 0,5 Spécifiez une valeur décimale sous forme de chaîne. int ou json decimal
mémoire Mémoire requise, par exemple « 250 Mo » corde

VolumeMount

Nom Description Valeur
mountPath Chemin d’accès au sein du conteneur auquel le volume doit être monté. Ne doit pas contenir ' :'. corde
subPath Chemin d’accès au sein du volume à partir duquel le volume du conteneur doit être monté. La valeur par défaut est « » (racine du volume). corde
volumeName Cela doit correspondre au nom d’un volume. corde

InitContainer

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
commander Commande de démarrage du conteneur. string[]
Env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. corde
nom Nom du conteneur personnalisé. corde
ressources Exigences en matière de ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneurs. VolumeMount[]

Volume

Nom Description Valeur
mountOptions Options de montage utilisées lors du montage d’AzureFile. Doit être une chaîne séparée par des virgules. corde
nom Nom du volume. corde
Secrets Liste des secrets à ajouter en volume. Si aucun secret n’est fourni, tous les secrets de la collection sont ajoutés au volume. SecretVolumeItem[]
storageName Nom de la ressource de stockage. Il n’est pas nécessaire de fournir EmptyDir et Secret. corde
storageType Type de stockage pour le volume. Si ce n’est pas le cas, utilisez EmptyDir. « AzureFile »
« EmptyDir »
« Secret »

SecretVolumeItem

Nom Description Valeur
chemin Chemin d’accès au secret de projet vers. Si aucun chemin d’accès n’est fourni, le chemin d’accès est défini par défaut sur le nom du secret répertorié dans secretRef. corde
secretRef Nom du secret de l’application conteneur à partir duquel extraire la valeur du secret. corde