Freigeben über


PoolSpecification Klasse

Spezifikation zum Erstellen eines neuen Pools.

Zum Senden an Azure müssen alle erforderlichen Parameter aufgefüllt werden.

Vererbung
PoolSpecification

Konstruktor

PoolSpecification(*, vm_size: str, display_name: str = None, cloud_service_configuration=None, virtual_machine_configuration=None, task_slots_per_node: int = None, task_scheduling_policy=None, resize_timeout=None, target_dedicated_nodes: int = None, target_low_priority_nodes: int = None, enable_auto_scale: bool = None, auto_scale_formula: str = None, auto_scale_evaluation_interval=None, enable_inter_node_communication: bool = None, network_configuration=None, start_task=None, certificate_references=None, application_package_references=None, application_licenses=None, user_accounts=None, metadata=None, mount_configuration=None, target_node_communication_mode=None, **kwargs)

Parameter

display_name
str
Erforderlich

Der Anzeigename muss nicht eindeutig sein und kann Unicode-Zeichen bis zu einer maximalen Länge von 1024 enthalten.

vm_size
str
Erforderlich

Erforderlich. Informationen zu den verfügbaren Größen virtueller Computer in Pools finden Sie unter Auswählen einer VM-Größe für Computeknoten in einem Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).

cloud_service_configuration
CloudServiceConfiguration
Erforderlich

Die Clouddienstkonfiguration für den Pool. Diese Eigenschaft muss angegeben werden, wenn der Pool mit Azure PaaS-VMs erstellt werden muss. Diese Eigenschaft und virtualMachineConfiguration schließen sich gegenseitig aus, und eine der Eigenschaften muss angegeben werden. Wenn keines angegeben ist, gibt der Batch-Dienst einen Fehler zurück. Wenn Sie die REST-API direkt aufrufen, lautet der HTTP-status Code 400 (Ungültige Anforderung). Diese Eigenschaft kann nicht angegeben werden, wenn das Batch-Konto mit der poolAllocationMode-Eigenschaft auf "UserSubscription" festgelegt wurde.

virtual_machine_configuration
VirtualMachineConfiguration
Erforderlich

Die Konfiguration des virtuellen Computers für den Pool. Diese Eigenschaft muss angegeben werden, wenn der Pool mit Azure IaaS-VMs erstellt werden muss. Diese Eigenschaft und cloudServiceConfiguration schließen sich gegenseitig aus, und eine der Eigenschaften muss angegeben werden. Wenn keines angegeben ist, gibt der Batch-Dienst einen Fehler zurück. Wenn Sie die REST-API direkt aufrufen, lautet der HTTP-status Code 400 (Ungültige Anforderung).

task_slots_per_node
int
Erforderlich

Die Anzahl von Taskslots, die verwendet werden können, um gleichzeitige Tasks auf einem einzelnen Computeknoten im Pool auszuführen. Der Standardwert ist 1. Der Maximalwert ist der 4-fache der Anzahl der Kerne der vmSize des Pools oder 256.

task_scheduling_policy
TaskSchedulingPolicy
Erforderlich

Wie Aufgaben auf Computeknoten in einem Pool verteilt werden Wenn nicht angegeben, ist der Standardwert Spread.

resize_timeout
<xref:timedelta>
Erforderlich

Dieses Timeout gilt nur für die manuelle Skalierung. Es hat keine Auswirkung, wenn enableAutoScale auf true festgelegt ist. Der Standardwert beträgt 15 Minuten. Der Mindestwert beträgt 5 Minuten. Wenn Sie einen Wert kleiner als 5 Minuten angeben, lehnt der Batch-Dienst die Anforderung mit einem Fehler ab. Wenn Sie die REST-API direkt aufrufen, lautet der HTTP-status Code 400 (Ungültige Anforderung).

target_dedicated_nodes
int
Erforderlich

Die gewünschte Anzahl dedizierter Computeknoten im Pool. Diese Eigenschaft darf nicht angegeben werden, wenn enableAutoScale auf true festgelegt ist. Wenn enableAutoScale auf false festgelegt ist, müssen Sie entweder targetDedicatedNodes, targetLowPriorityNodes oder beide festlegen.

target_low_priority_nodes
int
Erforderlich

Die gewünschte Anzahl von Computeknoten mit spot/low-priority im Pool. Diese Eigenschaft darf nicht angegeben werden, wenn enableAutoScale auf true festgelegt ist. Wenn enableAutoScale auf false festgelegt ist, müssen Sie entweder targetDedicatedNodes, targetLowPriorityNodes oder beide festlegen.

enable_auto_scale
bool
Erforderlich

