共用方式為


PoolSpecification 類別

建立新集區的規格。

必須填入所有必要的參數,才能傳送至 Azure。

繼承
PoolSpecification

建構函式

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)

參數

display_name
str
必要

顯示名稱不一定是唯一的,而且可以包含最多 1024 個 Unicode 字元。

vm_size
str
必要

必要。 如需集區中虛擬機器可用大小的相關資訊,請參閱選擇Azure Batch集區中計算節點的 VM 大小 (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes) 。

cloud_service_configuration
CloudServiceConfiguration
必要

集區的雲端服務組態。 如果需要使用 Azure PaaS VM 建立集區,則必須指定這個屬性。 此屬性和 virtualMachineConfiguration 互斥,而且必須指定其中一個屬性。 如果未指定任一項,Batch 服務就會傳回錯誤;如果您要直接呼叫 REST API,HTTP 狀態碼為 400 (「不正確的要求」) 。 如果 Batch 帳戶是以其 poolAllocationMode 屬性設定為 'UserSubscription' 建立,則無法指定這個屬性。

virtual_machine_configuration
VirtualMachineConfiguration
必要

集區的虛擬機器組態。 如果需要使用 Azure IaaS VM 建立集區,則必須指定這個屬性。 此屬性和 cloudServiceConfiguration 互斥,而且必須指定其中一個屬性。 如果未指定任一項,Batch 服務就會傳回錯誤;如果您要直接呼叫 REST API,HTTP 狀態碼為 400 (「不正確的要求」) 。

task_slots_per_node
int
必要

可用於在集區中單一計算節點上執行並行工作的工作位置數目。 預設值為 1。 最大值為 4 倍的 vmSize 集區核心數目或 256 倍。

task_scheduling_policy
TaskSchedulingPolicy
必要

工作如何分散到集區中的計算節點。 如果未指定,則預設值為散佈。

resize_timeout
<xref:timedelta>
必要

此逾時僅適用于手動調整;當 enableAutoScale 設定為 true 時,它沒有任何作用。 預設值為 15 分鐘。 最小值為 5 分鐘。 如果您指定小於 5 分鐘的值,Batch 服務會拒絕要求併發生錯誤;如果您要直接呼叫 REST API,HTTP 狀態碼為 400 (「不正確的要求」) 。

target_dedicated_nodes
int
必要

集區中所需的專用計算節點數目。 如果 enableAutoScale 設定為 true,則不得指定這個屬性。 如果 enableAutoScale 設定為 false,則您必須設定 targetDedicatedNodes、targetLowPriorityNodes 或兩者。

target_low_priority_nodes
int
必要

集區中所需的現成/低優先順序計算節點數目。 如果 enableAutoScale 設定為 true,則不得指定這個屬性。 如果 enableAutoScale 設定為 false,則您必須設定 targetDedicatedNodes、targetLowPriorityNodes 或兩者。

enable_auto_scale
bool
必要

集區大小是否應該隨著時間自動調整。 如果為 false,則必須指定至少一個 targetDedicatedNodes 和 targetLowPriorityNodes。 如果為 true,則需要 autoScaleFormula 元素。 集區會根據公式自動調整大小。 預設值為 false。

auto_scale_formula
str
必要

如果 enableAutoScale 設定為 false,則不得指定這個屬性。 如果 enableAutoScale 設定為 true,則需要它。 在建立集區之前,會先檢查公式是否有效。 如果公式無效,Batch 服務會拒絕要求,並包含詳細的錯誤資訊。

auto_scale_evaluation_interval
<xref:timedelta>
必要

預設值為 15 分鐘。 最小值和最大值分別為 5 分鐘和 168 小時。 如果您指定小於 5 分鐘或大於 168 小時的值,Batch 服務會拒絕要求,並出現不正確屬性值錯誤;如果您要直接呼叫 REST API,HTTP 狀態碼為 400 (「不正確的要求」) 。

enable_inter_node_communication
bool
必要

集區是否允許計算節點之間的直接通訊。 啟用節點間通訊會限制集區的大小上限,因為集區的計算節點上的部署限制。 這可能會導致集區無法達到所需的大小。 預設值為 false。

network_configuration
NetworkConfiguration
必要

集區的網路組態。

start_task
StartTask
必要

加入集區時,要在每個計算節點上執行的工作。 當計算節點新增至集區或重新開機計算節點時,工作就會執行。

certificate_references
list[CertificateReference]
必要

針對 Windows 節點,Batch 服務會將憑證安裝到指定的憑證存放區和位置。 針對 Linux 計算節點,憑證會儲存在工作工作目錄內的目錄中,並將環境變數AZ_BATCH_CERTIFICATES_DIR提供給工作來查詢此位置。 對於可見度為 'remoteUser' 的憑證,會在使用者的主目錄中建立 'certs' 目錄 (,例如 /home/{user-name}/certs) ,而 Certificates 會放在該目錄中。 警告:此屬性已被取代,將在 2024 年 2 月之後移除。請改用 Azure KeyVault 擴充功能

