Compartir a través de


Microsoft.Batch batchAccounts/pools 2018-12-01

Definición de recursos de Bicep

El tipo de recurso batchAccounts/pools se puede implementar con operaciones destinadas a:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.Batch/batchAccounts/pools, agregue el siguiente bicep a la plantilla.

resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2018-12-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'
          }
        ]
        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'
      }
    ]
    networkConfiguration: {
      endpointConfiguration: {
        inboundNatPools: [
          {
            backendPort: int
            frontendPortRangeEnd: int
            frontendPortRangeStart: int
            name: 'string'
            networkSecurityGroupRules: [
              {
                access: 'string'
                priority: int
                sourceAddressPrefix: 'string'
              }
            ]
            protocol: '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'
        }
      }
      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'
  }
}

Valores de propiedad

ApplicationPackageReference

Nombre Descripción Valor
identificación Identificador del paquete de aplicación que se va a instalar. Debe estar dentro de la misma cuenta por lotes que el grupo. Puede ser una referencia a una versión específica o a la versión predeterminada si existe una. string (obligatorio)
Versión Si se omite y no se especifica ninguna versión predeterminada para esta aplicación, se produce un error en la solicitud con el código de error InvalidApplicationPackageReferences. Si llama directamente a la API REST, el código de estado HTTP es 409. cuerda

AutoScaleSettings

Nombre Descripción Valor
evaluationInterval Si se omite, el valor predeterminado es 15 minutos (PT15M). cuerda
fórmula Fórmula para el número deseado de nodos de proceso en el grupo. string (obligatorio)

AutoUserSpecification

Nombre Descripción Valor
elevationLevel nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. 'Admin'
'NonAdmin'
alcance El valor predeterminado es task. 'Pool'
'Tarea'

CertificateReference

Nombre Descripción Valor
identificación Identificador completo del certificado que se va a instalar en el grupo. Debe estar dentro de la misma cuenta por lotes que el grupo. string (obligatorio)
storeLocation El valor predeterminado es currentUser. Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. 'CurrentUser'
"LocalMachine"
storeName Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). Los nombres de almacén comunes incluyen: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, pero también se puede usar cualquier nombre de almacén personalizado. El valor predeterminado es My. cuerda
visibilidad Qué cuentas de usuario del nodo de proceso deben tener acceso a los datos privados del certificado. Matriz de cadenas que contiene cualquiera de:
'RemoteUser'
'StartTask'
'Tarea'

CloudServiceConfiguration

Nombre Descripción Valor
osFamily Los valores posibles son: 2 - Familia de so 2, equivalente a Windows Server 2008 R2 SP1. 3 - Familia de so 3, equivalente a Windows Server 2012. 4 - Familia de so 4, equivalente a Windows Server 2012 R2. 5 - Familia de so 5, equivalente a Windows Server 2016. Para más información, consulte Versiones del sistema operativo invitado de Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). string (obligatorio)
osVersion El valor predeterminado es * que especifica la versión más reciente del sistema operativo para la familia de sistema operativo especificada. cuerda

ContainerConfiguration

Nombre Descripción Valor
containerImageNames Esta es la referencia de imagen completa, como se especificaría en "docker pull". Se generará una imagen del registro de Docker predeterminado a menos que la imagen esté completa con un registro alternativo. string[]
containerRegistries Si se deben descargar imágenes de un registro privado que requiera credenciales, esas credenciales deben proporcionarse aquí. containerRegistry[]
tipo Tecnología de contenedor que se va a usar. 'DockerCompatible' (obligatorio)

ContainerRegistry

Nombre Descripción Valor
contraseña Contraseña que se va a iniciar sesión en el servidor del Registro. string (obligatorio)
RegistryServer Si se omite, el valor predeterminado es "docker.io". cuerda
nombre de usuario Nombre de usuario que se va a iniciar sesión en el servidor del Registro. string (obligatorio)

DataDisk

Nombre Descripción Valor
Caché Los valores son:

none: el modo de almacenamiento en caché del disco no está habilitado.
readOnly: el modo de almacenamiento en caché del disco es de solo lectura.
readWrite: el modo de almacenamiento en caché del disco es de lectura y escritura.

El valor predeterminado para el almacenamiento en caché no es ninguno. Para obtener información sobre las opciones de almacenamiento en caché, consulte: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
'Ninguno'
'ReadOnly'
"ReadWrite"
diskSizeGB Tamaño de disco inicial en GB al crear un nuevo disco de datos. int (obligatorio)
Lun El lun se usa para identificar de forma única cada disco de datos. Si conecta varios discos, cada uno debe tener un lun distinto. int (obligatorio)
storageAccountType Si se omite, el valor predeterminado es "Standard_LRS". Los valores son:

Standard_LRS: el disco de datos debe usar el almacenamiento con redundancia local estándar.
Premium_LRS: el disco de datos debe usar el almacenamiento con redundancia local Premium.
"Premium_LRS"
"Standard_LRS"

DeploymentConfiguration

Nombre Descripción Valor
cloudServiceConfiguration Esta propiedad y virtualMachineConfiguration son mutuamente excluyentes y se debe especificar una de las propiedades. Esta propiedad no se puede especificar si la cuenta de Batch se creó con su propiedad poolAllocationMode establecida en "UserSubscription". CloudServiceConfiguration
virtualMachineConfiguration Esta propiedad y cloudServiceConfiguration son mutuamente excluyentes y se debe especificar una de las propiedades. VirtualMachineConfiguration

EnvironmentSetting

Nombre Descripción Valor
nombre Nombre de la variable de entorno. string (obligatorio)
valor Valor de la variable de entorno. cuerda

FixedScaleSettings

Nombre Descripción Valor
nodeDeallocationOption Si se omite, el valor predeterminado es Requeue. 'Requeue'
'RetainedData'
'TaskCompletion'
'Terminate'
resizeTimeout El valor predeterminado es de 15 minutos. Los valores de tiempo de espera usan el formato ISO 8601. Por ejemplo, use PT10M durante 10 minutos. El valor mínimo es de 5 minutos. Si especifica un valor inferior a 5 minutos, el servicio Batch rechaza la solicitud con un error; Si llama directamente a la API REST, el código de estado HTTP es 400 (solicitud incorrecta). cuerda
targetDedicatedNodes Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. Int
targetLowPriorityNodes Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. Int

ImageReference

Nombre Descripción Valor
identificación Esta propiedad es mutuamente excluyente con otras propiedades. La imagen de máquina virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. Para obtener información sobre la configuración del firewall para que el agente de nodo de Batch se comunique con el servicio Batch, consulte /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration . cuerda
ofrecer Por ejemplo, UbuntuServer o WindowsServer. cuerda
editor Por ejemplo, Canonical o MicrosoftWindowsServer. cuerda
Sku Por ejemplo, 14.04.0-LTS o 2012-R2-Datacenter. cuerda
Versión Se puede especificar un valor de "latest" para seleccionar la versión más reciente de una imagen. Si se omite, el valor predeterminado es "latest". cuerda

InboundNatPool

Nombre Descripción Valor
backendPort Debe ser único dentro de un grupo de Batch. Los valores aceptables están comprendidos entre 1 y 65535, excepto 22, 3389, 29876 y 29877, ya que están reservados. Si se proporcionan valores reservados, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
frontendPortRangeEnd Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados por el servicio Batch. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
frontendPortRangeStart Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
nombre El nombre debe ser único dentro de un grupo de Batch, puede contener letras, números, caracteres de subrayado, puntos y guiones. Los nombres deben comenzar con una letra o un número, deben terminar con una letra, un número o un carácter de subrayado, y no pueden superar los 77 caracteres. Si se proporcionan valores no válidos, se produce un error en la solicitud con el código de estado HTTP 400. string (obligatorio)
networkSecurityGroupRules El número máximo de reglas que se pueden especificar en todos los puntos de conexión de un grupo de Batch es 25. Si no se especifica ninguna regla de grupo de seguridad de red, se creará una regla predeterminada para permitir el acceso entrante a backendPort especificado. Si se supera el número máximo de reglas de grupo de seguridad de red, se produce un error en la solicitud con el código de estado HTTP 400. networkSecurityGroupRule[]
protocolo Protocolo del punto de conexión. 'TCP'
'UDP' (obligatorio)

LinuxUserConfiguration

Nombre Descripción Valor
Gid Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el gid. Int
sshPrivateKey La clave privada no debe estar protegida con contraseña. La clave privada se usa para configurar automáticamente la autenticación basada en claves asimétricas para SSH entre nodos de un grupo de Linux cuando la propiedad enableInterNodeCommunication del grupo es true (se omite si enableInterNodeCommunication es false). Para ello, coloca el par de claves en el directorio .ssh del usuario. Si no se especifica, SSH sin contraseña no está configurado entre nodos (no se realiza ninguna modificación del directorio .ssh del usuario). cuerda
Uid Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el uid. Int

MetadataItem