Gibt an, ob die Poolgröße im Laufe der Zeit automatisch angepasst werden soll. Wenn false, muss mindestens einer von targetDedicatedNodes und targetLowPriorityNodes angegeben werden. Wenn true, ist das autoScaleFormula-Element erforderlich. Die Größe des Pools wird automatisch entsprechend der Formel geändert. Der Standardwert ist „FALSE“.

auto_scale_formula
str
Erforderlich

Diese Eigenschaft darf nicht angegeben werden, wenn enableAutoScale auf false festgelegt ist. Dies ist erforderlich, wenn enableAutoScale auf true festgelegt ist. Die Formel wird auf Gültigkeit überprüft, bevor der Pool erstellt wird. Wenn die Formel ungültig ist, lehnt der Batch-Dienst die Anforderung mit detaillierten Fehlerinformationen ab.

auto_scale_evaluation_interval
<xref:timedelta>
Erforderlich

Der Standardwert beträgt 15 Minuten. Der Mindest- und Höchstwert beträgt 5 Minuten bzw. 168 Stunden. Wenn Sie einen Wert kleiner als 5 Minuten oder mehr als 168 Stunden angeben, lehnt der Batch-Dienst die Anforderung mit einem Ungültigen Eigenschaftswertfehler ab. Wenn Sie die REST-API direkt aufrufen, lautet der HTTP-status Code 400 (Ungültige Anforderung).

enable_inter_node_communication
bool
Erforderlich

Gibt an, ob der Pool eine direkte Kommunikation zwischen Computeknoten zulässt. Die Aktivierung der Kommunikation zwischen Knoten schränkt die maximale Größe des Pools aufgrund von Bereitstellungseinschränkungen für die Computeknoten des Pools ein. Dies kann dazu führen, dass der Pool die gewünschte Größe nicht erreicht. Der Standardwert ist „FALSE“.

network_configuration
NetworkConfiguration
Erforderlich

Die Netzwerkkonfiguration für den Pool.

start_task
StartTask
Erforderlich

Ein Task, der auf jedem Computeknoten ausgeführt werden soll, während er dem Pool beitritt. Der Task wird ausgeführt, wenn der Computeknoten dem Pool hinzugefügt wird oder wenn der Computeknoten neu gestartet wird.

certificate_references
list[CertificateReference]
Erforderlich

Für Windows-Knoten installiert der Batch-Dienst die Zertifikate im angegebenen Zertifikatspeicher und Speicherort. Bei Linux-Computeknoten werden die Zertifikate in einem Verzeichnis innerhalb des Arbeitsverzeichnisses Task gespeichert, und eine Umgebungsvariable, AZ_BATCH_CERTIFICATES_DIR für den Task bereitgestellt wird, um diesen Speicherort abzufragen. Bei Zertifikaten mit sichtbarkeit von "remoteUser" wird im Basisverzeichnis des Benutzers (z. B. /home/{benutzername}/certs) ein Verzeichnis "certs" erstellt, und Zertifikate werden in diesem Verzeichnis platziert. Warnung: Diese Eigenschaft ist veraltet und wird nach Februar 2024 entfernt. Verwenden Sie stattdessen die Azure KeyVault-Erweiterung .

application_package_references
list[ApplicationPackageReference]
Erforderlich

