Udostępnij za pośrednictwem


PoolSpecification Klasa

Specyfikacja tworzenia nowej puli.

Aby wysyłać na platformę Azure wszystkie wymagane parametry, należy wypełnić wszystkie wymagane parametry.

Dziedziczenie
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)

Parametry

display_name
str
Wymagane

Nazwa wyświetlana nie musi być unikatowa i może zawierać znaki Unicode o maksymalnej długości 1024.

vm_size
str
Wymagane

Wymagane. Aby uzyskać informacje o dostępnych rozmiarach maszyn wirtualnych w pulach, zobacz Wybieranie rozmiaru maszyny wirtualnej dla węzłów obliczeniowych w puli Azure Batch (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).

cloud_service_configuration
CloudServiceConfiguration
Wymagane

Konfiguracja usługi w chmurze dla puli. Tę właściwość należy określić, jeśli pula musi zostać utworzona przy użyciu maszyn wirtualnych PaaS platformy Azure. Ta właściwość i element virtualMachineConfiguration wykluczają się wzajemnie i należy określić jedną z właściwości. Jeśli żadna z nich nie zostanie określona, usługa Batch zwróci błąd; Jeśli bezpośrednio wywołujesz interfejs API REST, kod stanu HTTP to 400 (Nieprawidłowe żądanie). Nie można określić tej właściwości, jeśli konto usługi Batch zostało utworzone z właściwością poolAllocationMode ustawioną na wartość "UserSubscription".

virtual_machine_configuration
VirtualMachineConfiguration
Wymagane

Konfiguracja maszyny wirtualnej dla puli. Tę właściwość należy określić, jeśli pula musi zostać utworzona przy użyciu maszyn wirtualnych IaaS platformy Azure. Ta właściwość i właściwość cloudServiceConfiguration wzajemnie się wykluczają i należy określić jedną z właściwości. Jeśli żadna z nich nie zostanie określona, usługa Batch zwróci błąd; Jeśli bezpośrednio wywołujesz interfejs API REST, kod stanu HTTP to 400 (Nieprawidłowe żądanie).

task_slots_per_node
int
Wymagane

Liczba miejsc zadań, których można użyć do uruchamiania współbieżnych zadań w jednym węźle obliczeniowym w puli. Wartość domyślna to 1. Wartość maksymalna jest mniejsza niż 4 razy mniejsza niż liczba rdzeni vmSize puli lub 256.

task_scheduling_policy
TaskSchedulingPolicy
Wymagane

Jak zadania są dystrybuowane między węzłami obliczeniowymi w puli. Jeśli nie zostanie określony, wartość domyślna zostanie rozłożona.

resize_timeout
<xref:timedelta>
Wymagane

Ten limit czasu dotyczy tylko skalowania ręcznego; nie ma żadnego efektu, gdy właściwość enableAutoScale jest ustawiona na wartość true. Wartość domyślna to 15 minut. Wartość minimalna to 5 minut. Jeśli określisz wartość mniejszą niż 5 minut, usługa Batch odrzuci żądanie z błędem; Jeśli bezpośrednio wywołujesz interfejs API REST, kod stanu HTTP to 400 (Nieprawidłowe żądanie).

target_dedicated_nodes
int
Wymagane

Żądana liczba dedykowanych węzłów obliczeniowych w puli. Nie można określić tej właściwości, jeśli właściwość enableAutoScale jest ustawiona na wartość true. Jeśli parametr enableAutoScale ma wartość false, musisz ustawić wartość targetDedicatedNodes, targetLowPriorityNodes lub oba te węzły.

target_low_priority_nodes
int
Wymagane

Żądana liczba węzłów obliczeniowych typu spot/low-priority w puli. Nie można określić tej właściwości, jeśli właściwość enableAutoScale jest ustawiona na wartość true. Jeśli parametr enableAutoScale ma wartość false, musisz ustawić wartość targetDedicatedNodes, targetLowPriorityNodes lub oba te węzły.

enable_auto_scale
bool
Wymagane