Nombre Descripción Valor
nombre Nombre del elemento de metadatos. string (obligatorio)
valor Valor del elemento de metadatos. string (obligatorio)

Microsoft.Batch/batchAccounts/pools

Nombre Descripción Valor
nombre El nombre del recurso cuerda

Restricciones:
Longitud mínima = 1
Longitud máxima = 1
Patrón = ^[a-zA-Z0-9_-]+$ (obligatorio)
padre En Bicep, puede especificar el recurso primario para un recurso secundario. Solo tiene que agregar esta propiedad cuando el recurso secundario se declara fuera del recurso primario.

Para obtener más información, consulte recurso secundario fuera del recurso primario.
Nombre simbólico del recurso de tipo: batchAccounts
Propiedades Propiedades asociadas al grupo. poolProperties de

NetworkConfiguration

Nombre Descripción Valor
endpointConfiguration La configuración del punto de conexión del grupo solo se admite en grupos con la propiedad virtualMachineConfiguration. PoolEndpointConfiguration
subnetId La red virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. La subred especificada debe tener suficientes direcciones IP libres para dar cabida al número de nodos del grupo. Si la subred no tiene suficientes direcciones IP libres, el grupo asignará parcialmente nodos de proceso y se producirá un error de cambio de tamaño. La entidad de servicio "MicrosoftAzureBatch" debe tener el rol "Colaborador de máquina virtual clásica" Role-Based Control de acceso (RBAC) para la red virtual especificada. La subred especificada debe permitir la comunicación desde el servicio Azure Batch para poder programar tareas en los nodos de proceso. Para comprobarlo, compruebe si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado. Si un NSG deniega la comunicación con los nodos de proceso de la subred especificada, el servicio Batch establecerá el estado de los nodos de proceso en inutilizable. Para los grupos creados a través de virtualMachineConfiguration, la cuenta de Batch debe tener userSubscription poolAllocationMode para poder usar una red virtual. Si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado, se deben habilitar algunos puertos del sistema reservados para la comunicación entrante. En el caso de los grupos creados con una configuración de máquina virtual, habilite los puertos 29876 y 29877, así como el puerto 22 para Linux y el puerto 3389 para Windows. En el caso de los grupos creados con una configuración de servicio en la nube, habilite los puertos 10100, 20100 y 30100. Habilite también las conexiones salientes a Azure Storage en el puerto 443. Para más información, consulte : /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration cuerda

NetworkSecurityGroupRule

Nombre Descripción Valor
acceso Acción que se debe realizar para una dirección IP, un intervalo de subred o una etiqueta especificados. 'Permitir'
'Deny' (obligatorio)
prioridad Las prioridades dentro de un grupo deben ser únicas y se evalúan en orden de prioridad. Cuanto menor sea el número, mayor será la prioridad. Por ejemplo, se podrían especificar reglas con números de orden de 150, 250 y 350. La regla con el número de orden de 150 tiene prioridad sobre la regla que tiene un orden de 250. Las prioridades permitidas son de 150 a 3500. Si se proporcionan valores reservados o duplicados, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
sourceAddressPrefix Los valores válidos son una sola dirección IP (es decir, 10.10.10.10), subred IP (es decir, 192.168.1.0/24), etiqueta predeterminada o * (para todas las direcciones). Si se proporcionan otros valores, se produce un error en la solicitud con el código de estado HTTP 400. string (obligatorio)

PoolEndpointConfiguration

Nombre Descripción Valor
inboundNatPools El número máximo de grupos NAT entrantes por grupo de Batch es 5. Si se supera el número máximo de grupos NAT de entrada, se produce un error en la solicitud con el código de estado HTTP 400. inboundNatPool[] (obligatorio)

PoolProperties

Nombre Descripción Valor
applicationLicenses La lista de licencias de aplicación debe ser un subconjunto de licencias de aplicaciones de servicio de Batch disponibles. Si se solicita una licencia que no se admite, se producirá un error en la creación del grupo. string[]
applicationPackages Los cambios en los paquetes de aplicación afectan a todos los nuevos nodos de proceso que se unen al grupo, pero no afectan a los nodos de proceso que ya están en el grupo hasta que se reinician o se vuelven a crear imágenes. ApplicationPackageReference[]
Certificados En el caso de los nodos de proceso de Windows, el servicio Batch instala los certificados en el almacén de certificados y la ubicación especificados. En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. certificateReference[]
deploymentConfiguration El uso de CloudServiceConfiguration especifica que los nodos deben crearse mediante Azure Cloud Services (PaaS), mientras que VirtualMachineConfiguration usa Azure Virtual Machines (IaaS). DeploymentConfiguration
displayName El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024. cuerda
interNodeCommunication Esto impone restricciones en las que se pueden asignar nodos al grupo. La habilitación de este valor puede reducir la posibilidad de asignar el número solicitado de nodos en el grupo. Si no se especifica, este valor tiene como valor predeterminado "Disabled". 'Deshabilitado'
'Habilitado'
maxTasksPerNode Número máximo de tareas que se pueden ejecutar simultáneamente en un único nodo de proceso del grupo. Int
metadatos El servicio Batch no asigna ningún significado a los metadatos; es únicamente para el uso del código de usuario. metadataItem[]
networkConfiguration Configuración de red de un grupo. networkConfiguration
scaleSettings Define el tamaño deseado del grupo. Esto puede ser "fixedScale" donde se especifica targetDedicatedNodes solicitado o "autoScale", que define una fórmula que se vuelve a evaluar periódicamente. Si no se especifica esta propiedad, el grupo tendrá una escala fija con 0 targetDedicatedNodes. scaleSettings
startTask En una operación PATCH (actualización), esta propiedad se puede establecer en un objeto vacío para quitar la tarea de inicio del grupo. StartTask
taskSchedulingPolicy Especifica cómo se deben distribuir las tareas entre los nodos de proceso. TaskSchedulingPolicy
userAccounts Lista de cuentas de usuario que se van a crear en cada nodo del grupo. UserAccount []
vmSize Para obtener información sobre los tamaños disponibles de las máquinas virtuales para los grupos de Cloud Services (grupos creados con cloudServiceConfiguration), consulte Tamaños de Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch admite todos los tamaños de máquina virtual de Cloud Services, excepto ExtraSmall. Para obtener información sobre los tamaños de máquina virtual disponibles para los grupos que usan imágenes de Marketplace de máquinas virtuales (grupos creados con virtualMachineConfiguration), consulte Tamaños de máquinas virtuales (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) o Tamaños de máquinas virtuales (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch admite todos los tamaños de máquina virtual de Azure, excepto STANDARD_A0 y aquellos con premium Storage (STANDARD_GS, STANDARD_DS y serie STANDARD_DSV2). cuerda

ResourceFile

Nombre Descripción Valor
autoStorageContainerName Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. cuerda
blobPrefix La propiedad solo es válida cuando se usa autoStorageContainerName o storageContainerUrl. Este prefijo puede ser un nombre de archivo parcial o un subdirectorio. Si no se especifica un prefijo, se descargarán todos los archivos del contenedor. cuerda
fileMode Esta propiedad solo se aplica a los archivos que se descargan en los nodos de proceso de Linux. Se omitirá si se especifica para un resourceFile que se descargará en un nodo de Windows. Si no se especifica esta propiedad para un nodo de Linux, se aplica un valor predeterminado de 0770 al archivo. cuerda
filePath Si se especifica la propiedad httpUrl, se requiere filePath y describe la ruta de acceso a la que se descargará el archivo, incluido el nombre de archivo. De lo contrario, si se especifica la propiedad autoStorageContainerName o storageContainerUrl, filePath es opcional y es el directorio al que descargar los archivos. En el caso de que filePath se use como directorio, cualquier estructura de directorios que ya esté asociada a los datos de entrada se conservará en su totalidad y se anexará al directorio filePath especificado. La ruta de acceso relativa especificada no puede dividirse en el directorio de trabajo de la tarea (por ejemplo, mediante '..'). cuerda
httpUrl Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Si la dirección URL es Azure Blob Storage, debe ser legible mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura en el blob o establezca la ACL para el blob o su contenedor para permitir el acceso público. cuerda
storageContainerUrl Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Esta dirección URL debe ser legible y enumerable mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura y lista en el blob, o establezca la ACL para el blob o su contenedor para permitir el acceso público. cuerda

ScaleSettings

Nombre Descripción Valor
escalado automático Esta propiedad y fixedScale son mutuamente excluyentes y se debe especificar una de las propiedades. AutoScaleSettings
fixedScale Esta propiedad y autoScale son mutuamente excluyentes y se debe especificar una de las propiedades. fixedScaleSettings

StartTask

Nombre Descripción Valor
commandLine La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Obligatorio si se especifican otras propiedades de startTask. cuerda
containerSettings Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el nodo) se asignan al contenedor, todas las variables de entorno de tareas se asignan al contenedor y la línea de comandos de la tarea se ejecuta en el contenedor. TaskContainerSettings
environmentSettings Lista de opciones de configuración de variables de entorno para la tarea de inicio. EnvironmentSetting[]
maxTaskRetryCount El servicio Batch reintenta una tarea si su código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio Batch probará la tarea una vez y, a continuación, volverá a intentarlo hasta este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no vuelve a intentar la tarea. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite. Int
resourceFiles Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. ResourceFile []
userIdentity Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea. UserIdentity de
waitForSuccess Si es true y la tarea de inicio produce un error en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su recuento máximo de reintentos (maxTaskRetryCount). Si la tarea todavía no se ha completado correctamente después de todos los reintentos, el servicio Batch marca el nodo de proceso inutilizable y no programará tareas en él. Esta condición se puede detectar mediante el estado del nodo y los detalles del error de programación. Si es false, el servicio Batch no esperará a que se complete la tarea de inicio. En este caso, otras tareas pueden empezar a ejecutarse en el nodo de proceso mientras la tarea de inicio todavía se está ejecutando; e incluso si se produce un error en la tarea de inicio, las nuevas tareas seguirán programando en el nodo. El valor predeterminado es false. Bool