Beim Erstellen eines Pools muss die Anwendungs-ID des Pakets voll qualifiziert sein (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Änderungen an Paketverweise wirken sich auf alle neuen Knoten aus, die dem Pool beitreten, aber nicht auf Computeknoten, die sich bereits im Pool befinden, bis sie neu gestartet oder neu erstellt werden. Es gibt maximal 10 Paketverweise in einem bestimmten Pool.

application_licenses
list[str]
Erforderlich

Die Liste der Anwendungslizenzen muss eine Teilmenge der verfügbaren Batch-Dienstanwendungslizenzen sein. Wenn eine Lizenz angefordert wird, die nicht unterstützt wird, schlägt die Poolerstellung fehl. Die für den Pool verfügbaren zulässigen Lizenzen sind "maya", "vray", "3dsmax", "arnold". Für jede Anwendungslizenz, die dem Pool hinzugefügt wird, fallen zusätzliche Gebühren an.

user_accounts
list[UserAccount]
Erforderlich
metadata
list[MetadataItem]
Erforderlich

Der Batch-Dienst weist Metadaten keine Bedeutung zu. es dient ausschließlich der Verwendung von Benutzercode.

mount_configuration
list[MountConfiguration]
Erforderlich

Dies unterstützt Azure Files, NFS, CIFS/SMB und Blobfuse.

target_node_communication_mode
str oder NodeCommunicationMode
Erforderlich

Der gewünschte Knotenkommunikationsmodus für den Pool. Wenn nicht angegeben, lautet der Standardwert Default. Mögliche Werte: "default", "classic", "simplified"

Methoden

as_dict

Gibt ein Dict zurück, das mit json.dump JSONify sein kann.

Bei erweiterter Verwendung kann optional ein Rückruf als Parameter verwendet werden:

Key ist der Attributname, der in Python verwendet wird. Attr_desc ist ein Dict von Metadaten. Enthält derzeit "type" mit dem msrest-Typ und "key" mit dem RestAPI-codierten Schlüssel. Value ist der aktuelle Wert in diesem Objekt.

Die zurückgegebene Zeichenfolge wird verwendet, um den Schlüssel zu serialisieren. Wenn der Rückgabetyp eine Liste ist, wird dies als hierarchisches Ergebnisdikt betrachtet.

Sehen Sie sich die drei Beispiele in dieser Datei an:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Wenn Sie die XML-Serialisierung wünschen, können Sie die kwargs is_xml=True übergeben.

deserialize

Analysieren Sie einen Str mithilfe der RestAPI-Syntax, und geben Sie ein Modell zurück.

enable_additional_properties_sending
from_dict

Analysieren eines Diktats mithilfe des angegebenen Schlüsselextraktors gibt ein Modell zurück.

Standardmäßig werden Schlüsselextraktoren (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor und last_rest_key_case_insensitive_extractor) berücksichtigt.

is_xml_model
serialize

Gibt den JSON-Code zurück, der von diesem Modell an Azure gesendet würde.

Dies ist ein Alias für as_dict(full_restapi_key_transformer, keep_readonly=False).

Wenn Sie die XML-Serialisierung wünschen, können Sie die kwargs is_xml=True übergeben.

validate

Überprüfen Sie dieses Modell rekursiv, und geben Sie eine Liste von ValidationError zurück.

as_dict

Gibt ein Dict zurück, das mit json.dump JSONify sein kann.

Bei erweiterter Verwendung kann optional ein Rückruf als Parameter verwendet werden:

Key ist der Attributname, der in Python verwendet wird. Attr_desc ist ein Dict von Metadaten. Enthält derzeit "type" mit dem msrest-Typ und "key" mit dem RestAPI-codierten Schlüssel. Value ist der aktuelle Wert in diesem Objekt.

Die zurückgegebene Zeichenfolge wird verwendet, um den Schlüssel zu serialisieren. Wenn der Rückgabetyp eine Liste ist, wird dies als hierarchisches Ergebnisdikt betrachtet.

Sehen Sie sich die drei Beispiele in dieser Datei an:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Wenn Sie die XML-Serialisierung wünschen, können Sie die kwargs is_xml=True übergeben.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Parameter

key_transformer
<xref:function>

Eine Schlüsseltransformerfunktion.

keep_readonly
Standardwert: True

Gibt zurück

Ein JSON-kompatibles Objekt mit Dict

Rückgabetyp

deserialize

Analysieren Sie einen Str mithilfe der RestAPI-Syntax, und geben Sie ein Modell zurück.

deserialize(data, content_type=None)

Parameter

data
str
Erforderlich

Eine Str-Instanz mit RestAPI-Struktur. JSON standardmäßig.

content_type
str
Standardwert: None

JSON standardmäßig, legen Sie application/xml if XML fest.

Gibt zurück

Ein instance dieses Modells

Ausnahmen

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Analysieren eines Diktats mithilfe des angegebenen Schlüsselextraktors gibt ein Modell zurück.

Standardmäßig werden Schlüsselextraktoren (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor und last_rest_key_case_insensitive_extractor) berücksichtigt.

from_dict(data, key_extractors=None, content_type=None)

Parameter

data
dict
Erforderlich

Ein Diktat mithilfe der RestAPI-Struktur

content_type
str
Standardwert: None

JSON standardmäßig, legen Sie application/xml if XML fest.

key_extractors
Standardwert: None

Gibt zurück

Ein instance dieses Modells

Ausnahmen

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Gibt den JSON-Code zurück, der von diesem Modell an Azure gesendet würde.

Dies ist ein Alias für as_dict(full_restapi_key_transformer, keep_readonly=False).

Wenn Sie die XML-Serialisierung wünschen, können Sie die kwargs is_xml=True übergeben.

serialize(keep_readonly=False, **kwargs)

Parameter

keep_readonly
bool
Standardwert: False

Wenn Sie die schreibgeschützten Attribute serialisieren möchten

Gibt zurück

Ein JSON-kompatibles Objekt mit Dict

Rückgabetyp

validate

Überprüfen Sie dieses Modell rekursiv, und geben Sie eine Liste von ValidationError zurück.

validate()

Gibt zurück

Eine Liste von Überprüfungsfehlern

Rückgabetyp