Partager via


Microsoft.Batch BatchAccounts/pools 2020-03-01

Définition de ressource Bicep

Le type de ressource batchAccounts/pools 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.Batch/batchAccounts/pools, ajoutez le bicep suivant à votre modèle.

resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2020-03-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    applicationLicenses: [
      'string'
    ]
    applicationPackages: [
      {
        id: 'string'
        version: 'string'
      }
    ]
    certificates: [
      {
        id: 'string'
        storeLocation: 'string'
        storeName: 'string'
        visibility: [
          'string'
        ]
      }
    ]
    deploymentConfiguration: {
      cloudServiceConfiguration: {
        osFamily: 'string'
        osVersion: 'string'
      }
      virtualMachineConfiguration: {
        containerConfiguration: {
          containerImageNames: [
            'string'
          ]
          containerRegistries: [
            {
              password: 'string'
              registryServer: 'string'
              username: 'string'
            }
          ]
          type: 'DockerCompatible'
        }
        dataDisks: [
          {
            caching: 'string'
            diskSizeGB: int
            lun: int
            storageAccountType: 'string'
          }
        ]
        diskEncryptionConfiguration: {
          targets: [
            'string'
          ]
        }
        imageReference: {
          id: 'string'
          offer: 'string'
          publisher: 'string'
          sku: 'string'
          version: 'string'
        }
        licenseType: 'string'
        nodeAgentSkuId: 'string'
        windowsConfiguration: {
          enableAutomaticUpdates: bool
        }
      }
    }
    displayName: 'string'
    interNodeCommunication: 'string'
    maxTasksPerNode: int
    metadata: [
      {
        name: 'string'
        value: 'string'
      }
    ]
    mountConfiguration: [
      {
        azureBlobFileSystemConfiguration: {
          accountKey: 'string'
          accountName: 'string'
          blobfuseOptions: 'string'
          containerName: 'string'
          relativeMountPath: 'string'
          sasKey: 'string'
        }
        azureFileShareConfiguration: {
          accountKey: 'string'
          accountName: 'string'
          azureFileUrl: 'string'
          mountOptions: 'string'
          relativeMountPath: 'string'
        }
        cifsMountConfiguration: {
          mountOptions: 'string'
          password: 'string'
          relativeMountPath: 'string'
          source: 'string'
          username: 'string'
        }
        nfsMountConfiguration: {
          mountOptions: 'string'
          relativeMountPath: 'string'
          source: 'string'
        }
      }
    ]
    networkConfiguration: {
      endpointConfiguration: {
        inboundNatPools: [
          {
            backendPort: int
            frontendPortRangeEnd: int
            frontendPortRangeStart: int
            name: 'string'
            networkSecurityGroupRules: [
              {
                access: 'string'
                priority: int
                sourceAddressPrefix: 'string'
                sourcePortRanges: [
                  'string'
                ]
              }
            ]
            protocol: 'string'
          }
        ]
      }
      publicIPAddressConfiguration: {
        ipAddressIds: [
          'string'
        ]
        provision: 'string'
      }
      subnetId: 'string'
    }
    scaleSettings: {
      autoScale: {
        evaluationInterval: 'string'
        formula: 'string'
      }
      fixedScale: {
        nodeDeallocationOption: 'string'
        resizeTimeout: 'string'
        targetDedicatedNodes: int
        targetLowPriorityNodes: int
      }
    }
    startTask: {
      commandLine: 'string'
      containerSettings: {
        containerRunOptions: 'string'
        imageName: 'string'
        registry: {
          password: 'string'
          registryServer: 'string'
          username: 'string'
        }
        workingDirectory: 'string'
      }
      environmentSettings: [
        {
          name: 'string'
          value: 'string'
        }
      ]
      maxTaskRetryCount: int
      resourceFiles: [
        {
          autoStorageContainerName: 'string'
          blobPrefix: 'string'
          fileMode: 'string'
          filePath: 'string'
          httpUrl: 'string'
          storageContainerUrl: 'string'
        }
      ]
      userIdentity: {
        autoUser: {
          elevationLevel: 'string'
          scope: 'string'
        }
        userName: 'string'
      }
      waitForSuccess: bool
    }
    taskSchedulingPolicy: {
      nodeFillType: 'string'
    }
    userAccounts: [
      {
        elevationLevel: 'string'
        linuxUserConfiguration: {
          gid: int
          sshPrivateKey: 'string'
          uid: int
        }
        name: 'string'
        password: 'string'
        windowsUserConfiguration: {
          loginMode: 'string'
        }
      }
    ]
    vmSize: 'string'
  }
}

Valeurs de propriété

ApplicationPackageReference

Nom Description Valeur
id ID du package d’application à installer. Cela doit se trouver dans le même compte batch que le pool. Il peut s’agir d’une référence à une version spécifique ou à la version par défaut s’il en existe une. chaîne (obligatoire)
Version Si cela est omis et qu’aucune version par défaut n’est spécifiée pour cette application, la requête échoue avec le code d’erreur InvalidApplicationPackageReferences. Si vous appelez directement l’API REST, le code d’état HTTP est 409. corde

AutoScaleSettings

Nom Description Valeur
evaluationInterval Si elle est omise, la valeur par défaut est de 15 minutes (PT15M). corde
formule Formule pour le nombre souhaité de nœuds de calcul dans le pool. chaîne (obligatoire)

AutoUserSpecification

Nom Description Valeur
elevationLevel La valeur par défaut n’est pasAdmin. 'Admin'
'NonAdmin'
portée La valeur par défaut est Pool. Si le pool exécute Windows, une valeur de tâche doit être spécifiée si une isolation plus stricte entre les tâches est requise. Par exemple, si la tâche mute le Registre d’une manière qui peut avoir un impact sur d’autres tâches ou si des certificats ont été spécifiés sur le pool qui ne doit pas être accessible par les tâches normales, mais qu’elles doivent être accessibles par les tâches de démarrage. 'Pool'
'Task'

AzureBlobFileSystemConfiguration

Nom Description Valeur
accountKey Cette propriété s’exclue mutuellement avec sasKey et une propriété doit être spécifiée. corde
accountName Nom du compte de stockage Azure. chaîne (obligatoire)
blobfuseOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
containerName Nom du conteneur stockage Blob Azure. chaîne (obligatoire)
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)
sasKey Cette propriété s’exclue mutuellement avec accountKey et une propriété doit être spécifiée. corde

AzureFileShareConfiguration

Nom Description Valeur
accountKey Clé du compte stockage Azure. chaîne (obligatoire)
accountName Nom du compte stockage Azure. chaîne (obligatoire)
azureFileUrl Il s’agit de la forme « https://{account}.file.core.windows.net/ ». chaîne (obligatoire)
mountOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)

CertificateReference

Nom Description Valeur
id ID complet du certificat à installer sur le pool. Cela doit se trouver dans le même compte batch que le pool. chaîne (obligatoire)
storeLocation La valeur par défaut est currentUser. Cette propriété s’applique uniquement aux pools configurés avec des nœuds Windows (c’est-à-dire créés avec cloudServiceConfiguration ou virtualMachineConfiguration à l’aide d’une référence d’image Windows). Pour les nœuds de calcul Linux, les certificats sont stockés dans un répertoire à l’intérieur du répertoire de travail de la tâche et une variable d’environnement AZ_BATCH_CERTIFICATES_DIR est fournie à la tâche pour interroger cet emplacement. Pour les certificats avec visibilité de « remoteUser », un répertoire « certificats » est créé dans le répertoire de base de l’utilisateur (par exemple, /home/{user-name}/certs) et les certificats sont placés dans ce répertoire. 'CurrentUser'
'LocalMachine'
storeName Cette propriété s’applique uniquement aux pools configurés avec des nœuds Windows (c’est-à-dire créés avec cloudServiceConfiguration ou virtualMachineConfiguration à l’aide d’une référence d’image Windows). Les noms de magasin courants sont : My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, mais tout nom de magasin personnalisé peut également être utilisé. La valeur par défaut est My. corde
visibilité Quels comptes d’utilisateur sur le nœud de calcul doivent avoir accès aux données privées du certificat. Tableau de chaînes contenant l’un des éléments suivants :
'RemoteUser'
'StartTask'
'Task'

CifsMountConfiguration

Nom Description Valeur
mountOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
mot de passe Mot de passe à utiliser pour l’authentification auprès du système de fichiers CIFS. chaîne (obligatoire)
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)
source URI du système de fichiers à monter. chaîne (obligatoire)
nom d’utilisateur Utilisateur à utiliser pour l’authentification auprès du système de fichiers CIFS. chaîne (obligatoire)

CloudServiceConfiguration

Nom Description Valeur
osFamily Les valeurs possibles sont : 2 - Famille de système d’exploitation 2, équivalente à Windows Server 2008 R2 SP1. 3 - Famille de systèmes d’exploitation 3, équivalent à Windows Server 2012. 4 - Famille de système d’exploitation 4, équivalente à Windows Server 2012 R2. 5 - Famille de systèmes d’exploitation 5, équivalent à Windows Server 2016. 6 - Famille de systèmes d’exploitation 6, équivalent à Windows Server 2019. Pour plus d’informations, consultez Versions du système d’exploitation invité Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). chaîne (obligatoire)
osVersion La valeur par défaut est * qui spécifie la dernière version du système d’exploitation pour la famille de systèmes d’exploitation spécifiée. corde

ContainerConfiguration

Nom Description Valeur
containerImageNames Il s’agit de la référence d’image complète, comme indiqué dans « docker pull ». Une image est source du registre Docker par défaut, sauf si l’image est entièrement qualifiée avec un autre registre. string[]
containerRegistries Si des images doivent être téléchargées à partir d’un registre privé qui nécessite des informations d’identification, ces informations d’identification doivent être fournies ici. ContainerRegistry[]
type Technologie de conteneur à utiliser. 'DockerCompatible' (obligatoire)

ContainerRegistry

Nom Description Valeur
mot de passe Mot de passe pour vous connecter au serveur de Registre. chaîne (obligatoire)
registryServer S’il est omis, la valeur par défaut est « docker.io ». corde
nom d’utilisateur Nom d’utilisateur à connecter au serveur de Registre. chaîne (obligatoire)

DataDisk

Nom Description Valeur
Cache Les valeurs sont les suivantes :

none : le mode de mise en cache du disque n’est pas activé.
readOnly : le mode de mise en cache du disque est en lecture seule.
readWrite : le mode de mise en cache du disque est en lecture et en écriture.

La valeur par défaut de la mise en cache n’est pas. Pour plus d’informations sur les options de mise en cache, consultez : https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
'None'
'ReadOnly'
'ReadWrite'
diskSizeGB Taille initiale du disque en Go lors de la création d’un disque de données. int (obligatoire)
lun Le lun est utilisé pour identifier de manière unique chaque disque de données. Si vous attachez plusieurs disques, chacun doit avoir un lun distinct. int (obligatoire)
storageAccountType S’il est omis, la valeur par défaut est « Standard_LRS ». Les valeurs sont les suivantes :

Standard_LRS : le disque de données doit utiliser un stockage standard localement redondant.
Premium_LRS : le disque de données doit utiliser un stockage premium localement redondant.
'Premium_LRS'
'Standard_LRS'

DeploymentConfiguration

Nom Description Valeur
cloudServiceConfiguration Cette propriété et virtualMachineConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée. Cette propriété ne peut pas être spécifiée si le compte Batch a été créé avec sa propriété poolAllocationMode définie sur « UserSubscription ». cloudServiceConfiguration
virtualMachineConfiguration Cette propriété et cloudServiceConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée. VirtualMachineConfiguration

DiskEncryptionConfiguration

Nom Description Valeur
Cibles Sur le pool Linux, seul « TemporaryDisk » est pris en charge ; sur le pool Windows, « OsDisk » et « TemporaryDisk » doivent être spécifiés. Tableau de chaînes contenant l’un des éléments suivants :
'OsDisk'
'TemporaryDisk'

EnvironmentSetting

Nom Description Valeur
nom Nom de la variable d’environnement. chaîne (obligatoire)
valeur Valeur de la variable d’environnement. corde

FixedScaleSettings

Nom Description Valeur
nodeDeallocationOption Si elle est omise, la valeur par défaut est Requeue. 'Requeue'
'RetainedData'
'TaskCompletion'
'Terminate'
resizeTimeout La valeur par défaut est de 15 minutes. Les valeurs de délai d’expiration utilisent le format ISO 8601. Par exemple, utilisez PT10M pendant 10 minutes. La valeur minimale est de 5 minutes. Si vous spécifiez une valeur inférieure à 5 minutes, le service Batch rejette la demande avec une erreur ; si vous appelez directement l’API REST, le code d’état HTTP est 400 (requête incorrecte). corde
targetDedicatedNodes Au moins un des targetDedicatedNodes, targetLowPriorityNodes doit être défini. Int
targetLowPriorityNodes Au moins un des targetDedicatedNodes, targetLowPriorityNodes doit être défini. Int

ImageReference

Nom Description Valeur
id Cette propriété s’exclue mutuellement avec d’autres propriétés. L’image Shared Image Gallery doit avoir des réplicas dans la même région que le compte Azure Batch. Pour plus d’informations sur les paramètres de pare-feu de l’agent de nœud Batch pour communiquer avec le service Batch, consultez /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. corde
offrir Par exemple, UbuntuServer ou WindowsServer. corde
éditeur Par exemple, Canonical ou MicrosoftWindowsServer. corde
Sku Par exemple, 18.04-LTS ou 2019-Datacenter. corde
Version Vous pouvez spécifier la valeur « latest » pour sélectionner la dernière version d’une image. S’il est omis, la valeur par défaut est « latest ». corde

InboundNatPool