TaskContainerSettings

Nombre Descripción Valor
containerRunOptions Estas opciones adicionales se proporcionan como argumentos para el comando "docker create", además de las controladas por el servicio Batch. cuerda
imageName Esta es la referencia de imagen completa, como se especificaría en "docker pull". Si no se proporciona ninguna etiqueta como parte del nombre de la imagen, la etiqueta ":latest" se usa como valor predeterminado. string (obligatorio)
registro Esta configuración se puede omitir si ya se proporcionó en la creación del grupo. containerRegistry de

TaskSchedulingPolicy

Nombre Descripción Valor
nodeFillType Cómo se deben distribuir las tareas entre nodos de proceso. 'Pack'
'Spread' (obligatorio)

UserAccount

Nombre Descripción Valor
elevationLevel nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. 'Admin'
'NonAdmin'
linuxUserConfiguration Esta propiedad se omite si se especifica en un grupo de Windows. Si no se especifica, el usuario se crea con las opciones predeterminadas. LinuxUserConfiguration
nombre Nombre de la cuenta de usuario. string (obligatorio)
contraseña Contraseña de la cuenta de usuario. string (obligatorio)
windowsUserConfiguration Esta propiedad solo se puede especificar si el usuario está en un grupo de Windows. Si no se especifica y en un grupo de Windows, el usuario se crea con las opciones predeterminadas. windowsUserConfiguration

UserIdentity

Nombre Descripción Valor
autoUser Las propiedades userName y autoUser son mutuamente excluyentes; debe especificar uno pero no ambos. AutoUserSpecification
nombre de usuario Las propiedades userName y autoUser son mutuamente excluyentes; debe especificar uno pero no ambos. cuerda

VirtualMachineConfiguration

Nombre Descripción Valor
containerConfiguration Si se especifica, la instalación se realiza en cada nodo del grupo para permitir que las tareas se ejecuten en contenedores. Todas las tareas normales y las tareas del administrador de trabajos que se ejecutan en este grupo deben especificar la propiedad containerSettings y todas las demás tareas pueden especificarla. containerConfiguration
dataDisks Esta propiedad debe especificarse si los nodos de proceso del grupo deben tener discos de datos vacíos conectados a ellos. DataDisk []
imageReference Referencia a una imagen de Marketplace de Azure Virtual Machines o al recurso De imagen de Azure de una máquina virtual personalizada. Para obtener la lista de todas las imageReferences verificadas por Azure Batch, consulte la operación "Enumeración de SKU de agente de nodo compatibles". imageReference (obligatorio)
licenseType Esto solo se aplica a las imágenes que contienen el sistema operativo Windows y solo se deben usar cuando contenga licencias locales válidas para los nodos que se implementarán. Si se omite, no se aplica ningún descuento de licencia local. Los valores son:

Windows_Server: la licencia local es para Windows Server.
Windows_Client: la licencia local es para el cliente de Windows.
cuerda
nodeAgentSkuId El agente de nodo de Batch es un programa que se ejecuta en cada nodo del grupo y proporciona la interfaz de comando y control entre el nodo y el servicio Batch. Hay diferentes implementaciones del agente de nodo, conocidas como SKU, para diferentes sistemas operativos. Debe especificar una SKU del agente de nodo que coincida con la referencia de imagen seleccionada. Para obtener la lista de SKU de agente de nodo compatibles junto con su lista de referencias de imágenes verificadas, consulte la operación "Enumerar SKU de agente de nodo compatibles". string (obligatorio)
windowsConfiguration Esta propiedad no se debe especificar si imageReference especifica una imagen del sistema operativo Linux. windowsConfiguration

WindowsConfiguration

Nombre Descripción Valor
enableAutomaticUpdates Si se omite, el valor predeterminado es true. Bool

WindowsUserConfiguration

Nombre Descripción Valor
loginMode Especifica el modo de inicio de sesión para el usuario. El valor predeterminado de los grupos de VirtualMachineConfiguration es el modo interactivo y para los grupos de CloudServiceConfiguration es el modo por lotes. 'Batch'
'Interactivo'

Ejemplos de inicio rápido

En los ejemplos de inicio rápido siguientes se implementa este tipo de recurso.

Archivo de Bicep Descripción
grupo de Azure Batch sin direcciones IP públicas Esta plantilla crea un grupo de comunicación de nodos simplificado de Azure Batch sin direcciones IP públicas.

Definición de recursos de plantilla de ARM

El tipo de recurso batchAccounts/pools se puede implementar con operaciones destinadas a:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.Batch/batchAccounts/pools, agregue el siguiente JSON a la plantilla.

{
  "type": "Microsoft.Batch/batchAccounts/pools",
  "apiVersion": "2018-12-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"
          }
        ],
        "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"
      }
    ],
    "networkConfiguration": {
      "endpointConfiguration": {
        "inboundNatPools": [
          {
            "backendPort": "int",
            "frontendPortRangeEnd": "int",
            "frontendPortRangeStart": "int",
            "name": "string",
            "networkSecurityGroupRules": [
              {
                "access": "string",
                "priority": "int",
                "sourceAddressPrefix": "string"
              }
            ],
            "protocol": "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"
        }
      },
      "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"
  }
}

Valores de propiedad

ApplicationPackageReference

Nombre Descripción Valor
identificación Identificador del paquete de aplicación que se va a instalar. Debe estar dentro de la misma cuenta por lotes que el grupo. Puede ser una referencia a una versión específica o a la versión predeterminada si existe una. string (obligatorio)
Versión Si se omite y no se especifica ninguna versión predeterminada para esta aplicación, se produce un error en la solicitud con el código de error InvalidApplicationPackageReferences. Si llama directamente a la API REST, el código de estado HTTP es 409. cuerda

AutoScaleSettings

Nombre Descripción Valor
evaluationInterval Si se omite, el valor predeterminado es 15 minutos (PT15M). cuerda
fórmula Fórmula para el número deseado de nodos de proceso en el grupo. string (obligatorio)

AutoUserSpecification

Nombre Descripción Valor
elevationLevel nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. 'Admin'
'NonAdmin'
alcance El valor predeterminado es task. 'Pool'
'Tarea'

CertificateReference

Nombre Descripción Valor
identificación Identificador completo del certificado que se va a instalar en el grupo. Debe estar dentro de la misma cuenta por lotes que el grupo. string (obligatorio)
storeLocation El valor predeterminado es currentUser. Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. 'CurrentUser'
"LocalMachine"
storeName Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). Los nombres de almacén comunes incluyen: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, pero también se puede usar cualquier nombre de almacén personalizado. El valor predeterminado es My. cuerda
visibilidad Qué cuentas de usuario del nodo de proceso deben tener acceso a los datos privados del certificado. Matriz de cadenas que contiene cualquiera de:
'RemoteUser'
'StartTask'
'Tarea'

CloudServiceConfiguration

Nombre Descripción Valor
osFamily Los valores posibles son: 2 - Familia de so 2, equivalente a Windows Server 2008 R2 SP1. 3 - Familia de so 3, equivalente a Windows Server 2012. 4 - Familia de so 4, equivalente a Windows Server 2012 R2. 5 - Familia de so 5, equivalente a Windows Server 2016. Para más información, consulte Versiones del sistema operativo invitado de Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). string (obligatorio)
osVersion El valor predeterminado es * que especifica la versión más reciente del sistema operativo para la familia de sistema operativo especificada. cuerda

ContainerConfiguration

Nombre Descripción Valor
containerImageNames Esta es la referencia de imagen completa, como se especificaría en "docker pull". Se generará una imagen del registro de Docker predeterminado a menos que la imagen esté completa con un registro alternativo. string[]
containerRegistries Si se deben descargar imágenes de un registro privado que requiera credenciales, esas credenciales deben proporcionarse aquí. containerRegistry[]
tipo Tecnología de contenedor que se va a usar. 'DockerCompatible' (obligatorio)

