Partager via


Microsoft.App travaux 2022-11-01-preview

Définition de ressource Bicep

Le type de ressource des 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 des ressources

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

resource symbolicname 'Microsoft.App/jobs@2022-11-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    configuration: {
      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'
              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'
              volumeName: 'string'
            }
          ]
        }
      ]
      volumes: [
        {
          name: 'string'
          secrets: [
            {
              path: 'string'
              secretRef: 'string'
            }
          ]
          storageName: 'string'
          storageType: 'string'
        }
      ]
    }
    workloadProfileName: 'string'
  }
}

Valeurs de propriétés

jobs

Nom Description Valeur
name Nom de la ressource chaîne (obligatoire)
location Emplacement géographique où réside la ressource chaîne (obligatoire)
tags Balises de ressource. Dictionnaire de noms et de valeurs d’étiquettes. Voir Balises dans les modèles
identité Identités managées nécessaires à un travail d’application conteneur pour interagir avec d’autres services Azure afin de ne pas conserver de secrets ou d’informations d’identification dans le code. ManagedServiceIdentity
properties Propriétés spécifiques à 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 au format « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs du 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. string
template 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. string

JobConfiguration

Nom Description Valeur
manualTriggerConfig Configuration manuelle du déclencheur pour un travail d’exécution unique. Les propriétés replicaCompletionCount et le parallélisme seraient définis sur 1 par défaut JobConfigurationManualTriggerConfig
registries Collection d’informations d’identification de registre de conteneurs privés utilisées par un travail d’applications conteneur RegistryCredentials[]
replicaRetryLimit Nombre maximal de nouvelles tentatives avant l’échec du travail. int
replicaTimeout Nombre maximal de secondes qu’une réplica est autorisée à s’exécuter. int (obligatoire)
scheduleTriggerConfig Planification de déclencheurs répétitifs au format Cron (« * * * * * ») pour cronjobs. Par défaut, l’achèvement des propriétés et le parallélisme sont définis sur 1 JobConfigurationScheduleTriggerConfig
secrets Collection de secrets utilisés par un travail Container Apps Secret[]
triggerType Type de déclencheur du travail 'Événement'
'Manuel'
'Schedule' (obligatoire)

JobConfigurationManualTriggerConfig

Nom Description Valeur
parallélisme Nombre de réplicas parallèles d’un travail qui peuvent s’exécuter à un moment donné. int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant l’achèvement global du travail. int

RegistryCredentials

Nom Description Valeur
identité Identité managée à utiliser pour l’authentification auprès de Azure Container Registry. Pour les identités attribuées par l’utilisateur, utilisez l’ID de ressource d’identité entièrement attribué par l’utilisateur. Pour les identités attribuées par le système, utilisez « système » string
passwordSecretRef Nom du secret qui contient le mot de passe de connexion au Registre string
server Serveur Container Registry string
username Nom d’utilisateur container Registry string

JobConfigurationScheduleTriggerConfig

Nom Description Valeur
cronExpression Planification répétée au format Cron (« * * * * * ») d’un travail Cron. chaîne (obligatoire)
parallélisme Nombre de réplicas parallèles d’un travail qui peuvent s’exécuter à un moment donné. int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant l’achèvement global du travail. int

Secret

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

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

JobTemplate

Nom Description Valeur
containers 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’application. InitContainer[]
volumes Liste des définitions de volume pour l’application conteneur. Volume[]

Conteneur

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
command Commande de démarrage du conteneur. string[]
env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. string
name Nom du conteneur personnalisé. string
probes Liste des sondes pour le conteneur. ContainerAppProbe[]
les ressources Besoins en ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneur. VolumeMount[]

EnvironmentVar

Nom Description Valeur
name Nom de la variable d'environnement. string
secretRef Nom du secret Container App à partir duquel extraire la valeur de la variable d’environnement. string
value Valeur de variable d’environnement non secrète. string

ContainerAppProbe