Nom Description Valeur
backendPort Cela doit être unique dans un pool Batch. Les valeurs acceptables sont comprises entre 1 et 65535, à l’exception de 22, 3389, 29876 et 29877, car elles sont réservées. Si des valeurs réservées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
frontendPortRangeEnd Les valeurs acceptables sont comprises entre 1 et 65534, à l’exception des ports compris entre 5 000 et 55 000, qui sont réservés par le service Batch. Toutes les plages d’un pool doivent être distinctes et ne peuvent pas se chevaucher. Si des valeurs réservées ou superposées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
frontendPortRangeStart Les valeurs acceptables sont comprises entre 1 et 65534, à l’exception des ports compris entre 50000 et 55000, qui sont réservés. Toutes les plages d’un pool doivent être distinctes et ne peuvent pas se chevaucher. Si des valeurs réservées ou superposées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
nom Le nom doit être unique dans un pool Batch, peut contenir des lettres, des chiffres, des traits de soulignement, des points et des traits d’union. Les noms doivent commencer par une lettre ou un nombre, doivent se terminer par une lettre, un nombre ou un trait de soulignement, et ne peuvent pas dépasser 77 caractères. Si des valeurs non valides sont fournies, la requête échoue avec le code d’état HTTP 400. chaîne (obligatoire)
networkSecurityGroupRules Le nombre maximal de règles qui peuvent être spécifiées sur tous les points de terminaison d’un pool Batch est de 25. Si aucune règle de groupe de sécurité réseau n’est spécifiée, une règle par défaut est créée pour autoriser l’accès entrant au backendPort spécifié. Si le nombre maximal de règles de groupe de sécurité réseau est dépassé, la requête échoue avec le code d’état HTTP 400. NetworkSecurityGroupRule[]
protocole Protocole du point de terminaison. 'TCP'
'UDP' (obligatoire)

LinuxUserConfiguration

Nom Description Valeur
Gid Les propriétés uid et gid doivent être spécifiées ensemble ou pas du tout. Si le système d’exploitation sous-jacent n’est pas spécifié, le gid est sélectionné. Int
sshPrivateKey La clé privée ne doit pas être protégée par mot de passe. La clé privée est utilisée pour configurer automatiquement l’authentification basée sur une clé asymétrique pour SSH entre les nœuds d’un pool Linux lorsque la propriété enableInterNodeCommunication du pool est true (elle est ignorée si enableInterNodeCommunication est false). Pour ce faire, placez la paire de clés dans le répertoire .ssh de l’utilisateur. S’il n’est pas spécifié, ssh sans mot de passe n’est pas configuré entre les nœuds (aucune modification du répertoire .ssh de l’utilisateur est effectuée). corde
Uid Les propriétés uid et gid doivent être spécifiées ensemble ou pas du tout. S’il n’est pas spécifié, le système d’exploitation sous-jacent sélectionne l’interface utilisateur. Int

MetadataItem

Nom Description Valeur
nom Nom de l’élément de métadonnées. chaîne (obligatoire)
valeur Valeur de l’élément de métadonnées. chaîne (obligatoire)

Microsoft.Batch/batchAccounts/pools

Nom Description Valeur
nom Nom de la ressource corde

Contraintes:
Longueur minimale = 1
Longueur maximale = 1
Modèle = ^[a-zA-Z0-9_-]+$ (obligatoire)
parent Dans Bicep, vous pouvez spécifier la ressource parente d’une ressource enfant. Vous devez uniquement ajouter cette propriété lorsque la ressource enfant est déclarée en dehors de la ressource parente.

Pour plus d’informations, consultez ressource enfant en dehors de la ressource parente.
Nom symbolique de la ressource de type : batchAccounts
Propriétés Propriétés associées au pool. PoolProperties

MountConfiguration

Nom Description Valeur
azureBlobFileSystemConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. AzureBlobFileSystemConfiguration
azureFileShareConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. AzureFileShareConfiguration
cifsMountConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. CifsMountConfiguration
nfsMountConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. NFSMountConfiguration

NetworkConfiguration

Nom Description Valeur
endpointConfiguration La configuration du point de terminaison de pool est prise en charge uniquement sur les pools avec la propriété virtualMachineConfiguration. PoolEndpointConfiguration
publicIPAddressConfiguration Cette propriété est uniquement prise en charge sur les pools avec la propriété virtualMachineConfiguration. publicIPAddressConfiguration
subnetId Le réseau virtuel doit se trouver dans la même région et dans le même abonnement que le compte Azure Batch. Le sous-réseau spécifié doit avoir suffisamment d’adresses IP libres pour prendre en charge le nombre de nœuds dans le pool. Si le sous-réseau n’a pas suffisamment d’adresses IP gratuites, le pool alloue partiellement des nœuds de calcul et une erreur de redimensionnement se produit. Le principal de service « MicrosoftAzureBatch » doit avoir le rôle « Contributeur de machine virtuelle classique » Role-Based Contrôle d’accès (RBAC) pour le réseau virtuel spécifié. Le sous-réseau spécifié doit autoriser la communication du service Azure Batch à planifier des tâches sur les nœuds de calcul. Cela peut être vérifié en vérifiant si le réseau virtuel spécifié a des groupes de sécurité réseau (NSG) associés. Si la communication aux nœuds de calcul dans le sous-réseau spécifié est refusée par un groupe de sécurité réseau, le service Batch définit l’état des nœuds de calcul sur inutilisable. Si le réseau virtuel spécifié a des groupes de sécurité réseau (NSG) associés, quelques ports système réservés doivent être activés pour la communication entrante. Pour les pools créés avec une configuration de machine virtuelle, activez les ports 29876 et 29877, ainsi que le port 22 pour Linux et le port 3389 pour Windows. Pour les pools créés avec une configuration de service cloud, activez les ports 10100, 20100 et 30100. Activez également les connexions sortantes au stockage Azure sur le port 443. Pour les pools cloudServiceConfiguration, seuls les réseaux virtuels « classiques » sont pris en charge. Pour plus d’informations, consultez : /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration corde

NetworkSecurityGroupRule

Nom Description Valeur
accès Action qui doit être effectuée pour une adresse IP, une plage de sous-réseaux ou une balise spécifiée. 'Autoriser'
'Deny' (obligatoire)
priorité Les priorités au sein d’un pool doivent être uniques et sont évaluées par ordre de priorité. Plus le nombre est faible, plus la priorité est élevée. Par exemple, les règles peuvent être spécifiées avec des numéros de commande de 150, 250 et 350. La règle avec le numéro d’ordre de 150 est prioritaire sur la règle dont l’ordre est de 250. Les priorités autorisées sont de 150 à 4096. Si des valeurs réservées ou dupliquées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
sourceAddressPrefix Les valeurs valides sont une seule adresse IP (c’est-à-dire 10.10.10.10), un sous-réseau IP (par exemple, 192.168.1.0/24), une balise par défaut ou * (pour toutes les adresses). Si d’autres valeurs sont fournies, la requête échoue avec le code d’état HTTP 400. chaîne (obligatoire)
sourcePortRanges Les valeurs valides sont « * » (pour tous les ports 0 - 65535) ou des tableaux de ports ou plages de ports (c’est-à-dire 100-200). Les ports doivent se trouver dans la plage de 0 à 65535 et les plages de ports ou ports ne peuvent pas se chevaucher. Si d’autres valeurs sont fournies, la requête échoue avec le code d’état HTTP 400. La valeur par défaut est *. string[]

NFSMountConfiguration

Nom Description Valeur
mountOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)
source URI du système de fichiers à monter. chaîne (obligatoire)

PoolEndpointConfiguration

Nom Description Valeur
inboundNatPools Le nombre maximal de pools NAT entrants par pool Batch est de 5. Si le nombre maximal de pools NAT entrants est dépassé, la requête échoue avec le code d’état HTTP 400. inboundNatPool[] (obligatoire)

PoolProperties