ContainerRegistry

Nombre Descripción Valor
contraseña Contraseña que se va a iniciar sesión en el servidor del Registro. string (obligatorio)
RegistryServer Si se omite, el valor predeterminado es "docker.io". cuerda
nombre de usuario Nombre de usuario que se va a iniciar sesión en el servidor del Registro. string (obligatorio)

DataDisk

Nombre Descripción Valor
Caché Los valores son:

none: el modo de almacenamiento en caché del disco no está habilitado.
readOnly: el modo de almacenamiento en caché del disco es de solo lectura.
readWrite: el modo de almacenamiento en caché del disco es de lectura y escritura.

El valor predeterminado para el almacenamiento en caché no es ninguno. Para obtener información sobre las opciones de almacenamiento en caché, consulte: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
'Ninguno'
'ReadOnly'
"ReadWrite"
diskSizeGB Tamaño de disco inicial en GB al crear un nuevo disco de datos. int (obligatorio)
Lun El lun se usa para identificar de forma única cada disco de datos. Si conecta varios discos, cada uno debe tener un lun distinto. int (obligatorio)
storageAccountType Si se omite, el valor predeterminado es "Standard_LRS". Los valores son:

Standard_LRS: el disco de datos debe usar el almacenamiento con redundancia local estándar.
Premium_LRS: el disco de datos debe usar el almacenamiento con redundancia local Premium.
"Premium_LRS"
"Standard_LRS"

DeploymentConfiguration

Nombre Descripción Valor
cloudServiceConfiguration Esta propiedad y virtualMachineConfiguration son mutuamente excluyentes y se debe especificar una de las propiedades. Esta propiedad no se puede especificar si la cuenta de Batch se creó con su propiedad poolAllocationMode establecida en "UserSubscription". CloudServiceConfiguration
virtualMachineConfiguration Esta propiedad y cloudServiceConfiguration son mutuamente excluyentes y se debe especificar una de las propiedades. VirtualMachineConfiguration

EnvironmentSetting

Nombre Descripción Valor
nombre Nombre de la variable de entorno. string (obligatorio)
valor Valor de la variable de entorno. cuerda

FixedScaleSettings

Nombre Descripción Valor
nodeDeallocationOption Si se omite, el valor predeterminado es Requeue. 'Requeue'
'RetainedData'
'TaskCompletion'
'Terminate'
resizeTimeout El valor predeterminado es de 15 minutos. Los valores de tiempo de espera usan el formato ISO 8601. Por ejemplo, use PT10M durante 10 minutos. El valor mínimo es de 5 minutos. Si especifica un valor inferior a 5 minutos, el servicio Batch rechaza la solicitud con un error; Si llama directamente a la API REST, el código de estado HTTP es 400 (solicitud incorrecta). cuerda
targetDedicatedNodes Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. Int
targetLowPriorityNodes Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. Int

ImageReference

Nombre Descripción Valor
identificación Esta propiedad es mutuamente excluyente con otras propiedades. La imagen de máquina virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. Para obtener información sobre la configuración del firewall para que el agente de nodo de Batch se comunique con el servicio Batch, consulte /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration . cuerda
ofrecer Por ejemplo, UbuntuServer o WindowsServer. cuerda
editor Por ejemplo, Canonical o MicrosoftWindowsServer. cuerda
Sku Por ejemplo, 14.04.0-LTS o 2012-R2-Datacenter. cuerda
Versión Se puede especificar un valor de "latest" para seleccionar la versión más reciente de una imagen. Si se omite, el valor predeterminado es "latest". cuerda

InboundNatPool

Nombre Descripción Valor
backendPort Debe ser único dentro de un grupo de Batch. Los valores aceptables están comprendidos entre 1 y 65535, excepto 22, 3389, 29876 y 29877, ya que están reservados. Si se proporcionan valores reservados, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
frontendPortRangeEnd Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados por el servicio Batch. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
frontendPortRangeStart Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
nombre El nombre debe ser único dentro de un grupo de Batch, puede contener letras, números, caracteres de subrayado, puntos y guiones. Los nombres deben comenzar con una letra o un número, deben terminar con una letra, un número o un carácter de subrayado, y no pueden superar los 77 caracteres. Si se proporcionan valores no válidos, se produce un error en la solicitud con el código de estado HTTP 400. string (obligatorio)
networkSecurityGroupRules El número máximo de reglas que se pueden especificar en todos los puntos de conexión de un grupo de Batch es 25. Si no se especifica ninguna regla de grupo de seguridad de red, se creará una regla predeterminada para permitir el acceso entrante a backendPort especificado. Si se supera el número máximo de reglas de grupo de seguridad de red, se produce un error en la solicitud con el código de estado HTTP 400. networkSecurityGroupRule[]
protocolo Protocolo del punto de conexión. 'TCP'
'UDP' (obligatorio)

LinuxUserConfiguration

Nombre Descripción Valor
Gid Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el gid. Int
sshPrivateKey La clave privada no debe estar protegida con contraseña. La clave privada se usa para configurar automáticamente la autenticación basada en claves asimétricas para SSH entre nodos de un grupo de Linux cuando la propiedad enableInterNodeCommunication del grupo es true (se omite si enableInterNodeCommunication es false). Para ello, coloca el par de claves en el directorio .ssh del usuario. Si no se especifica, SSH sin contraseña no está configurado entre nodos (no se realiza ninguna modificación del directorio .ssh del usuario). cuerda
Uid Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el uid. Int

MetadataItem

Nombre Descripción Valor
nombre Nombre del elemento de metadatos. string (obligatorio)
valor Valor del elemento de metadatos. string (obligatorio)

Microsoft.Batch/batchAccounts/pools

Nombre Descripción Valor
apiVersion La versión de api '2018-12-01'
nombre El nombre del recurso cuerda

Restricciones:
Longitud mínima = 1
Longitud máxima = 1
Patrón = ^[a-zA-Z0-9_-]+$ (obligatorio)
Propiedades Propiedades asociadas al grupo. poolProperties de
tipo El tipo de recurso "Microsoft.Batch/batchAccounts/pools"

NetworkConfiguration

Nombre Descripción Valor
endpointConfiguration La configuración del punto de conexión del grupo solo se admite en grupos con la propiedad virtualMachineConfiguration. PoolEndpointConfiguration
subnetId La red virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. La subred especificada debe tener suficientes direcciones IP libres para dar cabida al número de nodos del grupo. Si la subred no tiene suficientes direcciones IP libres, el grupo asignará parcialmente nodos de proceso y se producirá un error de cambio de tamaño. La entidad de servicio "MicrosoftAzureBatch" debe tener el rol "Colaborador de máquina virtual clásica" Role-Based Control de acceso (RBAC) para la red virtual especificada. La subred especificada debe permitir la comunicación desde el servicio Azure Batch para poder programar tareas en los nodos de proceso. Para comprobarlo, compruebe si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado. Si un NSG deniega la comunicación con los nodos de proceso de la subred especificada, el servicio Batch establecerá el estado de los nodos de proceso en inutilizable. Para los grupos creados a través de virtualMachineConfiguration, la cuenta de Batch debe tener userSubscription poolAllocationMode para poder usar una red virtual. Si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado, se deben habilitar algunos puertos del sistema reservados para la comunicación entrante. En el caso de los grupos creados con una configuración de máquina virtual, habilite los puertos 29876 y 29877, así como el puerto 22 para Linux y el puerto 3389 para Windows. En el caso de los grupos creados con una configuración de servicio en la nube, habilite los puertos 10100, 20100 y 30100. Habilite también las conexiones salientes a Azure Storage en el puerto 443. Para más información, consulte : /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration cuerda

NetworkSecurityGroupRule

Nombre Descripción Valor
acceso Acción que se debe realizar para una dirección IP, un intervalo de subred o una etiqueta especificados. 'Permitir'
'Deny' (obligatorio)
prioridad Las prioridades dentro de un grupo deben ser únicas y se evalúan en orden de prioridad. Cuanto menor sea el número, mayor será la prioridad. Por ejemplo, se podrían especificar reglas con números de orden de 150, 250 y 350. La regla con el número de orden de 150 tiene prioridad sobre la regla que tiene un orden de 250. Las prioridades permitidas son de 150 a 3500. Si se proporcionan valores reservados o duplicados, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
sourceAddressPrefix Los valores válidos son una sola dirección IP (es decir, 10.10.10.10), subred IP (es decir, 192.168.1.0/24), etiqueta predeterminada o * (para todas las direcciones). Si se proporcionan otros valores, se produce un error en la solicitud con el código de estado HTTP 400. string (obligatorio)

PoolEndpointConfiguration

Nombre Descripción Valor
inboundNatPools El número máximo de grupos NAT entrantes por grupo de Batch es 5. Si se supera el número máximo de grupos NAT de entrada, se produce un error en la solicitud con el código de estado HTTP 400. inboundNatPool[] (obligatorio)