application_package_references
list[ApplicationPackageReference]
必要

建立集區時,套件的應用程式識別碼必須完整 (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}) 。 套件參考的變更會影響聯結集區的所有新節點,但不會影響已在集區中的計算節點,直到重新開機或重新製作映射為止。 任何指定的集區上最多有 10 個套件參考。

application_licenses
list[str]
必要

應用程式授權清單必須是可用 Batch 服務應用程式授權的子集。 如果要求不支援的授權,則集區建立將會失敗。 集區上可用的允許授權為 'maya'、'vray'、'3dsmax'、'arnold'。 新增至集區的每個應用程式授權都會收取額外費用。

user_accounts
list[UserAccount]
必要
metadata
list[MetadataItem]
必要

Batch 服務不會將任何意義指派給中繼資料;它僅供使用者程式碼使用。

mount_configuration
list[MountConfiguration]
必要

這支援Azure 檔案儲存體、NFS、CIFS/SMB 和 Blobfuse。

target_node_communication_mode
strNodeCommunicationMode
必要

集區所需的節點通訊模式。 如果省略,預設值為 Default。 可能的值包括:'default'、'classic'、'simplified'

方法

as_dict

使用 json.dump 傳回可以是 JSONify 的聽寫。

進階用法可以選擇性地使用回呼作為參數:

索引鍵是 Python 中使用的屬性名稱。 Attr_desc是中繼資料的聽寫。 目前包含具有 msrest 類型的 'type',以及具有 RestAPI 編碼金鑰的 'key'。 Value 是這個 物件中的目前值。

傳回的字串將用來序列化索引鍵。 如果傳回類型是清單,則會將此視為階層式結果聽寫。

請參閱此檔案中的三個範例:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

如果您想要 XML 序列化,您可以傳遞 kwargs is_xml=True。

deserialize

使用 RestAPI 語法剖析 str 並傳回模型。

enable_additional_properties_sending
from_dict

使用指定的索引鍵擷取器剖析聽寫會傳回模型。

根據預設,請考慮金鑰擷取器 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor和last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

傳回會從此模型傳送至 Azure 的 JSON。

這是as_dict (full_restapi_key_transformer的別名 ,keep_readonly=False)

如果您想要 XML 序列化,您可以傳遞 kwargs is_xml=True。

validate

以遞迴方式驗證此模型,並傳回 ValidationError 的清單。

as_dict

使用 json.dump 傳回可以是 JSONify 的聽寫。

進階用法可以選擇性地使用回呼作為參數:

索引鍵是 Python 中使用的屬性名稱。 Attr_desc是中繼資料的聽寫。 目前包含具有 msrest 類型的 'type',以及具有 RestAPI 編碼金鑰的 'key'。 Value 是這個 物件中的目前值。

傳回的字串將用來序列化索引鍵。 如果傳回類型是清單,則會將此視為階層式結果聽寫。

請參閱此檔案中的三個範例:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

如果您想要 XML 序列化,您可以傳遞 kwargs is_xml=True。

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

參數

key_transformer
<xref:function>

按鍵轉換程式函式。

keep_readonly
預設值: True

傳回

聽寫 JSON 相容物件

傳回類型

deserialize

使用 RestAPI 語法剖析 str 並傳回模型。

deserialize(data, content_type=None)

參數

data
str
必要

使用 RestAPI 結構的 str。 根據預設,JSON。

content_type
str
預設值: None

根據預設,如果 XML,請設定 application/xml。

傳回

此模型的實例

例外狀況

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

使用指定的索引鍵擷取器剖析聽寫會傳回模型。

根據預設,請考慮金鑰擷取器 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor和last_rest_key_case_insensitive_extractor)

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

參數

data
dict
必要

使用 RestAPI 結構的聽寫

content_type
str
預設值: None

根據預設,如果 XML,請設定 application/xml。

key_extractors
預設值: None

傳回

此模型的實例

例外狀況

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

傳回會從此模型傳送至 Azure 的 JSON。

這是as_dict (full_restapi_key_transformer的別名 ,keep_readonly=False)

如果您想要 XML 序列化,您可以傳遞 kwargs is_xml=True。

serialize(keep_readonly=False, **kwargs)

參數

keep_readonly
bool
預設值: False

如果您想要序列化唯讀屬性

傳回

聽寫 JSON 相容物件

傳回類型

validate

以遞迴方式驗證此模型,並傳回 ValidationError 的清單。

validate()

傳回

驗證錯誤清單

傳回類型