Nom Description Valeur
applicationLicenses La liste des licences d’application doit être un sous-ensemble de licences d’application de service Batch disponibles. Si une licence n’est pas prise en charge, la création du pool échoue. string[]
applicationPackages Les modifications apportées aux références de package d’application affectent tous les nouveaux nœuds de calcul qui rejoignent le pool, mais n’affectent pas les nœuds de calcul qui se trouvent déjà dans le pool tant qu’ils ne sont pas redémarrés ou réimages. Il existe au maximum 10 références de package d’application sur un pool donné. applicationPackageReference[]
Certificats Pour les nœuds de calcul Windows, le service Batch installe les certificats dans le magasin de certificats et l’emplacement spécifiés. Pour les nœuds de calcul Linux, les certificats sont stockés dans un répertoire à l’intérieur du répertoire de travail de la tâche et une variable d’environnement AZ_BATCH_CERTIFICATES_DIR est fournie à la tâche pour interroger cet emplacement. Pour les certificats avec visibilité de « remoteUser », un répertoire « certificats » est créé dans le répertoire de base de l’utilisateur (par exemple, /home/{user-name}/certs) et les certificats sont placés dans ce répertoire. CertificateReference[]
deploymentConfiguration L’utilisation de CloudServiceConfiguration spécifie que les nœuds doivent être créés à l’aide d’Azure Cloud Services (PaaS), tandis que VirtualMachineConfiguration utilise des machines virtuelles Azure (IaaS). DeploymentConfiguration
displayName Le nom complet n’a pas besoin d’être unique et peut contenir des caractères Unicode pouvant atteindre une longueur maximale de 1024. corde
interNodeCommunication Cela impose des restrictions sur les nœuds qui peuvent être affectés au pool. L’activation de cette valeur peut réduire le nombre de nœuds demandé à allouer dans le pool. Si elle n’est pas spécifiée, cette valeur est définie par défaut sur « Disabled ». 'Désactivé'
'Activé'
maxTasksPerNode La valeur par défaut est 1. La valeur maximale est la plus petite de 4 fois le nombre de cœurs de la vmSize du pool ou 256. Int
métadonnées Le service Batch n’affecte aucune signification aux métadonnées ; il s’agit uniquement de l’utilisation du code utilisateur. MetadataItem[]
mountConfiguration Cela prend en charge Azure Files, NFS, CIFS/SMB et Blobfuse. MountConfiguration[]
networkConfiguration Configuration réseau d’un pool. networkConfiguration
scaleSettings Définit la taille souhaitée du pool. Il peut s’agir de « fixedScale » où les targetDedicatedNodes demandés sont spécifiés, ou « autoScale » qui définit une formule qui est régulièrement réévaluée. Si cette propriété n’est pas spécifiée, le pool aura une échelle fixe avec 0 targetDedicatedNodes. scaleSettings
startTask Dans une opération PATCH (mise à jour), cette propriété peut être définie sur un objet vide pour supprimer la tâche de démarrage du pool. startTask
taskSchedulingPolicy S’il n’est pas spécifié, la valeur par défaut est répartie. TaskSchedulingPolicy
userAccounts Liste des comptes d’utilisateur à créer sur chaque nœud du pool. UserAccount[]
vmSize Pour plus d’informations sur les tailles disponibles de machines virtuelles pour les pools de services cloud (pools créés avec cloudServiceConfiguration), consultez Tailles pour les services cloud (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch prend en charge toutes les tailles de machine virtuelle cloud Services, à l’exception d’ExtraSmall. Pour plus d’informations sur les tailles de machines virtuelles disponibles pour les pools utilisant des images de la Place de marché des machines virtuelles (pools créés avec virtualMachineConfiguration) consultez Tailles pour les machines virtuelles (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) ou tailles pour les machines virtuelles (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch prend en charge toutes les tailles de machine virtuelle Azure, à l’exception des STANDARD_A0 et celles avec stockage Premium (STANDARD_GS, STANDARD_DS et série STANDARD_DSV2). corde

PublicIPAddressConfiguration

Nom Description Valeur
ipAddressIds Le nombre d’adresses IP spécifiées ici limite la taille maximale du pool - 50 nœuds dédiés ou 20 nœuds de faible priorité peuvent être alloués pour chaque adresse IP publique. Par exemple, un pool nécessitant 150 machines virtuelles dédiées aurait besoin d’au moins 3 adresses IP publiques spécifiées. Chaque élément de cette collection est de la forme : /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. string[]
disposition La valeur par défaut est BatchManaged 'BatchManaged'
'NoPublicIPAddresses'
'UserManaged'

ResourceFile

Nom Description Valeur
autoStorageContainerName Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. corde
blobPrefix La propriété est valide uniquement lorsque autoStorageContainerName ou storageContainerUrl est utilisé. Ce préfixe peut être un nom de fichier partiel ou un sous-répertoire. Si aucun préfixe n’est spécifié, tous les fichiers du conteneur sont téléchargés. corde
fileMode Cette propriété s’applique uniquement aux fichiers téléchargés sur des nœuds de calcul Linux. Il sera ignoré s’il est spécifié pour un resourceFile qui sera téléchargé sur un nœud Windows. Si cette propriété n’est pas spécifiée pour un nœud Linux, la valeur par défaut 0770 est appliquée au fichier. corde
filePath Si la propriété httpUrl est spécifiée, filePath est requis et décrit le chemin vers lequel le fichier sera téléchargé, y compris le nom de fichier. Sinon, si la propriété autoStorageContainerName ou storageContainerUrl est spécifiée, filePath est facultatif et est le répertoire dans lequel télécharger les fichiers. Dans le cas où filePath est utilisé comme répertoire, toute structure de répertoires déjà associée aux données d’entrée sera conservée dans son intégralité et ajoutée au répertoire filePath spécifié. Le chemin d’accès relatif spécifié ne peut pas décomposer le répertoire de travail de la tâche (par exemple à l’aide de '..'). corde
httpUrl Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. Si l’URL est Stockage Blob Azure, elle doit être lisible à l’aide d’un accès anonyme ; autrement dit, le service Batch ne présente aucune information d’identification lors du téléchargement de l’objet blob. Il existe deux façons d’obtenir cette URL pour un objet blob dans le stockage Azure : incluez une signature d’accès partagé (SAP) accordant des autorisations de lecture sur l’objet blob, ou définissez la liste de contrôle d’accès pour l’objet blob ou son conteneur afin d’autoriser l’accès public. corde
storageContainerUrl Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. Cette URL doit être lisible et listable à l’aide de l’accès anonyme ; autrement dit, le service Batch ne présente aucune information d’identification lors du téléchargement de l’objet blob. Il existe deux façons d’obtenir cette URL pour un objet blob dans le stockage Azure : incluez une signature d’accès partagé (SAP) accordant des autorisations de lecture et de liste sur l’objet blob, ou définissez la liste de contrôle d’accès pour l’objet blob ou son conteneur afin d’autoriser l’accès public. corde

ScaleSettings

Nom Description Valeur
mise à l’échelle automatique Cette propriété et fixedScale s’excluent mutuellement et l’une des propriétés doit être spécifiée. AutoScaleSettings
fixedScale Cette propriété et cette mise à l’échelle automatique sont mutuellement exclusives et l’une des propriétés doit être spécifiée. fixedScaleSettings

StartTask

Nom Description Valeur
commandLine La ligne de commande ne s’exécute pas sous un interpréteur de commandes et ne peut donc pas tirer parti des fonctionnalités de l’interpréteur de commandes telles que l’extension de variable d’environnement. Si vous souhaitez tirer parti de ces fonctionnalités, vous devez appeler l’interpréteur de commandes dans la ligne de commande, par exemple en utilisant « cmd /c MyCommand » dans Windows ou « /bin/sh -c MyCommand » dans Linux. Obligatoire si d’autres propriétés de startTask sont spécifiées. corde
containerSettings Lorsque cela est spécifié, tous les répertoires sont récursifs sous la AZ_BATCH_NODE_ROOT_DIR (la racine des répertoires Azure Batch sur le nœud) sont mappés dans le conteneur, toutes les variables d’environnement de tâche sont mappées dans le conteneur et la ligne de commande de tâche est exécutée dans le conteneur. TaskContainerSettings
environmentSettings Liste des paramètres de variable d’environnement pour la tâche de démarrage. EnvironmentSetting[]
maxTaskRetryCount Le service Batch retente une tâche si son code de sortie n’est pas différent de zéro. Notez que cette valeur contrôle spécifiquement le nombre de nouvelles tentatives. Le service Batch essaie la tâche une fois, puis peut réessayer jusqu’à cette limite. Par exemple, si le nombre maximal de nouvelles tentatives est égal à 3, Batch tente la tâche jusqu’à 4 fois (une tentative initiale et 3 nouvelles tentatives). Si le nombre maximal de nouvelles tentatives est égal à 0, le service Batch ne réessaye pas la tâche. Si le nombre maximal de nouvelles tentatives est -1, le service Batch retente la tâche sans limite. Int
resourceFiles Liste des fichiers que le service Batch télécharge sur le nœud de calcul avant d’exécuter la ligne de commande. ResourceFile[]
userIdentity Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche. userIdentity
waitForSuccess Si la valeur est true et que la tâche de démarrage échoue sur un nœud de calcul, le service Batch retente la tâche de démarrage jusqu’à son nombre maximal de nouvelles tentatives (maxTaskRetryCount). Si la tâche n’est toujours pas terminée après toutes les nouvelles tentatives, le service Batch marque le nœud de calcul inutilisable et ne planifie pas les tâches. Cette condition peut être détectée via l’état du nœud et la planification des détails d’erreur. Si la valeur est false, le service Batch n’attend pas la fin de la tâche de démarrage. Dans ce cas, d’autres tâches peuvent commencer à s’exécuter sur le nœud de calcul pendant que la tâche de démarrage est toujours en cours d’exécution ; et même si la tâche de démarrage échoue, les nouvelles tâches continueront d’être planifiées sur le nœud. La valeur par défaut est true. Bool

TaskContainerSettings

Nom Description Valeur
containerRunOptions Ces options supplémentaires sont fournies en tant qu’arguments de la commande « docker create », en plus de celles contrôlées par le service Batch. corde
imageName Il s’agit de la référence d’image complète, comme indiqué dans « docker pull ». Si aucune balise n’est fournie dans le cadre du nom de l’image, la balise « :latest » est utilisée comme valeur par défaut. chaîne (obligatoire)
registre Ce paramètre peut être omis s’il a déjà été fourni lors de la création du pool. ContainerRegistry
workingDirectory Indicateur permettant d’indiquer où se trouve le répertoire de travail de la tâche de conteneur. La valeur par défaut est « taskWorkingDirectory ». 'ContainerImageDefault'
'TaskWorkingDirectory'

TaskSchedulingPolicy

Nom Description Valeur
nodeFillType Comment les tâches doivent être distribuées entre les nœuds de calcul. 'Pack'
'Spread' (obligatoire)

UserAccount

Nom Description Valeur
elevationLevel nonAdmin : l’utilisateur automatique est un utilisateur standard sans accès élevé. administrateur : l’utilisateur automatique est un utilisateur disposant d’un accès élevé et fonctionne avec des autorisations d’administrateur complètes. La valeur par défaut n’est pasAdmin. 'Admin'
'NonAdmin'
linuxUserConfiguration Cette propriété est ignorée si elle est spécifiée sur un pool Windows. S’il n’est pas spécifié, l’utilisateur est créé avec les options par défaut. LinuxUserConfiguration
nom Nom du compte d’utilisateur. chaîne (obligatoire)
mot de passe Mot de passe du compte d’utilisateur. chaîne (obligatoire)
windowsUserConfiguration Cette propriété ne peut être spécifiée que si l’utilisateur se trouve sur un pool Windows. S’il n’est pas spécifié et sur un pool Windows, l’utilisateur est créé avec les options par défaut. windowsUserConfiguration

UserIdentity

Nom Description Valeur
autoUser Les propriétés userName et autoUser s’excluent mutuellement ; vous devez en spécifier un, mais pas les deux. AutoUserSpecification
nom d’utilisateur Les propriétés userName et autoUser s’excluent mutuellement ; vous devez en spécifier un, mais pas les deux. corde

VirtualMachineConfiguration

Nom Description Valeur
containerConfiguration Si elle est spécifiée, le programme d’installation est effectué sur chaque nœud du pool pour permettre l’exécution des tâches dans des conteneurs. Toutes les tâches régulières et les tâches du gestionnaire de travaux s’exécutent sur ce pool doivent spécifier la propriété containerSettings, et toutes les autres tâches peuvent la spécifier. ContainerConfiguration
dataDisks Cette propriété doit être spécifiée si les nœuds de calcul du pool doivent avoir des disques de données vides attachés. DataDisk[]
diskEncryptionConfiguration Si spécifié, le chiffrement est effectué sur chaque nœud du pool pendant l’approvisionnement de nœuds. DiskEncryptionConfiguration
imageReference Référence à une image de la Place de marché des machines virtuelles Azure ou à la ressource Image Azure d’une machine virtuelle personnalisée. Pour obtenir la liste de toutes les images Vérifiées par Azure Batch, consultez l’opération « Répertorier les références SKU de l’agent de nœud prises en charge ». ImageReference (obligatoire)
licenseType Cela s’applique uniquement aux images qui contiennent le système d’exploitation Windows et ne doivent être utilisées que lorsque vous conservez des licences locales valides pour les nœuds qui seront déployés. En cas d’omission, aucune remise de licence locale n’est appliquée. Les valeurs sont les suivantes :

Windows_Server : la licence locale est destinée à Windows Server.
Windows_Client : la licence locale est destinée au client Windows.
corde
nodeAgentSkuId L’agent de nœud Batch est un programme qui s’exécute sur chaque nœud du pool et fournit l’interface de commande et de contrôle entre le nœud et le service Batch. Il existe différentes implémentations de l’agent de nœud, appelées références SKU, pour différents systèmes d’exploitation. Vous devez spécifier une référence SKU de l’agent de nœud qui correspond à la référence d’image sélectionnée. Pour obtenir la liste des références SKU de l’agent de nœud prises en charge, ainsi que leur liste de références d’images vérifiées, consultez l’opération « Répertorier les références SKU de l’agent de nœud prises en charge ». chaîne (obligatoire)
windowsConfiguration Cette propriété ne doit pas être spécifiée si l’imageReference spécifie une image de système d’exploitation Linux. windowsConfiguration

WindowsConfiguration

Nom Description Valeur
enableAutomaticUpdates Si elle est omise, la valeur par défaut est true. Bool

WindowsUserConfiguration

Nom Description Valeur
loginMode Spécifie le mode de connexion pour l’utilisateur. La valeur par défaut pour les pools VirtualMachineConfiguration est le mode interactif et pour les pools CloudServiceConfiguration est le mode batch. 'Batch'
'Interactive'

Exemples de démarrage rapide

Les exemples de démarrage rapide suivants déploient ce type de ressource.

Fichier Bicep Description
pool Azure Batch sans adresses IP publiques Ce modèle crée un pool de communications de nœud simplifié Azure Batch sans adresses IP publiques.

Définition de ressource de modèle ARM

Le type de ressource batchAccounts/pools 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.Batch/batchAccounts/pools, ajoutez le code JSON suivant à votre modèle.

{
  "type": "Microsoft.Batch/batchAccounts/pools",
  "apiVersion": "2020-03-01",
  "name": "string",
  "properties": {
    "applicationLicenses": [ "string" ],
    "applicationPackages": [
      {
        "id": "string",
        "version": "string"
      }
    ],
    "certificates": [
      {
        "id": "string",
        "storeLocation": "string",
        "storeName": "string",
        "visibility": [ "string" ]
      }
    ],
    "deploymentConfiguration": {
      "cloudServiceConfiguration": {
        "osFamily": "string",
        "osVersion": "string"
      },
      "virtualMachineConfiguration": {
        "containerConfiguration": {
          "containerImageNames": [ "string" ],
          "containerRegistries": [
            {
              "password": "string",
              "registryServer": "string",
              "username": "string"
            }
          ],
          "type": "DockerCompatible"
        },
        "dataDisks": [
          {
            "caching": "string",
            "diskSizeGB": "int",
            "lun": "int",
            "storageAccountType": "string"
          }
        ],
        "diskEncryptionConfiguration": {
          "targets": [ "string" ]
        },
        "imageReference": {
          "id": "string",
          "offer": "string",
          "publisher": "string",
          "sku": "string",
          "version": "string"
        },
        "licenseType": "string",
        "nodeAgentSkuId": "string",
        "windowsConfiguration": {
          "enableAutomaticUpdates": "bool"
        }
      }
    },
    "displayName": "string",
    "interNodeCommunication": "string",
    "maxTasksPerNode": "int",
    "metadata": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "mountConfiguration": [
      {
        "azureBlobFileSystemConfiguration": {
          "accountKey": "string",
          "accountName": "string",
          "blobfuseOptions": "string",
          "containerName": "string",
          "relativeMountPath": "string",
          "sasKey": "string"
        },
        "azureFileShareConfiguration": {
          "accountKey": "string",
          "accountName": "string",
          "azureFileUrl": "string",
          "mountOptions": "string",
          "relativeMountPath": "string"
        },
        "cifsMountConfiguration": {
          "mountOptions": "string",
          "password": "string",
          "relativeMountPath": "string",
          "source": "string",
          "username": "string"
        },
        "nfsMountConfiguration": {
          "mountOptions": "string",
          "relativeMountPath": "string",
          "source": "string"
        }
      }
    ],
    "networkConfiguration": {
      "endpointConfiguration": {
        "inboundNatPools": [
          {
            "backendPort": "int",
            "frontendPortRangeEnd": "int",
            "frontendPortRangeStart": "int",
            "name": "string",
            "networkSecurityGroupRules": [
              {
                "access": "string",
                "priority": "int",
                "sourceAddressPrefix": "string",
                "sourcePortRanges": [ "string" ]
              }
            ],
            "protocol": "string"
          }
        ]
      },
      "publicIPAddressConfiguration": {
        "ipAddressIds": [ "string" ],
        "provision": "string"
      },
      "subnetId": "string"
    },
    "scaleSettings": {
      "autoScale": {
        "evaluationInterval": "string",
        "formula": "string"
      },
      "fixedScale": {
        "nodeDeallocationOption": "string",
        "resizeTimeout": "string",
        "targetDedicatedNodes": "int",
        "targetLowPriorityNodes": "int"
      }
    },
    "startTask": {
      "commandLine": "string",
      "containerSettings": {
        "containerRunOptions": "string",
        "imageName": "string",
        "registry": {
          "password": "string",
          "registryServer": "string",
          "username": "string"
        },
        "workingDirectory": "string"
      },
      "environmentSettings": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "maxTaskRetryCount": "int",
      "resourceFiles": [
        {
          "autoStorageContainerName": "string",
          "blobPrefix": "string",
          "fileMode": "string",
          "filePath": "string",
          "httpUrl": "string",
          "storageContainerUrl": "string"
        }
      ],
      "userIdentity": {
        "autoUser": {
          "elevationLevel": "string",
          "scope": "string"
        },
        "userName": "string"
      },
      "waitForSuccess": "bool"
    },
    "taskSchedulingPolicy": {
      "nodeFillType": "string"
    },
    "userAccounts": [
      {
        "elevationLevel": "string",
        "linuxUserConfiguration": {
          "gid": "int",
          "sshPrivateKey": "string",
          "uid": "int"
        },
        "name": "string",
        "password": "string",
        "windowsUserConfiguration": {
          "loginMode": "string"
        }
      }
    ],
    "vmSize": "string"
  }
}

Valeurs de propriété

ApplicationPackageReference

Nom Description Valeur
id ID du package d’application à installer. Cela doit se trouver dans le même compte batch que le pool. Il peut s’agir d’une référence à une version spécifique ou à la version par défaut s’il en existe une. chaîne (obligatoire)
Version Si cela est omis et qu’aucune version par défaut n’est spécifiée pour cette application, la requête échoue avec le code d’erreur InvalidApplicationPackageReferences. Si vous appelez directement l’API REST, le code d’état HTTP est 409. corde

AutoScaleSettings

Nom Description Valeur
evaluationInterval Si elle est omise, la valeur par défaut est de 15 minutes (PT15M). corde
formule Formule pour le nombre souhaité de nœuds de calcul dans le pool. chaîne (obligatoire)

AutoUserSpecification

Nom Description Valeur
elevationLevel La valeur par défaut n’est pasAdmin. 'Admin'
'NonAdmin'
portée La valeur par défaut est Pool. Si le pool exécute Windows, une valeur de tâche doit être spécifiée si une isolation plus stricte entre les tâches est requise. Par exemple, si la tâche mute le Registre d’une manière qui peut avoir un impact sur d’autres tâches ou si des certificats ont été spécifiés sur le pool qui ne doit pas être accessible par les tâches normales, mais qu’elles doivent être accessibles par les tâches de démarrage. 'Pool'
'Task'

AzureBlobFileSystemConfiguration

Nom Description Valeur
accountKey Cette propriété s’exclue mutuellement avec sasKey et une propriété doit être spécifiée. corde
accountName Nom du compte de stockage Azure. chaîne (obligatoire)
blobfuseOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
containerName Nom du conteneur stockage Blob Azure. chaîne (obligatoire)
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)
sasKey Cette propriété s’exclue mutuellement avec accountKey et une propriété doit être spécifiée. corde

AzureFileShareConfiguration

Nom Description Valeur
accountKey Clé du compte stockage Azure. chaîne (obligatoire)
accountName Nom du compte stockage Azure. chaîne (obligatoire)
azureFileUrl Il s’agit de la forme « https://{account}.file.core.windows.net/ ». chaîne (obligatoire)
mountOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)