Nom Description Valeur
failureThreshold Nombre minimal d’échecs consécutifs pour la sonde à considérer 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 le lancement des probes liveness. La valeur minimale est 1. La valeur maximale est 60. int
periodSeconds Fréquence (en secondes) d’exécution de la probe. La valeur par défaut est 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 l’échec. La valeur par défaut est de 1. Doit être 1 pour l’liveness 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 dont le pod doit se terminer normalement en cas d’échec de la sonde. La période de grâce correspond à la durée en secondes après l’envoi d’un signal d’arrêt aux processus en cours d’exécution dans le pod et au moment où les processus sont arrêtés de force avec un signal d’arrêt. Définissez cette valeur plus longtemps que le temps de nettoyage prévu pour votre processus. Si cette valeur est nulle, le paramètre terminationGracePeriodSeconds du pod est utilisé. Sinon, cette valeur remplace la valeur fournie par la spécification du pod. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiat via le signal d’arrêt (aucune possibilité de s’arrêter). Il s’agit d’un champ alpha qui 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
host Nom d’hôte auquel se connecter, valeur par défaut de l’adresse IP du pod. Vous souhaiterez probablement définir « Hôte » dans httpHeaders à la place. string
httpHeaders En-têtes personnalisés à définir dans la demande. HTTP autorise les en-têtes répétés. ContainerAppProbeHttpGetHttpHeadersItem[]
path Chemin d’accès sur le serveur HTTP. string
port Nom ou numéro du port auquel accéder sur le conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)
scheme Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket

Nom Description Valeur
host Facultatif : nom d’hôte auquel se connecter, valeur par défaut de l’ADRESSE IP du pod. string
port Numéro ou nom du port à accéder sur le 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(). décimal int ou json
mémoire Mémoire requise, par exemple « 250 Mo » string

VolumeMount

Nom Description Valeur
mountPath Chemin d’accès dans le conteneur sur lequel le volume doit être monté. Ne doit pas contenir « : ». string
volumeName Cela doit correspondre au nom d’un volume. string

InitContainer

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
command Commande de démarrage du conteneur. string[]
env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. string
name Nom du conteneur personnalisé. string
les ressources Besoins en ressources de conteneur. ContainerResources
volumeMounts Montages de volume de conteneur. VolumeMount[]

Volume

Nom Description Valeur
name Nom du volume. string
secrets Liste des secrets à ajouter dans le volume. Si aucun secret n’est fourni, tous les secrets de la collection seront ajoutés au volume. SecretVolumeItem[]
storageName Nom de la ressource de stockage. Il n’est pas nécessaire de fournir EmptyDir et Secret. string
storageType Type de stockage pour le volume. S’il n’est pas fourni, utilisez EmptyDir. 'AzureFile'
'EmptyDir'
'Secret'

SecretVolumeItem

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

Définition de ressources de modèle ARM

Le type de ressource des 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 des ressources

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

{
  "type": "Microsoft.App/jobs",
  "apiVersion": "2022-11-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "configuration": {
      "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",
              "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",
              "volumeName": "string"
            }
          ]
        }
      ],
      "volumes": [
        {
          "name": "string",
          "secrets": [
            {
              "path": "string",
              "secretRef": "string"
            }
          ],
          "storageName": "string",
          "storageType": "string"
        }
      ]
    },
    "workloadProfileName": "string"
  }
}

Valeurs de propriétés

jobs

Nom Description Valeur
type Type de ressource 'Microsoft.App/jobs'
apiVersion Version de l’API de ressource « 2022-11-01-preview »
name Nom de la ressource chaîne (obligatoire)
location Emplacement géographique où réside la ressource chaîne (obligatoire)
tags Balises de ressource. Dictionnaire de noms et de valeurs d’étiquettes. Voir Balises dans les modèles
identité Identités managées nécessaires à un travail d’application conteneur pour interagir avec d’autres services Azure afin de ne pas conserver de secrets ou d’informations d’identification dans le code. ManagedServiceIdentity
properties Propriétés spécifiques à 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 au format « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs du 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. string
template 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. string

JobConfiguration