PoolProperties

Nombre Descripción Valor
applicationLicenses La lista de licencias de aplicación debe ser un subconjunto de licencias de aplicaciones de servicio de Batch disponibles. Si se solicita una licencia que no se admite, se producirá un error en la creación del grupo. string[]
applicationPackages Los cambios en los paquetes de aplicación afectan a todos los nuevos nodos de proceso que se unen al grupo, pero no afectan a los nodos de proceso que ya están en el grupo hasta que se reinician o se vuelven a crear imágenes. ApplicationPackageReference[]
Certificados En el caso de los nodos de proceso de Windows, el servicio Batch instala los certificados en el almacén de certificados y la ubicación especificados. En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. certificateReference[]
deploymentConfiguration El uso de CloudServiceConfiguration especifica que los nodos deben crearse mediante Azure Cloud Services (PaaS), mientras que VirtualMachineConfiguration usa Azure Virtual Machines (IaaS). DeploymentConfiguration
displayName El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024. cuerda
interNodeCommunication Esto impone restricciones en las que se pueden asignar nodos al grupo. La habilitación de este valor puede reducir la posibilidad de asignar el número solicitado de nodos en el grupo. Si no se especifica, este valor tiene como valor predeterminado "Disabled". 'Deshabilitado'
'Habilitado'
maxTasksPerNode Número máximo de tareas que se pueden ejecutar simultáneamente en un único nodo de proceso del grupo. Int
metadatos El servicio Batch no asigna ningún significado a los metadatos; es únicamente para el uso del código de usuario. metadataItem[]
networkConfiguration Configuración de red de un grupo. networkConfiguration
scaleSettings Define el tamaño deseado del grupo. Esto puede ser "fixedScale" donde se especifica targetDedicatedNodes solicitado o "autoScale", que define una fórmula que se vuelve a evaluar periódicamente. Si no se especifica esta propiedad, el grupo tendrá una escala fija con 0 targetDedicatedNodes. scaleSettings
startTask En una operación PATCH (actualización), esta propiedad se puede establecer en un objeto vacío para quitar la tarea de inicio del grupo. StartTask
taskSchedulingPolicy Especifica cómo se deben distribuir las tareas entre los nodos de proceso. TaskSchedulingPolicy
userAccounts Lista de cuentas de usuario que se van a crear en cada nodo del grupo. UserAccount []
vmSize Para obtener información sobre los tamaños disponibles de las máquinas virtuales para los grupos de Cloud Services (grupos creados con cloudServiceConfiguration), consulte Tamaños de Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch admite todos los tamaños de máquina virtual de Cloud Services, excepto ExtraSmall. Para obtener información sobre los tamaños de máquina virtual disponibles para los grupos que usan imágenes de Marketplace de máquinas virtuales (grupos creados con virtualMachineConfiguration), consulte Tamaños de máquinas virtuales (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) o Tamaños de máquinas virtuales (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch admite todos los tamaños de máquina virtual de Azure, excepto STANDARD_A0 y aquellos con premium Storage (STANDARD_GS, STANDARD_DS y serie STANDARD_DSV2). cuerda

ResourceFile

Nombre Descripción Valor
autoStorageContainerName Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. cuerda
blobPrefix La propiedad solo es válida cuando se usa autoStorageContainerName o storageContainerUrl. Este prefijo puede ser un nombre de archivo parcial o un subdirectorio. Si no se especifica un prefijo, se descargarán todos los archivos del contenedor. cuerda
fileMode Esta propiedad solo se aplica a los archivos que se descargan en los nodos de proceso de Linux. Se omitirá si se especifica para un resourceFile que se descargará en un nodo de Windows. Si no se especifica esta propiedad para un nodo de Linux, se aplica un valor predeterminado de 0770 al archivo. cuerda
filePath Si se especifica la propiedad httpUrl, se requiere filePath y describe la ruta de acceso a la que se descargará el archivo, incluido el nombre de archivo. De lo contrario, si se especifica la propiedad autoStorageContainerName o storageContainerUrl, filePath es opcional y es el directorio al que descargar los archivos. En el caso de que filePath se use como directorio, cualquier estructura de directorios que ya esté asociada a los datos de entrada se conservará en su totalidad y se anexará al directorio filePath especificado. La ruta de acceso relativa especificada no puede dividirse en el directorio de trabajo de la tarea (por ejemplo, mediante '..'). cuerda
httpUrl Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Si la dirección URL es Azure Blob Storage, debe ser legible mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura en el blob o establezca la ACL para el blob o su contenedor para permitir el acceso público. cuerda
storageContainerUrl Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Esta dirección URL debe ser legible y enumerable mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura y lista en el blob, o establezca la ACL para el blob o su contenedor para permitir el acceso público. cuerda

ScaleSettings

Nombre Descripción Valor
escalado automático Esta propiedad y fixedScale son mutuamente excluyentes y se debe especificar una de las propiedades. AutoScaleSettings
fixedScale Esta propiedad y autoScale son mutuamente excluyentes y se debe especificar una de las propiedades. fixedScaleSettings

StartTask

Nombre Descripción Valor
commandLine La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Obligatorio si se especifican otras propiedades de startTask. cuerda
containerSettings Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el nodo) se asignan al contenedor, todas las variables de entorno de tareas se asignan al contenedor y la línea de comandos de la tarea se ejecuta en el contenedor. TaskContainerSettings
environmentSettings Lista de opciones de configuración de variables de entorno para la tarea de inicio. EnvironmentSetting[]
maxTaskRetryCount El servicio Batch reintenta una tarea si su código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio Batch probará la tarea una vez y, a continuación, volverá a intentarlo hasta este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no vuelve a intentar la tarea. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite. Int
resourceFiles Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. ResourceFile []
userIdentity Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea. UserIdentity de
waitForSuccess Si es true y la tarea de inicio produce un error en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su recuento máximo de reintentos (maxTaskRetryCount). Si la tarea todavía no se ha completado correctamente después de todos los reintentos, el servicio Batch marca el nodo de proceso inutilizable y no programará tareas en él. Esta condición se puede detectar mediante el estado del nodo y los detalles del error de programación. Si es false, el servicio Batch no esperará a que se complete la tarea de inicio. En este caso, otras tareas pueden empezar a ejecutarse en el nodo de proceso mientras la tarea de inicio todavía se está ejecutando; e incluso si se produce un error en la tarea de inicio, las nuevas tareas seguirán programando en el nodo. El valor predeterminado es false. Bool

TaskContainerSettings

Nombre Descripción Valor
containerRunOptions Estas opciones adicionales se proporcionan como argumentos para el comando "docker create", además de las controladas por el servicio Batch. cuerda
imageName Esta es la referencia de imagen completa, como se especificaría en "docker pull". Si no se proporciona ninguna etiqueta como parte del nombre de la imagen, la etiqueta ":latest" se usa como valor predeterminado. string (obligatorio)
registro Esta configuración se puede omitir si ya se proporcionó en la creación del grupo. containerRegistry de

TaskSchedulingPolicy

Nombre Descripción Valor
nodeFillType Cómo se deben distribuir las tareas entre nodos de proceso. 'Pack'
'Spread' (obligatorio)

UserAccount

Nombre Descripción Valor
elevationLevel nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. 'Admin'
'NonAdmin'
linuxUserConfiguration Esta propiedad se omite si se especifica en un grupo de Windows. Si no se especifica, el usuario se crea con las opciones predeterminadas. LinuxUserConfiguration
nombre Nombre de la cuenta de usuario. string (obligatorio)
contraseña Contraseña de la cuenta de usuario. string (obligatorio)
windowsUserConfiguration Esta propiedad solo se puede especificar si el usuario está en un grupo de Windows. Si no se especifica y en un grupo de Windows, el usuario se crea con las opciones predeterminadas. windowsUserConfiguration

UserIdentity

Nombre Descripción Valor
autoUser Las propiedades userName y autoUser son mutuamente excluyentes; debe especificar uno pero no ambos. AutoUserSpecification
nombre de usuario Las propiedades userName y autoUser son mutuamente excluyentes; debe especificar uno pero no ambos. cuerda

VirtualMachineConfiguration

Nombre Descripción Valor
containerConfiguration Si se especifica, la instalación se realiza en cada nodo del grupo para permitir que las tareas se ejecuten en contenedores. Todas las tareas normales y las tareas del administrador de trabajos que se ejecutan en este grupo deben especificar la propiedad containerSettings y todas las demás tareas pueden especificarla. containerConfiguration
dataDisks Esta propiedad debe especificarse si los nodos de proceso del grupo deben tener discos de datos vacíos conectados a ellos. DataDisk []
imageReference Referencia a una imagen de Marketplace de Azure Virtual Machines o al recurso De imagen de Azure de una máquina virtual personalizada. Para obtener la lista de todas las imageReferences verificadas por Azure Batch, consulte la operación "Enumeración de SKU de agente de nodo compatibles". imageReference (obligatorio)
licenseType Esto solo se aplica a las imágenes que contienen el sistema operativo Windows y solo se deben usar cuando contenga licencias locales válidas para los nodos que se implementarán. Si se omite, no se aplica ningún descuento de licencia local. Los valores son:

Windows_Server: la licencia local es para Windows Server.
Windows_Client: la licencia local es para el cliente de Windows.
cuerda
nodeAgentSkuId El agente de nodo de Batch es un programa que se ejecuta en cada nodo del grupo y proporciona la interfaz de comando y control entre el nodo y el servicio Batch. Hay diferentes implementaciones del agente de nodo, conocidas como SKU, para diferentes sistemas operativos. Debe especificar una SKU del agente de nodo que coincida con la referencia de imagen seleccionada. Para obtener la lista de SKU de agente de nodo compatibles junto con su lista de referencias de imágenes verificadas, consulte la operación "Enumerar SKU de agente de nodo compatibles". string (obligatorio)
windowsConfiguration Esta propiedad no se debe especificar si imageReference especifica una imagen del sistema operativo Linux. windowsConfiguration

WindowsConfiguration

Nombre Descripción Valor
enableAutomaticUpdates Si se omite, el valor predeterminado es true. Bool

WindowsUserConfiguration

Nombre Descripción Valor
loginMode Especifica el modo de inicio de sesión para el usuario. El valor predeterminado de los grupos de VirtualMachineConfiguration es el modo interactivo y para los grupos de CloudServiceConfiguration es el modo por lotes. 'Batch'
'Interactivo'

Plantillas de inicio rápido

Las siguientes plantillas de inicio rápido implementan este tipo de recurso.

Plantilla Descripción
grupo de Azure Batch sin direcciones IP públicas

Implementación en Azure
Esta plantilla crea un grupo de comunicación de nodos simplificado de Azure Batch sin direcciones IP públicas.

Definición de recursos de Terraform (proveedor AzAPI)

El tipo de recurso batchAccounts/pools se puede implementar con operaciones destinadas a:

  • grupos de recursos de

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.Batch/batchAccounts/pools, agregue el siguiente terraform a la plantilla.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Batch/batchAccounts/pools@2018-12-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"
            }
          ]
          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"
        }
      ]
      networkConfiguration = {
        endpointConfiguration = {
          inboundNatPools = [
            {
              backendPort = int
              frontendPortRangeEnd = int
              frontendPortRangeStart = int
              name = "string"
              networkSecurityGroupRules = [
                {
                  access = "string"
                  priority = int
                  sourceAddressPrefix = "string"
                }
              ]
              protocol = "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"
          }
        }
        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"
    }
  })
}

Valores de propiedad

ApplicationPackageReference

Nombre Descripción Valor
identificación Identificador del paquete de aplicación que se va a instalar. Debe estar dentro de la misma cuenta por lotes que el grupo. Puede ser una referencia a una versión específica o a la versión predeterminada si existe una. string (obligatorio)
Versión Si se omite y no se especifica ninguna versión predeterminada para esta aplicación, se produce un error en la solicitud con el código de error InvalidApplicationPackageReferences. Si llama directamente a la API REST, el código de estado HTTP es 409. cuerda

AutoScaleSettings

Nombre Descripción Valor
evaluationInterval Si se omite, el valor predeterminado es 15 minutos (PT15M). cuerda
fórmula Fórmula para el número deseado de nodos de proceso en el grupo. string (obligatorio)

AutoUserSpecification

Nombre Descripción Valor
elevationLevel nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. 'Admin'
'NonAdmin'
alcance El valor predeterminado es task. 'Pool'
'Tarea'

CertificateReference

Nombre Descripción Valor
identificación Identificador completo del certificado que se va a instalar en el grupo. Debe estar dentro de la misma cuenta por lotes que el grupo. string (obligatorio)
storeLocation El valor predeterminado es currentUser. Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. 'CurrentUser'
"LocalMachine"
storeName Esta propiedad solo es aplicable a los grupos configurados con nodos de Windows (es decir, creados con cloudServiceConfiguration o con virtualMachineConfiguration mediante una referencia de imagen de Windows). Los nombres de almacén comunes incluyen: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, pero también se puede usar cualquier nombre de almacén personalizado. El valor predeterminado es My. cuerda
visibilidad Qué cuentas de usuario del nodo de proceso deben tener acceso a los datos privados del certificado. Matriz de cadenas que contiene cualquiera de:
'RemoteUser'
'StartTask'
'Tarea'

CloudServiceConfiguration

Nombre Descripción Valor
osFamily Los valores posibles son: 2 - Familia de so 2, equivalente a Windows Server 2008 R2 SP1. 3 - Familia de so 3, equivalente a Windows Server 2012. 4 - Familia de so 4, equivalente a Windows Server 2012 R2. 5 - Familia de so 5, equivalente a Windows Server 2016. Para más información, consulte Versiones del sistema operativo invitado de Azure (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). string (obligatorio)
osVersion El valor predeterminado es * que especifica la versión más reciente del sistema operativo para la familia de sistema operativo especificada. cuerda

ContainerConfiguration

Nombre Descripción Valor
containerImageNames Esta es la referencia de imagen completa, como se especificaría en "docker pull". Se generará una imagen del registro de Docker predeterminado a menos que la imagen esté completa con un registro alternativo. string[]
containerRegistries Si se deben descargar imágenes de un registro privado que requiera credenciales, esas credenciales deben proporcionarse aquí. containerRegistry[]
tipo Tecnología de contenedor que se va a usar. 'DockerCompatible' (obligatorio)

ContainerRegistry

Nombre Descripción Valor
contraseña Contraseña que se va a iniciar sesión en el servidor del Registro. string (obligatorio)
RegistryServer Si se omite, el valor predeterminado es "docker.io". cuerda
nombre de usuario Nombre de usuario que se va a iniciar sesión en el servidor del Registro. string (obligatorio)

DataDisk

Nombre Descripción Valor
Caché Los valores son:

none: el modo de almacenamiento en caché del disco no está habilitado.
readOnly: el modo de almacenamiento en caché del disco es de solo lectura.
readWrite: el modo de almacenamiento en caché del disco es de lectura y escritura.

El valor predeterminado para el almacenamiento en caché no es ninguno. Para obtener información sobre las opciones de almacenamiento en caché, consulte: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
'Ninguno'
'ReadOnly'
"ReadWrite"
diskSizeGB Tamaño de disco inicial en GB al crear un nuevo disco de datos. int (obligatorio)
Lun El lun se usa para identificar de forma única cada disco de datos. Si conecta varios discos, cada uno debe tener un lun distinto. int (obligatorio)
storageAccountType Si se omite, el valor predeterminado es "Standard_LRS". Los valores son:

Standard_LRS: el disco de datos debe usar el almacenamiento con redundancia local estándar.
Premium_LRS: el disco de datos debe usar el almacenamiento con redundancia local Premium.
"Premium_LRS"
"Standard_LRS"

DeploymentConfiguration

Nombre Descripción Valor
cloudServiceConfiguration Esta propiedad y virtualMachineConfiguration son mutuamente excluyentes y se debe especificar una de las propiedades. Esta propiedad no se puede especificar si la cuenta de Batch se creó con su propiedad poolAllocationMode establecida en "UserSubscription". CloudServiceConfiguration
virtualMachineConfiguration Esta propiedad y cloudServiceConfiguration son mutuamente excluyentes y se debe especificar una de las propiedades. VirtualMachineConfiguration

EnvironmentSetting

Nombre Descripción Valor
nombre Nombre de la variable de entorno. string (obligatorio)
valor Valor de la variable de entorno. cuerda

FixedScaleSettings

Nombre Descripción Valor
nodeDeallocationOption Si se omite, el valor predeterminado es Requeue. 'Requeue'
'RetainedData'
'TaskCompletion'
'Terminate'
resizeTimeout El valor predeterminado es de 15 minutos. Los valores de tiempo de espera usan el formato ISO 8601. Por ejemplo, use PT10M durante 10 minutos. El valor mínimo es de 5 minutos. Si especifica un valor inferior a 5 minutos, el servicio Batch rechaza la solicitud con un error; Si llama directamente a la API REST, el código de estado HTTP es 400 (solicitud incorrecta). cuerda
targetDedicatedNodes Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. Int
targetLowPriorityNodes Al menos uno de los nodos targetDedicatedNodes, se deben establecer los nodos targetLowPriority. Int

ImageReference

Nombre Descripción Valor
identificación Esta propiedad es mutuamente excluyente con otras propiedades. La imagen de máquina virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. Para obtener información sobre la configuración del firewall para que el agente de nodo de Batch se comunique con el servicio Batch, consulte /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration . cuerda
ofrecer Por ejemplo, UbuntuServer o WindowsServer. cuerda
editor Por ejemplo, Canonical o MicrosoftWindowsServer. cuerda
Sku Por ejemplo, 14.04.0-LTS o 2012-R2-Datacenter. cuerda
Versión Se puede especificar un valor de "latest" para seleccionar la versión más reciente de una imagen. Si se omite, el valor predeterminado es "latest". cuerda