CertificateReference

Nom Description Valeur
id ID complet du certificat à installer sur le pool. Cela doit se trouver dans le même compte batch que le pool. chaîne (obligatoire)
storeLocation La valeur par défaut est currentUser. Cette propriété s’applique uniquement aux pools configurés avec des nœuds Windows (c’est-à-dire créés avec cloudServiceConfiguration ou virtualMachineConfiguration à l’aide d’une référence d’image Windows). Pour les nœuds de calcul Linux, les certificats sont stockés dans un répertoire à l’intérieur du répertoire de travail de la tâche et une variable d’environnement AZ_BATCH_CERTIFICATES_DIR est fournie à la tâche pour interroger cet emplacement. Pour les certificats avec visibilité de « remoteUser », un répertoire « certificats » est créé dans le répertoire de base de l’utilisateur (par exemple, /home/{user-name}/certs) et les certificats sont placés dans ce répertoire. 'CurrentUser'
'LocalMachine'
storeName Cette propriété s’applique uniquement aux pools configurés avec des nœuds Windows (c’est-à-dire créés avec cloudServiceConfiguration ou virtualMachineConfiguration à l’aide d’une référence d’image Windows). Les noms de magasin courants sont : My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, mais tout nom de magasin personnalisé peut également être utilisé. La valeur par défaut est My. corde
visibilité Quels comptes d’utilisateur sur le nœud de calcul doivent avoir accès aux données privées du certificat. Tableau de chaînes contenant l’un des éléments suivants :
'RemoteUser'
'StartTask'
'Task'

CifsMountConfiguration

Nom Description Valeur
mountOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
mot de passe Mot de passe à utiliser pour l’authentification auprès du système de fichiers CIFS. chaîne (obligatoire)
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)
source URI du système de fichiers à monter. chaîne (obligatoire)
nom d’utilisateur Utilisateur à utiliser pour l’authentification auprès du système de fichiers CIFS. chaîne (obligatoire)

CloudServiceConfiguration

Nom Description Valeur
osFamily Les valeurs possibles sont : 2 - Famille de système d’exploitation 2, équivalente à Windows Server 2008 R2 SP1. 3 - Famille de systèmes d’exploitation 3, équivalent à Windows Server 2012. 4 - Famille de système d’exploitation 4, équivalente à Windows Server 2012 R2. 5 - Famille de systèmes d’exploitation 5, équivalent à Windows Server 2016. 6 - Famille de systèmes d’exploitation 6, équivalent à Windows Server 2019. Pour plus d’informations, consultez Versions du système d’exploitation invité Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). chaîne (obligatoire)
osVersion La valeur par défaut est * qui spécifie la dernière version du système d’exploitation pour la famille de systèmes d’exploitation spécifiée. corde

ContainerConfiguration

Nom Description Valeur
containerImageNames Il s’agit de la référence d’image complète, comme indiqué dans « docker pull ». Une image est source du registre Docker par défaut, sauf si l’image est entièrement qualifiée avec un autre registre. string[]
containerRegistries Si des images doivent être téléchargées à partir d’un registre privé qui nécessite des informations d’identification, ces informations d’identification doivent être fournies ici. ContainerRegistry[]
type Technologie de conteneur à utiliser. 'DockerCompatible' (obligatoire)

ContainerRegistry

Nom Description Valeur
mot de passe Mot de passe pour vous connecter au serveur de Registre. chaîne (obligatoire)
registryServer S’il est omis, la valeur par défaut est « docker.io ». corde
nom d’utilisateur Nom d’utilisateur à connecter au serveur de Registre. chaîne (obligatoire)

DataDisk

Nom Description Valeur
Cache Les valeurs sont les suivantes :

none : le mode de mise en cache du disque n’est pas activé.
readOnly : le mode de mise en cache du disque est en lecture seule.
readWrite : le mode de mise en cache du disque est en lecture et en écriture.

La valeur par défaut de la mise en cache n’est pas. Pour plus d’informations sur les options de mise en cache, consultez : https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
'None'
'ReadOnly'
'ReadWrite'
diskSizeGB Taille initiale du disque en Go lors de la création d’un disque de données. int (obligatoire)
lun Le lun est utilisé pour identifier de manière unique chaque disque de données. Si vous attachez plusieurs disques, chacun doit avoir un lun distinct. int (obligatoire)
storageAccountType S’il est omis, la valeur par défaut est « Standard_LRS ». Les valeurs sont les suivantes :

Standard_LRS : le disque de données doit utiliser un stockage standard localement redondant.
Premium_LRS : le disque de données doit utiliser un stockage premium localement redondant.
'Premium_LRS'
'Standard_LRS'

DeploymentConfiguration

Nom Description Valeur
cloudServiceConfiguration Cette propriété et virtualMachineConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée. Cette propriété ne peut pas être spécifiée si le compte Batch a été créé avec sa propriété poolAllocationMode définie sur « UserSubscription ». cloudServiceConfiguration
virtualMachineConfiguration Cette propriété et cloudServiceConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée. VirtualMachineConfiguration

DiskEncryptionConfiguration

Nom Description Valeur
Cibles Sur le pool Linux, seul « TemporaryDisk » est pris en charge ; sur le pool Windows, « OsDisk » et « TemporaryDisk » doivent être spécifiés. Tableau de chaînes contenant l’un des éléments suivants :
'OsDisk'
'TemporaryDisk'

EnvironmentSetting

Nom Description Valeur
nom Nom de la variable d’environnement. chaîne (obligatoire)
valeur Valeur de la variable d’environnement. corde

FixedScaleSettings

Nom Description Valeur
nodeDeallocationOption Si elle est omise, la valeur par défaut est Requeue. 'Requeue'
'RetainedData'
'TaskCompletion'
'Terminate'
resizeTimeout La valeur par défaut est de 15 minutes. Les valeurs de délai d’expiration utilisent le format ISO 8601. Par exemple, utilisez PT10M pendant 10 minutes. La valeur minimale est de 5 minutes. Si vous spécifiez une valeur inférieure à 5 minutes, le service Batch rejette la demande avec une erreur ; si vous appelez directement l’API REST, le code d’état HTTP est 400 (requête incorrecte). corde
targetDedicatedNodes Au moins un des targetDedicatedNodes, targetLowPriorityNodes doit être défini. Int
targetLowPriorityNodes Au moins un des targetDedicatedNodes, targetLowPriorityNodes doit être défini. Int

ImageReference

Nom Description Valeur
id Cette propriété s’exclue mutuellement avec d’autres propriétés. L’image Shared Image Gallery doit avoir des réplicas dans la même région que le compte Azure Batch. Pour plus d’informations sur les paramètres de pare-feu de l’agent de nœud Batch pour communiquer avec le service Batch, consultez /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. corde
offrir Par exemple, UbuntuServer ou WindowsServer. corde
éditeur Par exemple, Canonical ou MicrosoftWindowsServer. corde
Sku Par exemple, 18.04-LTS ou 2019-Datacenter. corde
Version Vous pouvez spécifier la valeur « latest » pour sélectionner la dernière version d’une image. S’il est omis, la valeur par défaut est « latest ». corde

InboundNatPool

Nom Description Valeur
backendPort Cela doit être unique dans un pool Batch. Les valeurs acceptables sont comprises entre 1 et 65535, à l’exception de 22, 3389, 29876 et 29877, car elles sont réservées. Si des valeurs réservées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
frontendPortRangeEnd Les valeurs acceptables sont comprises entre 1 et 65534, à l’exception des ports compris entre 5 000 et 55 000, qui sont réservés par le service Batch. Toutes les plages d’un pool doivent être distinctes et ne peuvent pas se chevaucher. Si des valeurs réservées ou superposées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
frontendPortRangeStart Les valeurs acceptables sont comprises entre 1 et 65534, à l’exception des ports compris entre 50000 et 55000, qui sont réservés. Toutes les plages d’un pool doivent être distinctes et ne peuvent pas se chevaucher. Si des valeurs réservées ou superposées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
nom Le nom doit être unique dans un pool Batch, peut contenir des lettres, des chiffres, des traits de soulignement, des points et des traits d’union. Les noms doivent commencer par une lettre ou un nombre, doivent se terminer par une lettre, un nombre ou un trait de soulignement, et ne peuvent pas dépasser 77 caractères. Si des valeurs non valides sont fournies, la requête échoue avec le code d’état HTTP 400. chaîne (obligatoire)
networkSecurityGroupRules Le nombre maximal de règles qui peuvent être spécifiées sur tous les points de terminaison d’un pool Batch est de 25. Si aucune règle de groupe de sécurité réseau n’est spécifiée, une règle par défaut est créée pour autoriser l’accès entrant au backendPort spécifié. Si le nombre maximal de règles de groupe de sécurité réseau est dépassé, la requête échoue avec le code d’état HTTP 400. NetworkSecurityGroupRule[]
protocole Protocole du point de terminaison. 'TCP'
'UDP' (obligatoire)

LinuxUserConfiguration

Nom Description Valeur
Gid Les propriétés uid et gid doivent être spécifiées ensemble ou pas du tout. Si le système d’exploitation sous-jacent n’est pas spécifié, le gid est sélectionné. Int
sshPrivateKey La clé privée ne doit pas être protégée par mot de passe. La clé privée est utilisée pour configurer automatiquement l’authentification basée sur une clé asymétrique pour SSH entre les nœuds d’un pool Linux lorsque la propriété enableInterNodeCommunication du pool est true (elle est ignorée si enableInterNodeCommunication est false). Pour ce faire, placez la paire de clés dans le répertoire .ssh de l’utilisateur. S’il n’est pas spécifié, ssh sans mot de passe n’est pas configuré entre les nœuds (aucune modification du répertoire .ssh de l’utilisateur est effectuée). corde
Uid Les propriétés uid et gid doivent être spécifiées ensemble ou pas du tout. S’il n’est pas spécifié, le système d’exploitation sous-jacent sélectionne l’interface utilisateur. Int

MetadataItem

Nom Description Valeur
nom Nom de l’élément de métadonnées. chaîne (obligatoire)
valeur Valeur de l’élément de métadonnées. chaîne (obligatoire)

Microsoft.Batch/batchAccounts/pools

Nom Description Valeur
apiVersion Version de l’API '2020-03-01'
nom Nom de la ressource corde

Contraintes:
Longueur minimale = 1
Longueur maximale = 1
Modèle = ^[a-zA-Z0-9_-]+$ (obligatoire)
Propriétés Propriétés associées au pool. PoolProperties
type Type de ressource 'Microsoft.Batch/batchAccounts/pools'

MountConfiguration

Nom Description Valeur
azureBlobFileSystemConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. AzureBlobFileSystemConfiguration
azureFileShareConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. AzureFileShareConfiguration
cifsMountConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. CifsMountConfiguration
nfsMountConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. NFSMountConfiguration

NetworkConfiguration