Nom Description Valeur
manualTriggerConfig Configuration manuelle du déclencheur pour un travail d’exécution unique. Les propriétés replicaCompletionCount et le parallélisme seraient définis sur 1 par défaut JobConfigurationManualTriggerConfig
registries Collection d’informations d’identification de registre de conteneurs privés utilisées par un travail d’applications conteneur RegistryCredentials[]
replicaRetryLimit Nombre maximal de nouvelles tentatives avant l’échec du travail. int
replicaTimeout Nombre maximal de secondes qu’une réplica est autorisée à s’exécuter. int (obligatoire)
scheduleTriggerConfig Planification de déclencheurs répétitifs au format Cron (« * * * * * ») pour cronjobs. Par défaut, l’achèvement des propriétés et le parallélisme sont définis sur 1 JobConfigurationScheduleTriggerConfig
secrets Collection de secrets utilisés par un travail Container Apps Secret[]
triggerType Type de déclencheur du travail 'Événement'
'Manuel'
'Schedule' (obligatoire)

JobConfigurationManualTriggerConfig

Nom Description Valeur
parallélisme Nombre de réplicas parallèles d’un travail qui peuvent s’exécuter à un moment donné. int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant l’achèvement global du travail. int

RegistryCredentials

Nom Description Valeur
identité Identité managée à utiliser pour l’authentification auprès de Azure Container Registry. Pour les identités attribuées par l’utilisateur, utilisez l’ID de ressource d’identité entièrement attribué par l’utilisateur. Pour les identités attribuées par le système, utilisez « système » string
passwordSecretRef Nom du secret qui contient le mot de passe de connexion au Registre string
server Serveur Container Registry string
username Nom d’utilisateur container Registry string

JobConfigurationScheduleTriggerConfig

Nom Description Valeur
cronExpression Planification répétée au format Cron (« * * * * * ») d’un travail Cron. chaîne (obligatoire)
parallélisme Nombre de réplicas parallèles d’un travail qui peuvent s’exécuter à un moment donné. int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant l’achèvement global du travail. int

Secret

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

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

JobTemplate

Nom Description Valeur
containers 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’application. InitContainer[]
volumes Liste des définitions de volume pour l’application conteneur. Volume[]

Conteneur

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
command Commande de démarrage du conteneur. string[]
env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. string
name Nom du conteneur personnalisé. string
probes Liste des sondes pour le conteneur. ContainerAppProbe[]
les ressources Besoins en ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneur. VolumeMount[]

EnvironmentVar

Nom Description Valeur
name Nom de la variable d'environnement. string
secretRef Nom du secret Container App à partir duquel extraire la valeur de la variable d’environnement. string
value Valeur de variable d’environnement non secrète. string

ContainerAppProbe

Nom Description Valeur
failureThreshold Nombre minimal d’échecs consécutifs pour la sonde à considérer 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 le lancement des probes liveness. La valeur minimale est 1. La valeur maximale est 60. int
periodSeconds Fréquence (en secondes) d’exécution de la probe. La valeur par défaut est 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 l’échec. La valeur par défaut est de 1. Doit être 1 pour l’liveness 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 dont le pod doit se terminer normalement en cas d’échec de la sonde. La période de grâce correspond à la durée en secondes après l’envoi d’un signal d’arrêt aux processus en cours d’exécution dans le pod et au moment où les processus sont arrêtés de force avec un signal d’arrêt. Définissez cette valeur plus longtemps que le temps de nettoyage prévu pour votre processus. Si cette valeur est nulle, le paramètre terminationGracePeriodSeconds du pod est utilisé. Sinon, cette valeur remplace la valeur fournie par la spécification du pod. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiat via le signal d’arrêt (aucune possibilité de s’arrêter). Il s’agit d’un champ alpha qui 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
host Nom d’hôte auquel se connecter, valeur par défaut de l’adresse IP du pod. Vous souhaiterez probablement définir « Hôte » dans httpHeaders à la place. string
httpHeaders En-têtes personnalisés à définir dans la demande. HTTP autorise les en-têtes répétés. ContainerAppProbeHttpGetHttpHeadersItem[]
path Chemin d’accès sur le serveur HTTP. string
port Nom ou numéro du port auquel accéder sur le conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)
scheme Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. 'HTTP'
'HTTPS'

