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
Der Anzeigename muss nicht eindeutig sein und kann Unicode-Zeichen bis zu einer maximalen Länge von 1024 enthalten.
- vm_size
- str
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
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
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
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
Wie Aufgaben auf Computeknoten in einem Pool verteilt werden Wenn nicht angegeben, ist der Standardwert Spread.
- resize_timeout
- <xref:timedelta>
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
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
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
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
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>
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
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“.
- start_task
- StartTask
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]
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]
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.
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]
- metadata
- list[MetadataItem]
Der Batch-Dienst weist Metadaten keine Bedeutung zu. es dient ausschließlich der Verwendung von Benutzercode.
- mount_configuration
- list[MountConfiguration]
Dies unterstützt Azure Files, NFS, CIFS/SMB und Blobfuse.
- target_node_communication_mode
- str oder NodeCommunicationMode
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:
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
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
Gibt zurück
Ein instance dieses Modells
Ausnahmen
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
- key_extractors
Gibt zurück
Ein instance dieses Modells
Ausnahmen
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
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
Azure SDK for Python