Nom Description Valeur
endpointConfiguration La configuration du point de terminaison de pool est prise en charge uniquement sur les pools avec la propriété virtualMachineConfiguration. PoolEndpointConfiguration
publicIPAddressConfiguration Cette propriété est uniquement prise en charge sur les pools avec la propriété virtualMachineConfiguration. publicIPAddressConfiguration
subnetId Le réseau virtuel doit se trouver dans la même région et dans le même abonnement que le compte Azure Batch. Le sous-réseau spécifié doit avoir suffisamment d’adresses IP libres pour prendre en charge le nombre de nœuds dans le pool. Si le sous-réseau n’a pas suffisamment d’adresses IP gratuites, le pool alloue partiellement des nœuds de calcul et une erreur de redimensionnement se produit. Le principal de service « MicrosoftAzureBatch » doit avoir le rôle « Contributeur de machine virtuelle classique » Role-Based Contrôle d’accès (RBAC) pour le réseau virtuel spécifié. Le sous-réseau spécifié doit autoriser la communication du service Azure Batch à planifier des tâches sur les nœuds de calcul. Cela peut être vérifié en vérifiant si le réseau virtuel spécifié a des groupes de sécurité réseau (NSG) associés. Si la communication aux nœuds de calcul dans le sous-réseau spécifié est refusée par un groupe de sécurité réseau, le service Batch définit l’état des nœuds de calcul sur inutilisable. Si le réseau virtuel spécifié a des groupes de sécurité réseau (NSG) associés, quelques ports système réservés doivent être activés pour la communication entrante. Pour les pools créés avec une configuration de machine virtuelle, activez les ports 29876 et 29877, ainsi que le port 22 pour Linux et le port 3389 pour Windows. Pour les pools créés avec une configuration de service cloud, activez les ports 10100, 20100 et 30100. Activez également les connexions sortantes au stockage Azure sur le port 443. Pour les pools cloudServiceConfiguration, seuls les réseaux virtuels « classiques » sont pris en charge. Pour plus d’informations, consultez : /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration corde

NetworkSecurityGroupRule

Nom Description Valeur
accès Action qui doit être effectuée pour une adresse IP, une plage de sous-réseaux ou une balise spécifiée. 'Autoriser'
'Deny' (obligatoire)
priorité Les priorités au sein d’un pool doivent être uniques et sont évaluées par ordre de priorité. Plus le nombre est faible, plus la priorité est élevée. Par exemple, les règles peuvent être spécifiées avec des numéros de commande de 150, 250 et 350. La règle avec le numéro d’ordre de 150 est prioritaire sur la règle dont l’ordre est de 250. Les priorités autorisées sont de 150 à 4096. Si des valeurs réservées ou dupliquées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
sourceAddressPrefix Les valeurs valides sont une seule adresse IP (c’est-à-dire 10.10.10.10), un sous-réseau IP (par exemple, 192.168.1.0/24), une balise par défaut ou * (pour toutes les adresses). Si d’autres valeurs sont fournies, la requête échoue avec le code d’état HTTP 400. chaîne (obligatoire)
sourcePortRanges Les valeurs valides sont « * » (pour tous les ports 0 - 65535) ou des tableaux de ports ou plages de ports (c’est-à-dire 100-200). Les ports doivent se trouver dans la plage de 0 à 65535 et les plages de ports ou ports ne peuvent pas se chevaucher. Si d’autres valeurs sont fournies, la requête échoue avec le code d’état HTTP 400. La valeur par défaut est *. string[]

NFSMountConfiguration

Nom Description Valeur
mountOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)
source URI du système de fichiers à monter. chaîne (obligatoire)

PoolEndpointConfiguration

Nom Description Valeur
inboundNatPools Le nombre maximal de pools NAT entrants par pool Batch est de 5. Si le nombre maximal de pools NAT entrants est dépassé, la requête échoue avec le code d’état HTTP 400. inboundNatPool[] (obligatoire)

PoolProperties

Nom Description Valeur
applicationLicenses La liste des licences d’application doit être un sous-ensemble de licences d’application de service Batch disponibles. Si une licence n’est pas prise en charge, la création du pool échoue. string[]
applicationPackages Les modifications apportées aux références de package d’application affectent tous les nouveaux nœuds de calcul qui rejoignent le pool, mais n’affectent pas les nœuds de calcul qui se trouvent déjà dans le pool tant qu’ils ne sont pas redémarrés ou réimages. Il existe au maximum 10 références de package d’application sur un pool donné. applicationPackageReference[]
Certificats Pour les nœuds de calcul Windows, le service Batch installe les certificats dans le magasin de certificats et l’emplacement spécifiés. Pour les nœuds de calcul Linux, les certificats sont stockés dans un répertoire à l’intérieur du répertoire de travail de la tâche et une variable d’environnement AZ_BATCH_CERTIFICATES_DIR est fournie à la tâche pour interroger cet emplacement. Pour les certificats avec visibilité de « remoteUser », un répertoire « certificats » est créé dans le répertoire de base de l’utilisateur (par exemple, /home/{user-name}/certs) et les certificats sont placés dans ce répertoire. CertificateReference[]
deploymentConfiguration L’utilisation de CloudServiceConfiguration spécifie que les nœuds doivent être créés à l’aide d’Azure Cloud Services (PaaS), tandis que VirtualMachineConfiguration utilise des machines virtuelles Azure (IaaS). DeploymentConfiguration
displayName Le nom complet n’a pas besoin d’être unique et peut contenir des caractères Unicode pouvant atteindre une longueur maximale de 1024. corde
interNodeCommunication Cela impose des restrictions sur les nœuds qui peuvent être affectés au pool. L’activation de cette valeur peut réduire le nombre de nœuds demandé à allouer dans le pool. Si elle n’est pas spécifiée, cette valeur est définie par défaut sur « Disabled ». 'Désactivé'
'Activé'
maxTasksPerNode La valeur par défaut est 1. La valeur maximale est la plus petite de 4 fois le nombre de cœurs de la vmSize du pool ou 256. Int
métadonnées Le service Batch n’affecte aucune signification aux métadonnées ; il s’agit uniquement de l’utilisation du code utilisateur. MetadataItem[]
mountConfiguration Cela prend en charge Azure Files, NFS, CIFS/SMB et Blobfuse. MountConfiguration[]
networkConfiguration Configuration réseau d’un pool. networkConfiguration
scaleSettings Définit la taille souhaitée du pool. Il peut s’agir de « fixedScale » où les targetDedicatedNodes demandés sont spécifiés, ou « autoScale » qui définit une formule qui est régulièrement réévaluée. Si cette propriété n’est pas spécifiée, le pool aura une échelle fixe avec 0 targetDedicatedNodes. scaleSettings
startTask Dans une opération PATCH (mise à jour), cette propriété peut être définie sur un objet vide pour supprimer la tâche de démarrage du pool. startTask
taskSchedulingPolicy S’il n’est pas spécifié, la valeur par défaut est répartie. TaskSchedulingPolicy
userAccounts Liste des comptes d’utilisateur à créer sur chaque nœud du pool. UserAccount[]
vmSize Pour plus d’informations sur les tailles disponibles de machines virtuelles pour les pools de services cloud (pools créés avec cloudServiceConfiguration), consultez Tailles pour les services cloud (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch prend en charge toutes les tailles de machine virtuelle cloud Services, à l’exception d’ExtraSmall. Pour plus d’informations sur les tailles de machines virtuelles disponibles pour les pools utilisant des images de la Place de marché des machines virtuelles (pools créés avec virtualMachineConfiguration) consultez Tailles pour les machines virtuelles (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) ou tailles pour les machines virtuelles (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch prend en charge toutes les tailles de machine virtuelle Azure, à l’exception des STANDARD_A0 et celles avec stockage Premium (STANDARD_GS, STANDARD_DS et série STANDARD_DSV2). corde

PublicIPAddressConfiguration

Nom Description Valeur
ipAddressIds Le nombre d’adresses IP spécifiées ici limite la taille maximale du pool - 50 nœuds dédiés ou 20 nœuds de faible priorité peuvent être alloués pour chaque adresse IP publique. Par exemple, un pool nécessitant 150 machines virtuelles dédiées aurait besoin d’au moins 3 adresses IP publiques spécifiées. Chaque élément de cette collection est de la forme : /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. string[]
disposition La valeur par défaut est BatchManaged 'BatchManaged'
'NoPublicIPAddresses'
'UserManaged'

ResourceFile

Nom Description Valeur
autoStorageContainerName Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. corde
blobPrefix La propriété est valide uniquement lorsque autoStorageContainerName ou storageContainerUrl est utilisé. Ce préfixe peut être un nom de fichier partiel ou un sous-répertoire. Si aucun préfixe n’est spécifié, tous les fichiers du conteneur sont téléchargés. corde
fileMode Cette propriété s’applique uniquement aux fichiers téléchargés sur des nœuds de calcul Linux. Il sera ignoré s’il est spécifié pour un resourceFile qui sera téléchargé sur un nœud Windows. Si cette propriété n’est pas spécifiée pour un nœud Linux, la valeur par défaut 0770 est appliquée au fichier. corde
filePath Si la propriété httpUrl est spécifiée, filePath est requis et décrit le chemin vers lequel le fichier sera téléchargé, y compris le nom de fichier. Sinon, si la propriété autoStorageContainerName ou storageContainerUrl est spécifiée, filePath est facultatif et est le répertoire dans lequel télécharger les fichiers. Dans le cas où filePath est utilisé comme répertoire, toute structure de répertoires déjà associée aux données d’entrée sera conservée dans son intégralité et ajoutée au répertoire filePath spécifié. Le chemin d’accès relatif spécifié ne peut pas décomposer le répertoire de travail de la tâche (par exemple à l’aide de '..'). corde
httpUrl Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. Si l’URL est Stockage Blob Azure, elle doit être lisible à l’aide d’un accès anonyme ; autrement dit, le service Batch ne présente aucune information d’identification lors du téléchargement de l’objet blob. Il existe deux façons d’obtenir cette URL pour un objet blob dans le stockage Azure : incluez une signature d’accès partagé (SAP) accordant des autorisations de lecture sur l’objet blob, ou définissez la liste de contrôle d’accès pour l’objet blob ou son conteneur afin d’autoriser l’accès public. corde
storageContainerUrl Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. Cette URL doit être lisible et listable à l’aide de l’accès anonyme ; autrement dit, le service Batch ne présente aucune information d’identification lors du téléchargement de l’objet blob. Il existe deux façons d’obtenir cette URL pour un objet blob dans le stockage Azure : incluez une signature d’accès partagé (SAP) accordant des autorisations de lecture et de liste sur l’objet blob, ou définissez la liste de contrôle d’accès pour l’objet blob ou son conteneur afin d’autoriser l’accès public. corde

ScaleSettings

Nom Description Valeur
mise à l’échelle automatique Cette propriété et fixedScale s’excluent mutuellement et l’une des propriétés doit être spécifiée. AutoScaleSettings
fixedScale Cette propriété et cette mise à l’échelle automatique sont mutuellement exclusives et l’une des propriétés doit être spécifiée. fixedScaleSettings

StartTask

Nom Description Valeur
commandLine La ligne de commande ne s’exécute pas sous un interpréteur de commandes et ne peut donc pas tirer parti des fonctionnalités de l’interpréteur de commandes telles que l’extension de variable d’environnement. Si vous souhaitez tirer parti de ces fonctionnalités, vous devez appeler l’interpréteur de commandes dans la ligne de commande, par exemple en utilisant « cmd /c MyCommand » dans Windows ou « /bin/sh -c MyCommand » dans Linux. Obligatoire si d’autres propriétés de startTask sont spécifiées. corde
containerSettings Lorsque cela est spécifié, tous les répertoires sont récursifs sous la AZ_BATCH_NODE_ROOT_DIR (la racine des répertoires Azure Batch sur le nœud) sont mappés dans le conteneur, toutes les variables d’environnement de tâche sont mappées dans le conteneur et la ligne de commande de tâche est exécutée dans le conteneur. TaskContainerSettings
environmentSettings Liste des paramètres de variable d’environnement pour la tâche de démarrage. EnvironmentSetting[]
maxTaskRetryCount Le service Batch retente une tâche si son code de sortie n’est pas différent de zéro. Notez que cette valeur contrôle spécifiquement le nombre de nouvelles tentatives. Le service Batch essaie la tâche une fois, puis peut réessayer jusqu’à cette limite. Par exemple, si le nombre maximal de nouvelles tentatives est égal à 3, Batch tente la tâche jusqu’à 4 fois (une tentative initiale et 3 nouvelles tentatives). Si le nombre maximal de nouvelles tentatives est égal à 0, le service Batch ne réessaye pas la tâche. Si le nombre maximal de nouvelles tentatives est -1, le service Batch retente la tâche sans limite. Int
resourceFiles Liste des fichiers que le service Batch télécharge sur le nœud de calcul avant d’exécuter la ligne de commande. ResourceFile[]
userIdentity Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche. userIdentity
waitForSuccess Si la valeur est true et que la tâche de démarrage échoue sur un nœud de calcul, le service Batch retente la tâche de démarrage jusqu’à son nombre maximal de nouvelles tentatives (maxTaskRetryCount). Si la tâche n’est toujours pas terminée après toutes les nouvelles tentatives, le service Batch marque le nœud de calcul inutilisable et ne planifie pas les tâches. Cette condition peut être détectée via l’état du nœud et la planification des détails d’erreur. Si la valeur est false, le service Batch n’attend pas la fin de la tâche de démarrage. Dans ce cas, d’autres tâches peuvent commencer à s’exécuter sur le nœud de calcul pendant que la tâche de démarrage est toujours en cours d’exécution ; et même si la tâche de démarrage échoue, les nouvelles tâches continueront d’être planifiées sur le nœud. La valeur par défaut est true. Bool

TaskContainerSettings

Nom Description Valeur
containerRunOptions Ces options supplémentaires sont fournies en tant qu’arguments de la commande « docker create », en plus de celles contrôlées par le service Batch. corde
imageName Il s’agit de la référence d’image complète, comme indiqué dans « docker pull ». Si aucune balise n’est fournie dans le cadre du nom de l’image, la balise « :latest » est utilisée comme valeur par défaut. chaîne (obligatoire)
registre Ce paramètre peut être omis s’il a déjà été fourni lors de la création du pool. ContainerRegistry
workingDirectory Indicateur permettant d’indiquer où se trouve le répertoire de travail de la tâche de conteneur. La valeur par défaut est « taskWorkingDirectory ». 'ContainerImageDefault'
'TaskWorkingDirectory'

TaskSchedulingPolicy

Nom Description Valeur
nodeFillType Comment les tâches doivent être distribuées entre les nœuds de calcul. 'Pack'
'Spread' (obligatoire)

UserAccount

Nom Description Valeur
elevationLevel nonAdmin : l’utilisateur automatique est un utilisateur standard sans accès élevé. administrateur : l’utilisateur automatique est un utilisateur disposant d’un accès élevé et fonctionne avec des autorisations d’administrateur complètes. La valeur par défaut n’est pasAdmin. 'Admin'
'NonAdmin'
linuxUserConfiguration Cette propriété est ignorée si elle est spécifiée sur un pool Windows. S’il n’est pas spécifié, l’utilisateur est créé avec les options par défaut. LinuxUserConfiguration
nom Nom du compte d’utilisateur. chaîne (obligatoire)
mot de passe Mot de passe du compte d’utilisateur. chaîne (obligatoire)
windowsUserConfiguration Cette propriété ne peut être spécifiée que si l’utilisateur se trouve sur un pool Windows. S’il n’est pas spécifié et sur un pool Windows, l’utilisateur est créé avec les options par défaut. windowsUserConfiguration

UserIdentity

Nom Description Valeur
autoUser Les propriétés userName et autoUser s’excluent mutuellement ; vous devez en spécifier un, mais pas les deux. AutoUserSpecification
nom d’utilisateur Les propriétés userName et autoUser s’excluent mutuellement ; vous devez en spécifier un, mais pas les deux. corde

VirtualMachineConfiguration

Nom Description Valeur
containerConfiguration Si elle est spécifiée, le programme d’installation est effectué sur chaque nœud du pool pour permettre l’exécution des tâches dans des conteneurs. Toutes les tâches régulières et les tâches du gestionnaire de travaux s’exécutent sur ce pool doivent spécifier la propriété containerSettings, et toutes les autres tâches peuvent la spécifier. ContainerConfiguration
dataDisks Cette propriété doit être spécifiée si les nœuds de calcul du pool doivent avoir des disques de données vides attachés. DataDisk[]
diskEncryptionConfiguration Si spécifié, le chiffrement est effectué sur chaque nœud du pool pendant l’approvisionnement de nœuds. DiskEncryptionConfiguration
imageReference Référence à une image de la Place de marché des machines virtuelles Azure ou à la ressource Image Azure d’une machine virtuelle personnalisée. Pour obtenir la liste de toutes les images Vérifiées par Azure Batch, consultez l’opération « Répertorier les références SKU de l’agent de nœud prises en charge ». ImageReference (obligatoire)
licenseType Cela s’applique uniquement aux images qui contiennent le système d’exploitation Windows et ne doivent être utilisées que lorsque vous conservez des licences locales valides pour les nœuds qui seront déployés. En cas d’omission, aucune remise de licence locale n’est appliquée. Les valeurs sont les suivantes :

Windows_Server : la licence locale est destinée à Windows Server.
Windows_Client : la licence locale est destinée au client Windows.
corde
nodeAgentSkuId L’agent de nœud Batch est un programme qui s’exécute sur chaque nœud du pool et fournit l’interface de commande et de contrôle entre le nœud et le service Batch. Il existe différentes implémentations de l’agent de nœud, appelées références SKU, pour différents systèmes d’exploitation. Vous devez spécifier une référence SKU de l’agent de nœud qui correspond à la référence d’image sélectionnée. Pour obtenir la liste des références SKU de l’agent de nœud prises en charge, ainsi que leur liste de références d’images vérifiées, consultez l’opération « Répertorier les références SKU de l’agent de nœud prises en charge ». chaîne (obligatoire)
windowsConfiguration Cette propriété ne doit pas être spécifiée si l’imageReference spécifie une image de système d’exploitation Linux. windowsConfiguration

WindowsConfiguration

Nom Description Valeur
enableAutomaticUpdates Si elle est omise, la valeur par défaut est true. Bool

WindowsUserConfiguration

Nom Description Valeur
loginMode Spécifie le mode de connexion pour l’utilisateur. La valeur par défaut pour les pools VirtualMachineConfiguration est le mode interactif et pour les pools CloudServiceConfiguration est le mode batch. 'Batch'
'Interactive'

Modèles de démarrage rapide

Les modèles de démarrage rapide suivants déploient ce type de ressource.

Modèle Description
pool Azure Batch sans adresses IP publiques

Déployer sur Azure
Ce modèle crée un pool de communications de nœud simplifié Azure Batch sans adresses IP publiques.

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource batchAccounts/pools 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.Batch/batchAccounts/pools, ajoutez le terraform suivant à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Batch/batchAccounts/pools@2020-03-01"
  name = "string"
  body = jsonencode({
    properties = {
      applicationLicenses = [
        "string"
      ]
      applicationPackages = [
        {
          id = "string"
          version = "string"
        }
      ]
      certificates = [
        {
          id = "string"
          storeLocation = "string"
          storeName = "string"
          visibility = [
            "string"
          ]
        }
      ]
      deploymentConfiguration = {
        cloudServiceConfiguration = {
          osFamily = "string"
          osVersion = "string"
        }
        virtualMachineConfiguration = {
          containerConfiguration = {
            containerImageNames = [
              "string"
            ]
            containerRegistries = [
              {
                password = "string"
                registryServer = "string"
                username = "string"
              }
            ]
            type = "DockerCompatible"
          }
          dataDisks = [
            {
              caching = "string"
              diskSizeGB = int
              lun = int
              storageAccountType = "string"
            }
          ]
          diskEncryptionConfiguration = {
            targets = [
              "string"
            ]
          }
          imageReference = {
            id = "string"
            offer = "string"
            publisher = "string"
            sku = "string"
            version = "string"
          }
          licenseType = "string"
          nodeAgentSkuId = "string"
          windowsConfiguration = {
            enableAutomaticUpdates = bool
          }
        }
      }
      displayName = "string"
      interNodeCommunication = "string"
      maxTasksPerNode = int
      metadata = [
        {
          name = "string"
          value = "string"
        }
      ]
      mountConfiguration = [
        {
          azureBlobFileSystemConfiguration = {
            accountKey = "string"
            accountName = "string"
            blobfuseOptions = "string"
            containerName = "string"
            relativeMountPath = "string"
            sasKey = "string"
          }
          azureFileShareConfiguration = {
            accountKey = "string"
            accountName = "string"
            azureFileUrl = "string"
            mountOptions = "string"
            relativeMountPath = "string"
          }
          cifsMountConfiguration = {
            mountOptions = "string"
            password = "string"
            relativeMountPath = "string"
            source = "string"
            username = "string"
          }
          nfsMountConfiguration = {
            mountOptions = "string"
            relativeMountPath = "string"
            source = "string"
          }
        }
      ]
      networkConfiguration = {
        endpointConfiguration = {
          inboundNatPools = [
            {
              backendPort = int
              frontendPortRangeEnd = int
              frontendPortRangeStart = int
              name = "string"
              networkSecurityGroupRules = [
                {
                  access = "string"
                  priority = int
                  sourceAddressPrefix = "string"
                  sourcePortRanges = [
                    "string"
                  ]
                }
              ]
              protocol = "string"
            }
          ]
        }
        publicIPAddressConfiguration = {
          ipAddressIds = [
            "string"
          ]
          provision = "string"
        }
        subnetId = "string"
      }
      scaleSettings = {
        autoScale = {
          evaluationInterval = "string"
          formula = "string"
        }
        fixedScale = {
          nodeDeallocationOption = "string"
          resizeTimeout = "string"
          targetDedicatedNodes = int
          targetLowPriorityNodes = int
        }
      }
      startTask = {
        commandLine = "string"
        containerSettings = {
          containerRunOptions = "string"
          imageName = "string"
          registry = {
            password = "string"
            registryServer = "string"
            username = "string"
          }
          workingDirectory = "string"
        }
        environmentSettings = [
          {
            name = "string"
            value = "string"
          }
        ]
        maxTaskRetryCount = int
        resourceFiles = [
          {
            autoStorageContainerName = "string"
            blobPrefix = "string"
            fileMode = "string"
            filePath = "string"
            httpUrl = "string"
            storageContainerUrl = "string"
          }
        ]
        userIdentity = {
          autoUser = {
            elevationLevel = "string"
            scope = "string"
          }
          userName = "string"
        }
        waitForSuccess = bool
      }
      taskSchedulingPolicy = {
        nodeFillType = "string"
      }
      userAccounts = [
        {
          elevationLevel = "string"
          linuxUserConfiguration = {
            gid = int
            sshPrivateKey = "string"
            uid = int
          }
          name = "string"
          password = "string"
          windowsUserConfiguration = {
            loginMode = "string"
          }
        }
      ]
      vmSize = "string"
    }
  })
}

Valeurs de propriété

ApplicationPackageReference

Nom Description Valeur
id ID du package d’application à installer. Cela doit se trouver dans le même compte batch que le pool. Il peut s’agir d’une référence à une version spécifique ou à la version par défaut s’il en existe une. chaîne (obligatoire)
Version Si cela est omis et qu’aucune version par défaut n’est spécifiée pour cette application, la requête échoue avec le code d’erreur InvalidApplicationPackageReferences. Si vous appelez directement l’API REST, le code d’état HTTP est 409. corde

AutoScaleSettings

Nom Description Valeur
evaluationInterval Si elle est omise, la valeur par défaut est de 15 minutes (PT15M). corde
formule Formule pour le nombre souhaité de nœuds de calcul dans le pool. chaîne (obligatoire)

AutoUserSpecification

Nom Description Valeur
elevationLevel La valeur par défaut n’est pasAdmin. 'Admin'
'NonAdmin'
portée La valeur par défaut est Pool. Si le pool exécute Windows, une valeur de tâche doit être spécifiée si une isolation plus stricte entre les tâches est requise. Par exemple, si la tâche mute le Registre d’une manière qui peut avoir un impact sur d’autres tâches ou si des certificats ont été spécifiés sur le pool qui ne doit pas être accessible par les tâches normales, mais qu’elles doivent être accessibles par les tâches de démarrage. 'Pool'
'Task'

AzureBlobFileSystemConfiguration

Nom Description Valeur
accountKey Cette propriété s’exclue mutuellement avec sasKey et une propriété doit être spécifiée. corde
accountName Nom du compte de stockage Azure. chaîne (obligatoire)
blobfuseOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
containerName Nom du conteneur stockage Blob Azure. chaîne (obligatoire)
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)
sasKey Cette propriété s’exclue mutuellement avec accountKey et une propriété doit être spécifiée. corde