ContainerAppProbeHttpGetHttpHeadersItem

Nom Description Valeur
name Nom du champ d’en-tête string (obligatoire)
value Valeur du champ d’en-tête string (obligatoire)

ContainerAppProbeTcpSocket

Nom Description Valeur
host Facultatif : nom d’hôte auquel se connecter, valeur par défaut de l’adresse IP du pod. string
port Numéro ou nom du port auquel accéder sur le 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 » string

VolumeMount

Nom Description Valeur
mountPath Chemin d’accès dans le conteneur sur lequel le volume doit être monté. Ne doit pas contenir ' :'. string
volumeName Cela doit correspondre au nom d’un volume. string

InitContainer

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
command Commande de démarrage du conteneur. string[]
env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. string
name Nom du conteneur personnalisé. string
les ressources Besoins en ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneur. VolumeMount[]

Volume

Nom Description Valeur
name Nom du volume. string
secrets Liste des secrets à ajouter dans le 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. string
storageType Type de stockage pour le volume. Si ce n’est pas le cas, utilisez EmptyDir. 'AzureFile'
'EmptyDir'
'Secret'

SecretVolumeItem

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

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource 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 d’API, consultez journal des modifications.

Format des ressources

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/jobs@2022-11-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      configuration = {
        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"
                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"
                volumeName = "string"
              }
            ]
          }
        ]
        volumes = [
          {
            name = "string"
            secrets = [
              {
                path = "string"
                secretRef = "string"
              }
            ]
            storageName = "string"
            storageType = "string"
          }
        ]
      }
      workloadProfileName = "string"
    }
  })
}

Valeurs de propriétés

jobs

Nom Description Valeur
type Type de ressource « Microsoft.App/jobs@2022-11-01-preview »
name Nom de la ressource chaîne (obligatoire)
location 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)
tags Balises de ressource. Dictionnaire de noms et de valeurs d’étiquettes.
identité Identités managées nécessaires à un travail d’application conteneur pour interagir avec d’autres services Azure afin de ne pas conserver de secrets ou d’informations d’identification dans le code. ManagedServiceIdentity
properties Propriétés spécifiques à 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 au format « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Les valeurs du 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. string
template 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. string

JobConfiguration

Nom Description Valeur
manualTriggerConfig Configuration manuelle du déclencheur pour un travail d’exécution unique. Les propriétés replicaCompletionCount et le parallélisme seraient définis sur 1 par défaut JobConfigurationManualTriggerConfig
registries Collection d’informations d’identification de registre de conteneurs privés utilisées par un travail d’applications conteneur RegistryCredentials[]
replicaRetryLimit Nombre maximal de nouvelles tentatives avant l’échec du travail. int
replicaTimeout Nombre maximal de secondes qu’une réplica est autorisée à s’exécuter. int (obligatoire)
scheduleTriggerConfig Planification de déclencheurs répétitifs au format Cron (« * * * * * ») pour cronjobs. Par défaut, l’achèvement des propriétés et le parallélisme sont définis sur 1 JobConfigurationScheduleTriggerConfig
secrets Collection de secrets utilisés par un travail Container Apps Secret[]
triggerType Type de déclencheur du travail "Event"
« Manuel »
« Planification » (obligatoire)

JobConfigurationManualTriggerConfig

Nom Description Valeur
parallélisme Nombre de réplicas parallèles d’un travail qui peuvent s’exécuter à un moment donné. int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant l’achèvement global du travail. int

RegistryCredentials

Nom Description Valeur
identité Identité managée à utiliser pour l’authentification auprès de Azure Container Registry. Pour les identités attribuées par l’utilisateur, utilisez l’ID de ressource d’identité entièrement attribué par l’utilisateur. Pour les identités attribuées par le système, utilisez « système » string
passwordSecretRef Nom du secret qui contient le mot de passe de connexion au Registre string
server Serveur Container Registry string
username Nom d’utilisateur container Registry string

JobConfigurationScheduleTriggerConfig