Określa, czy rozmiar puli powinien być automatycznie dostosowywany w miarę upływu czasu. Jeśli wartość false, należy określić co najmniej jeden z elementów targetDedicatedNodes i targetLowPriorityNodes. Jeśli wartość true, wymagany jest element autoScaleFormula. Rozmiar puli jest automatycznie zmieniany zgodnie z formułą. Wartość domyślna to false.

auto_scale_formula
str
Wymagane

Nie można określić tej właściwości, jeśli właściwość enableAutoScale jest ustawiona na wartość false. Jest to wymagane, jeśli parametr enableAutoScale jest ustawiony na wartość true. Formuła jest sprawdzana pod kątem ważności przed utworzeniem puli. Jeśli formuła jest nieprawidłowa, usługa Batch odrzuca żądanie ze szczegółowymi informacjami o błędzie.

auto_scale_evaluation_interval
<xref:timedelta>
Wymagane

Wartość domyślna to 15 minut. Minimalna i maksymalna wartość to odpowiednio 5 minut i 168 godzin. Jeśli określisz wartość mniejszą niż 5 minut lub większą niż 168 godzin, usługa Batch odrzuci żądanie z nieprawidłowym błędem wartości właściwości; Jeśli bezpośrednio wywołujesz interfejs API REST, kod stanu HTTP to 400 (Nieprawidłowe żądanie).

enable_inter_node_communication
bool
Wymagane

Określa, czy pula zezwala na bezpośrednią komunikację między węzłami obliczeniowymi. Włączenie komunikacji między węzłami ogranicza maksymalny rozmiar puli z powodu ograniczeń wdrażania w węzłach obliczeniowych puli. Może to spowodować, że pula nie osiągnie żądanego rozmiaru. Wartość domyślna to false.

network_configuration
NetworkConfiguration
Wymagane

Konfiguracja sieci dla puli.

start_task
StartTask
Wymagane

Zadanie do uruchomienia w każdym węźle obliczeniowym podczas dołączania do puli. Zadanie jest uruchamiane po dodaniu węzła obliczeniowego do puli lub ponownym uruchomieniu węzła obliczeniowego.

certificate_references
list[CertificateReference]
Wymagane

W przypadku węzłów systemu Windows usługa Batch instaluje certyfikaty w określonym magazynie certyfikatów i lokalizacji. W przypadku węzłów obliczeniowych systemu Linux certyfikaty są przechowywane w katalogu roboczym Zadania, a zmienna środowiskowa AZ_BATCH_CERTIFICATES_DIR jest dostarczana do zadania w celu wykonania zapytania o tę lokalizację. W przypadku certyfikatów z widocznością "remoteUser" katalog "certs" jest tworzony w katalogu głównym użytkownika (np. /home/{user-name}/certs) i Certyfikaty są umieszczane w tym katalogu. Ostrzeżenie: Ta właściwość jest przestarzała i zostanie usunięta po lutym 2024 r. Zamiast tego użyj rozszerzenia Azure KeyVault .

application_package_references
list[ApplicationPackageReference]
Wymagane

Podczas tworzenia puli identyfikator aplikacji pakietu musi być w pełni kwalifikowany (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroups}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Zmiany odwołań do pakietu mają wpływ na wszystkie nowe węzły łączące pulę, ale nie mają wpływu na węzły obliczeniowe, które znajdują się już w puli, dopóki nie zostaną ponownie uruchomione lub ponownie z obrazu. W dowolnej puli istnieje maksymalnie 10 odwołań do pakietu.

application_licenses
list[str]
Wymagane

Lista licencji aplikacji musi być podzbiorem dostępnych licencji aplikacji usługi Batch. Jeśli zażądano licencji, która nie jest obsługiwana, tworzenie puli zakończy się niepowodzeniem. Dozwolone licencje dostępne na basenie to "maya", "vray", "3dsmax", "arnold". Dodatkowa opłata jest naliczana za każdą licencję aplikacji dodaną do puli.

user_accounts
list[UserAccount]
Wymagane
metadata
list[MetadataItem]
Wymagane

Usługa Batch nie przypisuje żadnego znaczenia do metadanych; jest on przeznaczony wyłącznie do korzystania z kodu użytkownika.