AzureFileShareConfiguration

Nom Description Valeur
accountKey Clé du compte stockage Azure. chaîne (obligatoire)
accountName Nom du compte stockage Azure. chaîne (obligatoire)
azureFileUrl Il s’agit de la forme « https://{account}.file.core.windows.net/ ». chaîne (obligatoire)
mountOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)

CertificateReference

Nom Description Valeur
id ID complet du certificat à installer sur le pool. Cela doit se trouver dans le même compte batch que le pool. chaîne (obligatoire)
storeLocation La valeur par défaut est currentUser. Cette propriété s’applique uniquement aux pools configurés avec des nœuds Windows (c’est-à-dire créés avec cloudServiceConfiguration ou virtualMachineConfiguration à l’aide d’une référence d’image Windows). Pour les nœuds de calcul Linux, les certificats sont stockés dans un répertoire à l’intérieur du répertoire de travail de la tâche et une variable d’environnement AZ_BATCH_CERTIFICATES_DIR est fournie à la tâche pour interroger cet emplacement. Pour les certificats avec visibilité de « remoteUser », un répertoire « certificats » est créé dans le répertoire de base de l’utilisateur (par exemple, /home/{user-name}/certs) et les certificats sont placés dans ce répertoire. 'CurrentUser'
'LocalMachine'
storeName Cette propriété s’applique uniquement aux pools configurés avec des nœuds Windows (c’est-à-dire créés avec cloudServiceConfiguration ou virtualMachineConfiguration à l’aide d’une référence d’image Windows). Les noms de magasin courants sont : My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, mais tout nom de magasin personnalisé peut également être utilisé. La valeur par défaut est My. corde
visibilité Quels comptes d’utilisateur sur le nœud de calcul doivent avoir accès aux données privées du certificat. Tableau de chaînes contenant l’un des éléments suivants :
'RemoteUser'
'StartTask'
'Task'

CifsMountConfiguration

Nom Description Valeur
mountOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
mot de passe Mot de passe à utiliser pour l’authentification auprès du système de fichiers CIFS. chaîne (obligatoire)
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)
source URI du système de fichiers à monter. chaîne (obligatoire)
nom d’utilisateur Utilisateur à utiliser pour l’authentification auprès du système de fichiers CIFS. chaîne (obligatoire)

CloudServiceConfiguration

Nom Description Valeur
osFamily Les valeurs possibles sont : 2 - Famille de système d’exploitation 2, équivalente à Windows Server 2008 R2 SP1. 3 - Famille de systèmes d’exploitation 3, équivalent à Windows Server 2012. 4 - Famille de système d’exploitation 4, équivalente à Windows Server 2012 R2. 5 - Famille de systèmes d’exploitation 5, équivalent à Windows Server 2016. 6 - Famille de systèmes d’exploitation 6, équivalent à Windows Server 2019. Pour plus d’informations, consultez Versions du système d’exploitation invité Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). chaîne (obligatoire)
osVersion La valeur par défaut est * qui spécifie la dernière version du système d’exploitation pour la famille de systèmes d’exploitation spécifiée. corde

ContainerConfiguration