Nom Description Valeur
cronExpression Planification répétée au format Cron (« * * * * * ») d’un travail Cron. chaîne (obligatoire)
parallélisme Nombre de réplicas parallèles d’un travail qui peuvent s’exécuter à un moment donné. int
replicaCompletionCount Nombre minimal d’achèvements de réplica réussis avant l’achèvement global du travail. int

Secret

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

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

JobTemplate

Nom Description Valeur
containers 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’application. InitContainer[]
volumes Liste des définitions de volume pour l’application conteneur. Volume[]

Conteneur

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
command Commande de démarrage du conteneur. string[]
env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. string
name Nom du conteneur personnalisé. string
probes Liste des sondes pour le conteneur. ContainerAppProbe[]
les ressources Besoins en ressources de conteneur. ContainerResources
volumeMounts Montages de volume de conteneur. VolumeMount[]

EnvironmentVar

Nom Description Valeur
name Nom de la variable d'environnement. string
secretRef Nom du secret Container App à partir duquel extraire la valeur de la variable d’environnement. string
value Valeur de variable d’environnement non secrète. string

ContainerAppProbe

Nom Description Valeur
failureThreshold Échecs consécutifs minimaux 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 le lancement des probes liveness. La valeur minimale est 1. La valeur maximale est 60. int
periodSeconds Fréquence (en secondes) d’exécution de la probe. La valeur par défaut est 10 secondes. La valeur minimale est 1. La valeur maximale est 240. int
successThreshold Réussites consécutives minimales pour que la sonde soit considérée comme ayant réussi après l’échec. La valeur par défaut est de 1. Doit être 1 pour le liveness 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 crochets TCP ne sont pas encore pris en charge. ContainerAppProbeTcpSocket
terminationGracePeriodSeconds Durée facultative en secondes, le pod doit se terminer correctement en cas d’échec de la sonde. La période de grâce est la durée en secondes après l’envoi d’un signal de terminaison aux processus en cours d’exécution dans le pod et la durée pendant laquelle les processus sont arrêtés de force avec un signal d’arrêt. Définissez cette valeur plus longtemps que le temps de nettoyage prévu pour votre processus. Si cette valeur est nulle, l’option terminationGracePeriodSeconds du pod est utilisée. Sinon, cette valeur remplace la valeur fournie par la spécification pod. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiat via le signal d’arrêt (aucune possibilité d’arrêt). Il s’agit d’un champ alpha qui 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
host Le nom d’hôte auquel se connecter est défini par défaut sur l’ADRESSE IP du pod. Vous souhaitez probablement définir « Host » dans httpHeaders à la place. string
httpHeaders En-têtes personnalisés à définir dans la demande. HTTP autorise les en-têtes répétés. ContainerAppProbeHttpGetHttpHeadersItem[]
path Chemin d’accès sur le serveur HTTP. string
port Nom ou numéro du port à accéder sur le conteneur. Le nombre doit être compris entre 1 et 65535. Le nom doit être un IANA_SVC_NAME. int (obligatoire)
scheme Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP. "HTTP"
« HTTPS »

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket

Nom Description Valeur
host Facultatif : nom d’hôte auquel se connecter, valeur par défaut de l’adresse IP du pod. string
port Numéro ou nom du port auquel accéder sur le 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 » string

VolumeMount

Nom Description Valeur
mountPath Chemin d’accès dans le conteneur sur lequel le volume doit être monté. Ne doit pas contenir ' :'. string
volumeName Cela doit correspondre au nom d’un volume. string

InitContainer

Nom Description Valeur
args Arguments de commande de démarrage du conteneur. string[]
command Commande de démarrage du conteneur. string[]
env Variables d’environnement de conteneur. EnvironmentVar[]
image Balise d’image conteneur. string
name Nom du conteneur personnalisé. string
les ressources Besoins en ressources de conteneur. ContainerResources
volumeMounts Montages de volumes de conteneur. VolumeMount[]

Volume

Nom Description Valeur
name Nom du volume. string
secrets Liste des secrets à ajouter dans le 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. string
storageType Type de stockage pour le volume. Si ce n’est pas le cas, utilisez EmptyDir. « AzureFile »
« EmptyDir »
« Secret »

SecretVolumeItem

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