mount_configuration
list[MountConfiguration]
Wymagane

Obsługuje to Azure Files, NFS, CIFS/SMB i Blobfuse.

target_node_communication_mode
str lub NodeCommunicationMode
Wymagane

Żądany tryb komunikacji węzła dla puli. Jeśli pominięto, wartością domyślną jest Wartość domyślna. Możliwe wartości to: "default", "classic", "simplified"

Metody

as_dict

Zwróć dykt, który może być JSONify przy użyciu pliku json.dump.

Użycie zaawansowane może opcjonalnie używać wywołania zwrotnego jako parametru:

Klucz to nazwa atrybutu używana w języku Python. Attr_desc to dykt metadanych. Obecnie zawiera ciąg "type" z typem msrest i kluczem zakodowanym za pomocą interfejsu RESTAPI. Wartość jest bieżącą wartością w tym obiekcie.

Zwrócony ciąg będzie używany do serializacji klucza. Jeśli zwracany typ jest listą, jest to uznawane za hierarchiczny dykt wyniku.

Zobacz trzy przykłady w tym pliku:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

deserialize

Analizowanie ciągu przy użyciu składni restAPI i zwracanie modelu.

enable_additional_properties_sending
from_dict

Przeanalizuj dykt przy użyciu danego modułu wyodrębniającego klucz, który zwraca model.

Domyślnie należy rozważyć wyodrębnianie kluczy (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor i last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Zwróć kod JSON, który zostanie wysłany na platformę Azure z tego modelu.

Jest to alias as_dict (full_restapi_key_transformer, keep_readonly=False).

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

validate

Zweryfikuj ten model cyklicznie i zwróć listę błędu ValidationError.

as_dict

Zwróć dykt, który może być JSONify przy użyciu pliku json.dump.

Użycie zaawansowane może opcjonalnie używać wywołania zwrotnego jako parametru:

Klucz to nazwa atrybutu używana w języku Python. Attr_desc to dykt metadanych. Obecnie zawiera ciąg "type" z typem msrest i kluczem zakodowanym za pomocą interfejsu RESTAPI. Wartość jest bieżącą wartością w tym obiekcie.

Zwrócony ciąg będzie używany do serializacji klucza. Jeśli zwracany typ jest listą, jest to uznawane za hierarchiczny dykt wyniku.

Zobacz trzy przykłady w tym pliku:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

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

Parametry

key_transformer
<xref:function>

Funkcja transformatora klucza.

keep_readonly
wartość domyślna: True

Zwraca

Obiekt zgodny z dyktacją JSON

Typ zwracany

deserialize

Analizowanie ciągu przy użyciu składni restAPI i zwracanie modelu.

deserialize(data, content_type=None)

Parametry

data
str
Wymagane

Str używający struktury RestAPI. Domyślnie dane JSON.

content_type
str
wartość domyślna: None

Domyślnie w formacie JSON ustaw wartość application/xml, jeśli plik XML.

Zwraca

Wystąpienie tego modelu

Wyjątki

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Przeanalizuj dykt przy użyciu danego modułu wyodrębniającego klucz, który zwraca model.

Domyślnie należy rozważyć wyodrębnianie kluczy (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor i last_rest_key_case_insensitive_extractor)

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

Parametry

data
dict
Wymagane

Dykt używający struktury RestAPI

content_type
str
wartość domyślna: None

Domyślnie w formacie JSON ustaw wartość application/xml, jeśli plik XML.

key_extractors
wartość domyślna: None

Zwraca

Wystąpienie tego modelu

Wyjątki

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Zwróć kod JSON, który zostanie wysłany na platformę Azure z tego modelu.

Jest to alias as_dict (full_restapi_key_transformer, keep_readonly=False).

Jeśli chcesz serializacji XML, możesz przekazać kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parametry

keep_readonly
bool
wartość domyślna: False

Jeśli chcesz serializować atrybuty tylko do odczytu

Zwraca

Obiekt zgodny z dyktacją JSON

Typ zwracany

validate

Zweryfikuj ten model cyklicznie i zwróć listę błędu ValidationError.

validate()

Zwraca

Lista błędów walidacji

Typ zwracany