Nom Description Valeur
containerImageNames Il s’agit de la référence d’image complète, comme indiqué dans « docker pull ». Une image est source du registre Docker par défaut, sauf si l’image est entièrement qualifiée avec un autre registre. string[]
containerRegistries Si des images doivent être téléchargées à partir d’un registre privé qui nécessite des informations d’identification, ces informations d’identification doivent être fournies ici. ContainerRegistry[]
type Technologie de conteneur à utiliser. 'DockerCompatible' (obligatoire)

ContainerRegistry

Nom Description Valeur
mot de passe Mot de passe pour vous connecter au serveur de Registre. chaîne (obligatoire)
registryServer S’il est omis, la valeur par défaut est « docker.io ». corde
nom d’utilisateur Nom d’utilisateur à connecter au serveur de Registre. chaîne (obligatoire)

DataDisk

Nom Description Valeur
Cache Les valeurs sont les suivantes :

none : le mode de mise en cache du disque n’est pas activé.
readOnly : le mode de mise en cache du disque est en lecture seule.
readWrite : le mode de mise en cache du disque est en lecture et en écriture.

La valeur par défaut de la mise en cache n’est pas. Pour plus d’informations sur les options de mise en cache, consultez : https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
'None'
'ReadOnly'
'ReadWrite'
diskSizeGB Taille initiale du disque en Go lors de la création d’un disque de données. int (obligatoire)
lun Le lun est utilisé pour identifier de manière unique chaque disque de données. Si vous attachez plusieurs disques, chacun doit avoir un lun distinct. int (obligatoire)
storageAccountType S’il est omis, la valeur par défaut est « Standard_LRS ». Les valeurs sont les suivantes :

Standard_LRS : le disque de données doit utiliser un stockage standard localement redondant.
Premium_LRS : le disque de données doit utiliser un stockage premium localement redondant.
'Premium_LRS'
'Standard_LRS'

DeploymentConfiguration

Nom Description Valeur
cloudServiceConfiguration Cette propriété et virtualMachineConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée. Cette propriété ne peut pas être spécifiée si le compte Batch a été créé avec sa propriété poolAllocationMode définie sur « UserSubscription ». cloudServiceConfiguration
virtualMachineConfiguration Cette propriété et cloudServiceConfiguration s’excluent mutuellement et l’une des propriétés doit être spécifiée. VirtualMachineConfiguration

DiskEncryptionConfiguration

Nom Description Valeur
Cibles Sur le pool Linux, seul « TemporaryDisk » est pris en charge ; sur le pool Windows, « OsDisk » et « TemporaryDisk » doivent être spécifiés. Tableau de chaînes contenant l’un des éléments suivants :
'OsDisk'
'TemporaryDisk'

EnvironmentSetting

Nom Description Valeur
nom Nom de la variable d’environnement. chaîne (obligatoire)
valeur Valeur de la variable d’environnement. corde

FixedScaleSettings

Nom Description Valeur
nodeDeallocationOption Si elle est omise, la valeur par défaut est Requeue. 'Requeue'
'RetainedData'
'TaskCompletion'
'Terminate'
resizeTimeout La valeur par défaut est de 15 minutes. Les valeurs de délai d’expiration utilisent le format ISO 8601. Par exemple, utilisez PT10M pendant 10 minutes. La valeur minimale est de 5 minutes. Si vous spécifiez une valeur inférieure à 5 minutes, le service Batch rejette la demande avec une erreur ; si vous appelez directement l’API REST, le code d’état HTTP est 400 (requête incorrecte). corde
targetDedicatedNodes Au moins un des targetDedicatedNodes, targetLowPriorityNodes doit être défini. Int
targetLowPriorityNodes Au moins un des targetDedicatedNodes, targetLowPriorityNodes doit être défini. Int

ImageReference

Nom Description Valeur
id Cette propriété s’exclue mutuellement avec d’autres propriétés. L’image Shared Image Gallery doit avoir des réplicas dans la même région que le compte Azure Batch. Pour plus d’informations sur les paramètres de pare-feu de l’agent de nœud Batch pour communiquer avec le service Batch, consultez /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. corde
offrir Par exemple, UbuntuServer ou WindowsServer. corde
éditeur Par exemple, Canonical ou MicrosoftWindowsServer. corde
Sku Par exemple, 18.04-LTS ou 2019-Datacenter. corde
Version Vous pouvez spécifier la valeur « latest » pour sélectionner la dernière version d’une image. S’il est omis, la valeur par défaut est « latest ». corde

InboundNatPool

Nom Description Valeur
backendPort Cela doit être unique dans un pool Batch. Les valeurs acceptables sont comprises entre 1 et 65535, à l’exception de 22, 3389, 29876 et 29877, car elles sont réservées. Si des valeurs réservées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
frontendPortRangeEnd Les valeurs acceptables sont comprises entre 1 et 65534, à l’exception des ports compris entre 5 000 et 55 000, qui sont réservés par le service Batch. Toutes les plages d’un pool doivent être distinctes et ne peuvent pas se chevaucher. Si des valeurs réservées ou superposées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
frontendPortRangeStart Les valeurs acceptables sont comprises entre 1 et 65534, à l’exception des ports compris entre 50000 et 55000, qui sont réservés. Toutes les plages d’un pool doivent être distinctes et ne peuvent pas se chevaucher. Si des valeurs réservées ou superposées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
nom Le nom doit être unique dans un pool Batch, peut contenir des lettres, des chiffres, des traits de soulignement, des points et des traits d’union. Les noms doivent commencer par une lettre ou un nombre, doivent se terminer par une lettre, un nombre ou un trait de soulignement, et ne peuvent pas dépasser 77 caractères. Si des valeurs non valides sont fournies, la requête échoue avec le code d’état HTTP 400. chaîne (obligatoire)
networkSecurityGroupRules Le nombre maximal de règles qui peuvent être spécifiées sur tous les points de terminaison d’un pool Batch est de 25. Si aucune règle de groupe de sécurité réseau n’est spécifiée, une règle par défaut est créée pour autoriser l’accès entrant au backendPort spécifié. Si le nombre maximal de règles de groupe de sécurité réseau est dépassé, la requête échoue avec le code d’état HTTP 400. NetworkSecurityGroupRule[]
protocole Protocole du point de terminaison. 'TCP'
'UDP' (obligatoire)

LinuxUserConfiguration

Nom Description Valeur
Gid Les propriétés uid et gid doivent être spécifiées ensemble ou pas du tout. Si le système d’exploitation sous-jacent n’est pas spécifié, le gid est sélectionné. Int
sshPrivateKey La clé privée ne doit pas être protégée par mot de passe. La clé privée est utilisée pour configurer automatiquement l’authentification basée sur une clé asymétrique pour SSH entre les nœuds d’un pool Linux lorsque la propriété enableInterNodeCommunication du pool est true (elle est ignorée si enableInterNodeCommunication est false). Pour ce faire, placez la paire de clés dans le répertoire .ssh de l’utilisateur. S’il n’est pas spécifié, ssh sans mot de passe n’est pas configuré entre les nœuds (aucune modification du répertoire .ssh de l’utilisateur est effectuée). corde
Uid Les propriétés uid et gid doivent être spécifiées ensemble ou pas du tout. S’il n’est pas spécifié, le système d’exploitation sous-jacent sélectionne l’interface utilisateur. Int

MetadataItem

Nom Description Valeur
nom Nom de l’élément de métadonnées. chaîne (obligatoire)
valeur Valeur de l’élément de métadonnées. chaîne (obligatoire)

Microsoft.Batch/batchAccounts/pools

Nom Description Valeur
nom Nom de la ressource corde

Contraintes:
Longueur minimale = 1
Longueur maximale = 1
Modèle = ^[a-zA-Z0-9_-]+$ (obligatoire)
parent_id ID de la ressource qui est le parent de cette ressource. ID de ressource de type : batchAccounts
Propriétés Propriétés associées au pool. PoolProperties
type Type de ressource « Microsoft.Batch/batchAccounts/pools@2020-03-01 »

MountConfiguration

Nom Description Valeur
azureBlobFileSystemConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. AzureBlobFileSystemConfiguration
azureFileShareConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. AzureFileShareConfiguration
cifsMountConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. CifsMountConfiguration
nfsMountConfiguration Cette propriété s’exclue mutuellement avec toutes les autres propriétés. NFSMountConfiguration

NetworkConfiguration

Nom Description Valeur
endpointConfiguration La configuration du point de terminaison de pool est prise en charge uniquement sur les pools avec la propriété virtualMachineConfiguration. PoolEndpointConfiguration
publicIPAddressConfiguration Cette propriété est uniquement prise en charge sur les pools avec la propriété virtualMachineConfiguration. publicIPAddressConfiguration
subnetId Le réseau virtuel doit se trouver dans la même région et dans le même abonnement que le compte Azure Batch. Le sous-réseau spécifié doit avoir suffisamment d’adresses IP libres pour prendre en charge le nombre de nœuds dans le pool. Si le sous-réseau n’a pas suffisamment d’adresses IP gratuites, le pool alloue partiellement des nœuds de calcul et une erreur de redimensionnement se produit. Le principal de service « MicrosoftAzureBatch » doit avoir le rôle « Contributeur de machine virtuelle classique » Role-Based Contrôle d’accès (RBAC) pour le réseau virtuel spécifié. Le sous-réseau spécifié doit autoriser la communication du service Azure Batch à planifier des tâches sur les nœuds de calcul. Cela peut être vérifié en vérifiant si le réseau virtuel spécifié a des groupes de sécurité réseau (NSG) associés. Si la communication aux nœuds de calcul dans le sous-réseau spécifié est refusée par un groupe de sécurité réseau, le service Batch définit l’état des nœuds de calcul sur inutilisable. Si le réseau virtuel spécifié a des groupes de sécurité réseau (NSG) associés, quelques ports système réservés doivent être activés pour la communication entrante. Pour les pools créés avec une configuration de machine virtuelle, activez les ports 29876 et 29877, ainsi que le port 22 pour Linux et le port 3389 pour Windows. Pour les pools créés avec une configuration de service cloud, activez les ports 10100, 20100 et 30100. Activez également les connexions sortantes au stockage Azure sur le port 443. Pour les pools cloudServiceConfiguration, seuls les réseaux virtuels « classiques » sont pris en charge. Pour plus d’informations, consultez : /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration corde

NetworkSecurityGroupRule

Nom Description Valeur
accès Action qui doit être effectuée pour une adresse IP, une plage de sous-réseaux ou une balise spécifiée. 'Autoriser'
'Deny' (obligatoire)
priorité Les priorités au sein d’un pool doivent être uniques et sont évaluées par ordre de priorité. Plus le nombre est faible, plus la priorité est élevée. Par exemple, les règles peuvent être spécifiées avec des numéros de commande de 150, 250 et 350. La règle avec le numéro d’ordre de 150 est prioritaire sur la règle dont l’ordre est de 250. Les priorités autorisées sont de 150 à 4096. Si des valeurs réservées ou dupliquées sont fournies, la requête échoue avec le code d’état HTTP 400. int (obligatoire)
sourceAddressPrefix Les valeurs valides sont une seule adresse IP (c’est-à-dire 10.10.10.10), un sous-réseau IP (par exemple, 192.168.1.0/24), une balise par défaut ou * (pour toutes les adresses). Si d’autres valeurs sont fournies, la requête échoue avec le code d’état HTTP 400. chaîne (obligatoire)
sourcePortRanges Les valeurs valides sont « * » (pour tous les ports 0 - 65535) ou des tableaux de ports ou plages de ports (c’est-à-dire 100-200). Les ports doivent se trouver dans la plage de 0 à 65535 et les plages de ports ou ports ne peuvent pas se chevaucher. Si d’autres valeurs sont fournies, la requête échoue avec le code d’état HTTP 400. La valeur par défaut est *. string[]

NFSMountConfiguration

Nom Description Valeur
mountOptions Il s’agit des options « net use » dans les options Windows et « mount » dans Linux. corde
relativeMountPath Tous les systèmes de fichiers sont montés par rapport au répertoire de montage Batch, accessible via la variable d’environnement AZ_BATCH_NODE_MOUNTS_DIR. chaîne (obligatoire)
source URI du système de fichiers à monter. chaîne (obligatoire)

PoolEndpointConfiguration

Nom Description Valeur
inboundNatPools Le nombre maximal de pools NAT entrants par pool Batch est de 5. Si le nombre maximal de pools NAT entrants est dépassé, la requête échoue avec le code d’état HTTP 400. inboundNatPool[] (obligatoire)

PoolProperties