InboundNatPool

Nombre Descripción Valor
backendPort Debe ser único dentro de un grupo de Batch. Los valores aceptables están comprendidos entre 1 y 65535, excepto 22, 3389, 29876 y 29877, ya que están reservados. Si se proporcionan valores reservados, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
frontendPortRangeEnd Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados por el servicio Batch. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
frontendPortRangeStart Los valores aceptables oscilan entre 1 y 65534, excepto los puertos de 50000 a 55000 que están reservados. Todos los intervalos de un grupo deben ser distintos y no se pueden superponer. Si se proporcionan valores reservados o superpuestos, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
nombre El nombre debe ser único dentro de un grupo de Batch, puede contener letras, números, caracteres de subrayado, puntos y guiones. Los nombres deben comenzar con una letra o un número, deben terminar con una letra, un número o un carácter de subrayado, y no pueden superar los 77 caracteres. Si se proporcionan valores no válidos, se produce un error en la solicitud con el código de estado HTTP 400. string (obligatorio)
networkSecurityGroupRules El número máximo de reglas que se pueden especificar en todos los puntos de conexión de un grupo de Batch es 25. Si no se especifica ninguna regla de grupo de seguridad de red, se creará una regla predeterminada para permitir el acceso entrante a backendPort especificado. Si se supera el número máximo de reglas de grupo de seguridad de red, se produce un error en la solicitud con el código de estado HTTP 400. networkSecurityGroupRule[]
protocolo Protocolo del punto de conexión. 'TCP'
'UDP' (obligatorio)

LinuxUserConfiguration

Nombre Descripción Valor
Gid Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el gid. Int
sshPrivateKey La clave privada no debe estar protegida con contraseña. La clave privada se usa para configurar automáticamente la autenticación basada en claves asimétricas para SSH entre nodos de un grupo de Linux cuando la propiedad enableInterNodeCommunication del grupo es true (se omite si enableInterNodeCommunication es false). Para ello, coloca el par de claves en el directorio .ssh del usuario. Si no se especifica, SSH sin contraseña no está configurado entre nodos (no se realiza ninguna modificación del directorio .ssh del usuario). cuerda
Uid Las propiedades uid y gid deben especificarse juntas o no en absoluto. Si no se especifica, el sistema operativo subyacente elige el uid. Int

MetadataItem

Nombre Descripción Valor
nombre Nombre del elemento de metadatos. string (obligatorio)
valor Valor del elemento de metadatos. string (obligatorio)

Microsoft.Batch/batchAccounts/pools

Nombre Descripción Valor
nombre El nombre del recurso cuerda

Restricciones:
Longitud mínima = 1
Longitud máxima = 1
Patrón = ^[a-zA-Z0-9_-]+$ (obligatorio)
parent_id Identificador del recurso que es el elemento primario de este recurso. Identificador del recurso de tipo: batchAccounts
Propiedades Propiedades asociadas al grupo. poolProperties de
tipo El tipo de recurso "Microsoft.Batch/batchAccounts/pools@2018-12-01"

NetworkConfiguration

Nombre Descripción Valor
endpointConfiguration La configuración del punto de conexión del grupo solo se admite en grupos con la propiedad virtualMachineConfiguration. PoolEndpointConfiguration
subnetId La red virtual debe estar en la misma región y suscripción que la cuenta de Azure Batch. La subred especificada debe tener suficientes direcciones IP libres para dar cabida al número de nodos del grupo. Si la subred no tiene suficientes direcciones IP libres, el grupo asignará parcialmente nodos de proceso y se producirá un error de cambio de tamaño. La entidad de servicio "MicrosoftAzureBatch" debe tener el rol "Colaborador de máquina virtual clásica" Role-Based Control de acceso (RBAC) para la red virtual especificada. La subred especificada debe permitir la comunicación desde el servicio Azure Batch para poder programar tareas en los nodos de proceso. Para comprobarlo, compruebe si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado. Si un NSG deniega la comunicación con los nodos de proceso de la subred especificada, el servicio Batch establecerá el estado de los nodos de proceso en inutilizable. Para los grupos creados a través de virtualMachineConfiguration, la cuenta de Batch debe tener userSubscription poolAllocationMode para poder usar una red virtual. Si la red virtual especificada tiene algún grupo de seguridad de red (NSG) asociado, se deben habilitar algunos puertos del sistema reservados para la comunicación entrante. En el caso de los grupos creados con una configuración de máquina virtual, habilite los puertos 29876 y 29877, así como el puerto 22 para Linux y el puerto 3389 para Windows. En el caso de los grupos creados con una configuración de servicio en la nube, habilite los puertos 10100, 20100 y 30100. Habilite también las conexiones salientes a Azure Storage en el puerto 443. Para más información, consulte : /azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration cuerda

NetworkSecurityGroupRule

Nombre Descripción Valor
acceso Acción que se debe realizar para una dirección IP, un intervalo de subred o una etiqueta especificados. 'Permitir'
'Deny' (obligatorio)
prioridad Las prioridades dentro de un grupo deben ser únicas y se evalúan en orden de prioridad. Cuanto menor sea el número, mayor será la prioridad. Por ejemplo, se podrían especificar reglas con números de orden de 150, 250 y 350. La regla con el número de orden de 150 tiene prioridad sobre la regla que tiene un orden de 250. Las prioridades permitidas son de 150 a 3500. Si se proporcionan valores reservados o duplicados, se produce un error en la solicitud con el código de estado HTTP 400. int (obligatorio)
sourceAddressPrefix Los valores válidos son una sola dirección IP (es decir, 10.10.10.10), subred IP (es decir, 192.168.1.0/24), etiqueta predeterminada o * (para todas las direcciones). Si se proporcionan otros valores, se produce un error en la solicitud con el código de estado HTTP 400. string (obligatorio)

PoolEndpointConfiguration

Nombre Descripción Valor
inboundNatPools El número máximo de grupos NAT entrantes por grupo de Batch es 5. Si se supera el número máximo de grupos NAT de entrada, se produce un error en la solicitud con el código de estado HTTP 400. inboundNatPool[] (obligatorio)

PoolProperties

Nombre Descripción Valor
applicationLicenses La lista de licencias de aplicación debe ser un subconjunto de licencias de aplicaciones de servicio de Batch disponibles. Si se solicita una licencia que no se admite, se producirá un error en la creación del grupo. string[]
applicationPackages Los cambios en los paquetes de aplicación afectan a todos los nuevos nodos de proceso que se unen al grupo, pero no afectan a los nodos de proceso que ya están en el grupo hasta que se reinician o se vuelven a crear imágenes. ApplicationPackageReference[]
Certificados En el caso de los nodos de proceso de Windows, el servicio Batch instala los certificados en el almacén de certificados y la ubicación especificados. En el caso de los nodos de proceso de Linux, los certificados se almacenan en un directorio dentro del directorio de trabajo de la tarea y se proporciona una variable de entorno AZ_BATCH_CERTIFICATES_DIR a la tarea para consultar esta ubicación. Para los certificados con visibilidad de "remoteUser", se crea un directorio "certs" en el directorio principal del usuario (por ejemplo, /home/{user-name}/certs) y los certificados se colocan en ese directorio. certificateReference[]
deploymentConfiguration El uso de CloudServiceConfiguration especifica que los nodos deben crearse mediante Azure Cloud Services (PaaS), mientras que VirtualMachineConfiguration usa Azure Virtual Machines (IaaS). DeploymentConfiguration
displayName El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024. cuerda
interNodeCommunication Esto impone restricciones en las que se pueden asignar nodos al grupo. La habilitación de este valor puede reducir la posibilidad de asignar el número solicitado de nodos en el grupo. Si no se especifica, este valor tiene como valor predeterminado "Disabled". 'Deshabilitado'
'Habilitado'
maxTasksPerNode Número máximo de tareas que se pueden ejecutar simultáneamente en un único nodo de proceso del grupo. Int
metadatos El servicio Batch no asigna ningún significado a los metadatos; es únicamente para el uso del código de usuario. metadataItem[]
networkConfiguration Configuración de red de un grupo. networkConfiguration
scaleSettings Define el tamaño deseado del grupo. Esto puede ser "fixedScale" donde se especifica targetDedicatedNodes solicitado o "autoScale", que define una fórmula que se vuelve a evaluar periódicamente. Si no se especifica esta propiedad, el grupo tendrá una escala fija con 0 targetDedicatedNodes. scaleSettings
startTask En una operación PATCH (actualización), esta propiedad se puede establecer en un objeto vacío para quitar la tarea de inicio del grupo. StartTask
taskSchedulingPolicy Especifica cómo se deben distribuir las tareas entre los nodos de proceso. TaskSchedulingPolicy
userAccounts Lista de cuentas de usuario que se van a crear en cada nodo del grupo. UserAccount []
vmSize Para obtener información sobre los tamaños disponibles de las máquinas virtuales para los grupos de Cloud Services (grupos creados con cloudServiceConfiguration), consulte Tamaños de Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch admite todos los tamaños de máquina virtual de Cloud Services, excepto ExtraSmall. Para obtener información sobre los tamaños de máquina virtual disponibles para los grupos que usan imágenes de Marketplace de máquinas virtuales (grupos creados con virtualMachineConfiguration), consulte Tamaños de máquinas virtuales (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) o Tamaños de máquinas virtuales (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch admite todos los tamaños de máquina virtual de Azure, excepto STANDARD_A0 y aquellos con premium Storage (STANDARD_GS, STANDARD_DS y serie STANDARD_DSV2). cuerda

ResourceFile

Nombre Descripción Valor
autoStorageContainerName Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. cuerda
blobPrefix La propiedad solo es válida cuando se usa autoStorageContainerName o storageContainerUrl. Este prefijo puede ser un nombre de archivo parcial o un subdirectorio. Si no se especifica un prefijo, se descargarán todos los archivos del contenedor. cuerda
fileMode Esta propiedad solo se aplica a los archivos que se descargan en los nodos de proceso de Linux. Se omitirá si se especifica para un resourceFile que se descargará en un nodo de Windows. Si no se especifica esta propiedad para un nodo de Linux, se aplica un valor predeterminado de 0770 al archivo. cuerda
filePath Si se especifica la propiedad httpUrl, se requiere filePath y describe la ruta de acceso a la que se descargará el archivo, incluido el nombre de archivo. De lo contrario, si se especifica la propiedad autoStorageContainerName o storageContainerUrl, filePath es opcional y es el directorio al que descargar los archivos. En el caso de que filePath se use como directorio, cualquier estructura de directorios que ya esté asociada a los datos de entrada se conservará en su totalidad y se anexará al directorio filePath especificado. La ruta de acceso relativa especificada no puede dividirse en el directorio de trabajo de la tarea (por ejemplo, mediante '..'). cuerda
httpUrl Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Si la dirección URL es Azure Blob Storage, debe ser legible mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura en el blob o establezca la ACL para el blob o su contenedor para permitir el acceso público. cuerda
storageContainerUrl Las propiedades autoStorageContainerName, storageContainerUrl y httpUrl son mutuamente excluyentes y se debe especificar una de ellas. Esta dirección URL debe ser legible y enumerable mediante el acceso anónimo; es decir, el servicio Batch no presenta ninguna credencial al descargar el blob. Hay dos maneras de obtener esta dirección URL para un blob en Azure Storage: incluya una firma de acceso compartido (SAS) que conceda permisos de lectura y lista en el blob, o establezca la ACL para el blob o su contenedor para permitir el acceso público. cuerda

ScaleSettings

Nombre Descripción Valor
escalado automático Esta propiedad y fixedScale son mutuamente excluyentes y se debe especificar una de las propiedades. AutoScaleSettings
fixedScale Esta propiedad y autoScale son mutuamente excluyentes y se debe especificar una de las propiedades. fixedScaleSettings

StartTask

Nombre Descripción Valor
commandLine La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Obligatorio si se especifican otras propiedades de startTask. cuerda
containerSettings Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el nodo) se asignan al contenedor, todas las variables de entorno de tareas se asignan al contenedor y la línea de comandos de la tarea se ejecuta en el contenedor. TaskContainerSettings
environmentSettings Lista de opciones de configuración de variables de entorno para la tarea de inicio. EnvironmentSetting[]
maxTaskRetryCount El servicio Batch reintenta una tarea si su código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio Batch probará la tarea una vez y, a continuación, volverá a intentarlo hasta este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no vuelve a intentar la tarea. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite. Int
resourceFiles Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. ResourceFile []
userIdentity Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea. UserIdentity de
waitForSuccess Si es true y la tarea de inicio produce un error en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su recuento máximo de reintentos (maxTaskRetryCount). Si la tarea todavía no se ha completado correctamente después de todos los reintentos, el servicio Batch marca el nodo de proceso inutilizable y no programará tareas en él. Esta condición se puede detectar mediante el estado del nodo y los detalles del error de programación. Si es false, el servicio Batch no esperará a que se complete la tarea de inicio. En este caso, otras tareas pueden empezar a ejecutarse en el nodo de proceso mientras la tarea de inicio todavía se está ejecutando; e incluso si se produce un error en la tarea de inicio, las nuevas tareas seguirán programando en el nodo. El valor predeterminado es false. Bool

TaskContainerSettings

Nombre Descripción Valor
containerRunOptions Estas opciones adicionales se proporcionan como argumentos para el comando "docker create", además de las controladas por el servicio Batch. cuerda
imageName Esta es la referencia de imagen completa, como se especificaría en "docker pull". Si no se proporciona ninguna etiqueta como parte del nombre de la imagen, la etiqueta ":latest" se usa como valor predeterminado. string (obligatorio)
registro Esta configuración se puede omitir si ya se proporcionó en la creación del grupo. containerRegistry de

TaskSchedulingPolicy

Nombre Descripción Valor
nodeFillType Cómo se deben distribuir las tareas entre nodos de proceso. 'Pack'
'Spread' (obligatorio)

UserAccount

Nombre Descripción Valor
elevationLevel nonAdmin: el usuario automático es un usuario estándar sin acceso elevado. admin: el usuario automático es un usuario con acceso elevado y funciona con permisos de administrador completos. El valor predeterminado es nonAdmin. 'Admin'
'NonAdmin'
linuxUserConfiguration Esta propiedad se omite si se especifica en un grupo de Windows. Si no se especifica, el usuario se crea con las opciones predeterminadas. LinuxUserConfiguration
nombre Nombre de la cuenta de usuario. string (obligatorio)
contraseña Contraseña de la cuenta de usuario. string (obligatorio)
windowsUserConfiguration Esta propiedad solo se puede especificar si el usuario está en un grupo de Windows. Si no se especifica y en un grupo de Windows, el usuario se crea con las opciones predeterminadas. windowsUserConfiguration

UserIdentity

Nombre Descripción Valor
autoUser Las propiedades userName y autoUser son mutuamente excluyentes; debe especificar uno pero no ambos. AutoUserSpecification
nombre de usuario Las propiedades userName y autoUser son mutuamente excluyentes; debe especificar uno pero no ambos. cuerda

VirtualMachineConfiguration

Nombre Descripción Valor
containerConfiguration Si se especifica, la instalación se realiza en cada nodo del grupo para permitir que las tareas se ejecuten en contenedores. Todas las tareas normales y las tareas del administrador de trabajos que se ejecutan en este grupo deben especificar la propiedad containerSettings y todas las demás tareas pueden especificarla. containerConfiguration
dataDisks Esta propiedad debe especificarse si los nodos de proceso del grupo deben tener discos de datos vacíos conectados a ellos. DataDisk []
imageReference Referencia a una imagen de Marketplace de Azure Virtual Machines o al recurso De imagen de Azure de una máquina virtual personalizada. Para obtener la lista de todas las imageReferences verificadas por Azure Batch, consulte la operación "Enumeración de SKU de agente de nodo compatibles". imageReference (obligatorio)
licenseType Esto solo se aplica a las imágenes que contienen el sistema operativo Windows y solo se deben usar cuando contenga licencias locales válidas para los nodos que se implementarán. Si se omite, no se aplica ningún descuento de licencia local. Los valores son:

Windows_Server: la licencia local es para Windows Server.
Windows_Client: la licencia local es para el cliente de Windows.
cuerda
nodeAgentSkuId El agente de nodo de Batch es un programa que se ejecuta en cada nodo del grupo y proporciona la interfaz de comando y control entre el nodo y el servicio Batch. Hay diferentes implementaciones del agente de nodo, conocidas como SKU, para diferentes sistemas operativos. Debe especificar una SKU del agente de nodo que coincida con la referencia de imagen seleccionada. Para obtener la lista de SKU de agente de nodo compatibles junto con su lista de referencias de imágenes verificadas, consulte la operación "Enumerar SKU de agente de nodo compatibles". string (obligatorio)
windowsConfiguration Esta propiedad no se debe especificar si imageReference especifica una imagen del sistema operativo Linux. windowsConfiguration

WindowsConfiguration

Nombre Descripción Valor
enableAutomaticUpdates Si se omite, el valor predeterminado es true. Bool

WindowsUserConfiguration

Nombre Descripción Valor
loginMode Especifica el modo de inicio de sesión para el usuario. El valor predeterminado de los grupos de VirtualMachineConfiguration es el modo interactivo y para los grupos de CloudServiceConfiguration es el modo por lotes. 'Batch'
'Interactivo'