Nom Description Valeur
applicationLicenses La liste des licences d’application doit être un sous-ensemble de licences d’application de service Batch disponibles. Si une licence n’est pas prise en charge, la création du pool échoue. string[]
applicationPackages Les modifications apportées aux références de package d’application affectent tous les nouveaux nœuds de calcul qui rejoignent le pool, mais n’affectent pas les nœuds de calcul qui se trouvent déjà dans le pool tant qu’ils ne sont pas redémarrés ou réimages. Il existe au maximum 10 références de package d’application sur un pool donné. applicationPackageReference[]
Certificats Pour les nœuds de calcul Windows, le service Batch installe les certificats dans le magasin de certificats et l’emplacement spécifiés. Pour les nœuds de calcul Linux, les certificats sont stockés dans un répertoire à l’intérieur du répertoire de travail de la tâche et une variable d’environnement AZ_BATCH_CERTIFICATES_DIR est fournie à la tâche pour interroger cet emplacement. Pour les certificats avec visibilité de « remoteUser », un répertoire « certificats » est créé dans le répertoire de base de l’utilisateur (par exemple, /home/{user-name}/certs) et les certificats sont placés dans ce répertoire. CertificateReference[]
deploymentConfiguration L’utilisation de CloudServiceConfiguration spécifie que les nœuds doivent être créés à l’aide d’Azure Cloud Services (PaaS), tandis que VirtualMachineConfiguration utilise des machines virtuelles Azure (IaaS). DeploymentConfiguration
displayName Le nom complet n’a pas besoin d’être unique et peut contenir des caractères Unicode pouvant atteindre une longueur maximale de 1024. corde
interNodeCommunication Cela impose des restrictions sur les nœuds qui peuvent être affectés au pool. L’activation de cette valeur peut réduire le nombre de nœuds demandé à allouer dans le pool. Si elle n’est pas spécifiée, cette valeur est définie par défaut sur « Disabled ». 'Désactivé'
'Activé'
maxTasksPerNode La valeur par défaut est 1. La valeur maximale est la plus petite de 4 fois le nombre de cœurs de la vmSize du pool ou 256. Int
métadonnées Le service Batch n’affecte aucune signification aux métadonnées ; il s’agit uniquement de l’utilisation du code utilisateur. MetadataItem[]
mountConfiguration Cela prend en charge Azure Files, NFS, CIFS/SMB et Blobfuse. MountConfiguration[]
networkConfiguration Configuration réseau d’un pool. networkConfiguration
scaleSettings Définit la taille souhaitée du pool. Il peut s’agir de « fixedScale » où les targetDedicatedNodes demandés sont spécifiés, ou « autoScale » qui définit une formule qui est régulièrement réévaluée. Si cette propriété n’est pas spécifiée, le pool aura une échelle fixe avec 0 targetDedicatedNodes. scaleSettings
startTask Dans une opération PATCH (mise à jour), cette propriété peut être définie sur un objet vide pour supprimer la tâche de démarrage du pool. startTask
taskSchedulingPolicy S’il n’est pas spécifié, la valeur par défaut est répartie. TaskSchedulingPolicy
userAccounts Liste des comptes d’utilisateur à créer sur chaque nœud du pool. UserAccount[]
vmSize Pour plus d’informations sur les tailles disponibles de machines virtuelles pour les pools de services cloud (pools créés avec cloudServiceConfiguration), consultez Tailles pour les services cloud (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch prend en charge toutes les tailles de machine virtuelle cloud Services, à l’exception d’ExtraSmall. Pour plus d’informations sur les tailles de machines virtuelles disponibles pour les pools utilisant des images de la Place de marché des machines virtuelles (pools créés avec virtualMachineConfiguration) consultez Tailles pour les machines virtuelles (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) ou tailles pour les machines virtuelles (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch prend en charge toutes les tailles de machine virtuelle Azure, à l’exception des STANDARD_A0 et celles avec stockage Premium (STANDARD_GS, STANDARD_DS et série STANDARD_DSV2). corde

PublicIPAddressConfiguration

Nom Description Valeur
ipAddressIds Le nombre d’adresses IP spécifiées ici limite la taille maximale du pool - 50 nœuds dédiés ou 20 nœuds de faible priorité peuvent être alloués pour chaque adresse IP publique. Par exemple, un pool nécessitant 150 machines virtuelles dédiées aurait besoin d’au moins 3 adresses IP publiques spécifiées. Chaque élément de cette collection est de la forme : /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. string[]
disposition La valeur par défaut est BatchManaged 'BatchManaged'
'NoPublicIPAddresses'
'UserManaged'

ResourceFile

Nom Description Valeur
autoStorageContainerName Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. corde
blobPrefix La propriété est valide uniquement lorsque autoStorageContainerName ou storageContainerUrl est utilisé. Ce préfixe peut être un nom de fichier partiel ou un sous-répertoire. Si aucun préfixe n’est spécifié, tous les fichiers du conteneur sont téléchargés. corde
fileMode Cette propriété s’applique uniquement aux fichiers téléchargés sur des nœuds de calcul Linux. Il sera ignoré s’il est spécifié pour un resourceFile qui sera téléchargé sur un nœud Windows. Si cette propriété n’est pas spécifiée pour un nœud Linux, la valeur par défaut 0770 est appliquée au fichier. corde
filePath Si la propriété httpUrl est spécifiée, filePath est requis et décrit le chemin vers lequel le fichier sera téléchargé, y compris le nom de fichier. Sinon, si la propriété autoStorageContainerName ou storageContainerUrl est spécifiée, filePath est facultatif et est le répertoire dans lequel télécharger les fichiers. Dans le cas où filePath est utilisé comme répertoire, toute structure de répertoires déjà associée aux données d’entrée sera conservée dans son intégralité et ajoutée au répertoire filePath spécifié. Le chemin d’accès relatif spécifié ne peut pas décomposer le répertoire de travail de la tâche (par exemple à l’aide de '..'). corde
httpUrl Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. Si l’URL est Stockage Blob Azure, elle doit être lisible à l’aide d’un accès anonyme ; autrement dit, le service Batch ne présente aucune information d’identification lors du téléchargement de l’objet blob. Il existe deux façons d’obtenir cette URL pour un objet blob dans le stockage Azure : incluez une signature d’accès partagé (SAP) accordant des autorisations de lecture sur l’objet blob, ou définissez la liste de contrôle d’accès pour l’objet blob ou son conteneur afin d’autoriser l’accès public. corde
storageContainerUrl Les propriétés autoStorageContainerName, storageContainerUrl et httpUrl s’excluent mutuellement et l’une d’elles doit être spécifiée. Cette URL doit être lisible et listable à l’aide de l’accès anonyme ; autrement dit, le service Batch ne présente aucune information d’identification lors du téléchargement de l’objet blob. Il existe deux façons d’obtenir cette URL pour un objet blob dans le stockage Azure : incluez une signature d’accès partagé (SAP) accordant des autorisations de lecture et de liste sur l’objet blob, ou définissez la liste de contrôle d’accès pour l’objet blob ou son conteneur afin d’autoriser l’accès public. corde

ScaleSettings

Nom Description Valeur
mise à l’échelle automatique Cette propriété et fixedScale s’excluent mutuellement et l’une des propriétés doit être spécifiée. AutoScaleSettings
fixedScale Cette propriété et cette mise à l’échelle automatique sont mutuellement exclusives et l’une des propriétés doit être spécifiée. fixedScaleSettings

StartTask

Nom Description Valeur
commandLine La ligne de commande ne s’exécute pas sous un interpréteur de commandes et ne peut donc pas tirer parti des fonctionnalités de l’interpréteur de commandes telles que l’extension de variable d’environnement. Si vous souhaitez tirer parti de ces fonctionnalités, vous devez appeler l’interpréteur de commandes dans la ligne de commande, par exemple en utilisant « cmd /c MyCommand » dans Windows ou « /bin/sh -c MyCommand » dans Linux. Obligatoire si d’autres propriétés de startTask sont spécifiées. corde
containerSettings Lorsque cela est spécifié, tous les répertoires sont récursifs sous la AZ_BATCH_NODE_ROOT_DIR (la racine des répertoires Azure Batch sur le nœud) sont mappés dans le conteneur, toutes les variables d’environnement de tâche sont mappées dans le conteneur et la ligne de commande de tâche est exécutée dans le conteneur. TaskContainerSettings
environmentSettings Liste des paramètres de variable d’environnement pour la tâche de démarrage. EnvironmentSetting[]
maxTaskRetryCount Le service Batch retente une tâche si son code de sortie n’est pas différent de zéro. Notez que cette valeur contrôle spécifiquement le nombre de nouvelles tentatives. Le service Batch essaie la tâche une fois, puis peut réessayer jusqu’à cette limite. Par exemple, si le nombre maximal de nouvelles tentatives est égal à 3, Batch tente la tâche jusqu’à 4 fois (une tentative initiale et 3 nouvelles tentatives). Si le nombre maximal de nouvelles tentatives est égal à 0, le service Batch ne réessaye pas la tâche. Si le nombre maximal de nouvelles tentatives est -1, le service Batch retente la tâche sans limite. Int
resourceFiles Liste des fichiers que le service Batch télécharge sur le nœud de calcul avant d’exécuter la ligne de commande. ResourceFile[]
userIdentity Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche. userIdentity
waitForSuccess Si la valeur est true et que la tâche de démarrage échoue sur un nœud de calcul, le service Batch retente la tâche de démarrage jusqu’à son nombre maximal de nouvelles tentatives (maxTaskRetryCount). Si la tâche n’est toujours pas terminée après toutes les nouvelles tentatives, le service Batch marque le nœud de calcul inutilisable et ne planifie pas les tâches. Cette condition peut être détectée via l’état du nœud et la planification des détails d’erreur. Si la valeur est false, le service Batch n’attend pas la fin de la tâche de démarrage. Dans ce cas, d’autres tâches peuvent commencer à s’exécuter sur le nœud de calcul pendant que la tâche de démarrage est toujours en cours d’exécution ; et même si la tâche de démarrage échoue, les nouvelles tâches continueront d’être planifiées sur le nœud. La valeur par défaut est true. Bool

TaskContainerSettings

Nom Description Valeur
containerRunOptions Ces options supplémentaires sont fournies en tant qu’arguments de la commande « docker create », en plus de celles contrôlées par le service Batch. corde
imageName Il s’agit de la référence d’image complète, comme indiqué dans « docker pull ». Si aucune balise n’est fournie dans le cadre du nom de l’image, la balise « :latest » est utilisée comme valeur par défaut. chaîne (obligatoire)
registre Ce paramètre peut être omis s’il a déjà été fourni lors de la création du pool. ContainerRegistry
workingDirectory Indicateur permettant d’indiquer où se trouve le répertoire de travail de la tâche de conteneur. La valeur par défaut est « taskWorkingDirectory ». 'ContainerImageDefault'
'TaskWorkingDirectory'

TaskSchedulingPolicy

Nom Description Valeur
nodeFillType Comment les tâches doivent être distribuées entre les nœuds de calcul. 'Pack'
'Spread' (obligatoire)

UserAccount

Nom Description Valeur
elevationLevel nonAdmin : l’utilisateur automatique est un utilisateur standard sans accès élevé. administrateur : l’utilisateur automatique est un utilisateur disposant d’un accès élevé et fonctionne avec des autorisations d’administrateur complètes. La valeur par défaut n’est pasAdmin. 'Admin'
'NonAdmin'
linuxUserConfiguration Cette propriété est ignorée si elle est spécifiée sur un pool Windows. S’il n’est pas spécifié, l’utilisateur est créé avec les options par défaut. LinuxUserConfiguration
nom Nom du compte d’utilisateur. chaîne (obligatoire)
mot de passe Mot de passe du compte d’utilisateur. chaîne (obligatoire)
windowsUserConfiguration Cette propriété ne peut être spécifiée que si l’utilisateur se trouve sur un pool Windows. S’il n’est pas spécifié et sur un pool Windows, l’utilisateur est créé avec les options par défaut. windowsUserConfiguration

UserIdentity

Nom Description Valeur
autoUser Les propriétés userName et autoUser s’excluent mutuellement ; vous devez en spécifier un, mais pas les deux. AutoUserSpecification
nom d’utilisateur Les propriétés userName et autoUser s’excluent mutuellement ; vous devez en spécifier un, mais pas les deux. corde

VirtualMachineConfiguration

Nom Description Valeur
containerConfiguration Si elle est spécifiée, le programme d’installation est effectué sur chaque nœud du pool pour permettre l’exécution des tâches dans des conteneurs. Toutes les tâches régulières et les tâches du gestionnaire de travaux s’exécutent sur ce pool doivent spécifier la propriété containerSettings, et toutes les autres tâches peuvent la spécifier. ContainerConfiguration
dataDisks Cette propriété doit être spécifiée si les nœuds de calcul du pool doivent avoir des disques de données vides attachés. DataDisk[]
diskEncryptionConfiguration Si spécifié, le chiffrement est effectué sur chaque nœud du pool pendant l’approvisionnement de nœuds. DiskEncryptionConfiguration
imageReference Référence à une image de la Place de marché des machines virtuelles Azure ou à la ressource Image Azure d’une machine virtuelle personnalisée. Pour obtenir la liste de toutes les images Vérifiées par Azure Batch, consultez l’opération « Répertorier les références SKU de l’agent de nœud prises en charge ». ImageReference (obligatoire)
licenseType Cela s’applique uniquement aux images qui contiennent le système d’exploitation Windows et ne doivent être utilisées que lorsque vous conservez des licences locales valides pour les nœuds qui seront déployés. En cas d’omission, aucune remise de licence locale n’est appliquée. Les valeurs sont les suivantes :

Windows_Server : la licence locale est destinée à Windows Server.
Windows_Client : la licence locale est destinée au client Windows.
corde
nodeAgentSkuId L’agent de nœud Batch est un programme qui s’exécute sur chaque nœud du pool et fournit l’interface de commande et de contrôle entre le nœud et le service Batch. Il existe différentes implémentations de l’agent de nœud, appelées références SKU, pour différents systèmes d’exploitation. Vous devez spécifier une référence SKU de l’agent de nœud qui correspond à la référence d’image sélectionnée. Pour obtenir la liste des références SKU de l’agent de nœud prises en charge, ainsi que leur liste de références d’images vérifiées, consultez l’opération « Répertorier les références SKU de l’agent de nœud prises en charge ». chaîne (obligatoire)
windowsConfiguration Cette propriété ne doit pas être spécifiée si l’imageReference spécifie une image de système d’exploitation Linux. windowsConfiguration

WindowsConfiguration

Nom Description Valeur
enableAutomaticUpdates Si elle est omise, la valeur par défaut est true. Bool

WindowsUserConfiguration

Nom Description Valeur
loginMode Spécifie le mode de connexion pour l’utilisateur. La valeur par défaut pour les pools VirtualMachineConfiguration est le mode interactif et pour les pools CloudServiceConfiguration est le mode batch. 'Batch'
'Interactive'