PoolAddParameter 類別

要新增之Azure Batch服務中的集區。

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

繼承
PoolAddParameter

建構函式

PoolAddParameter(*, id: str, vm_size: str, display_name: str = None, cloud_service_configuration=None, virtual_machine_configuration=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, task_slots_per_node: int = None, task_scheduling_policy=None, user_accounts=None, metadata=None, mount_configuration=None, target_node_communication_mode=None, **kwargs)

參數

id
str
必要

必要。 識別碼可以包含英數位元的任何組合,包括連字號和底線,而且不能包含超過 64 個字元。 識別碼會保留大小寫且不區分大小寫 (,也就是說,您可能在帳戶中沒有兩個集區識別碼,而該識別碼只因大小寫) 而有所不同。

display_name
str
必要

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

vm_size
str
必要

必要。 如需使用 cloudServiceConfiguration) 建立之雲端服務集區 (可用虛擬機器大小的相關資訊,請參閱雲端服務 () https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/ 的大小。 Batch 支援除了 ExtraSmall、A1V2 和 A2V2 以外的所有雲端服務 VM 大小。 如需使用 virtualMachineConfiguration) 所建立虛擬機器 Marketplace (集區之映射的可用 VM 大小的相關資訊,請參閱 虛擬機器 (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) 大小或 虛擬機器 (windows) () () https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/ 的大小。 Batch 支援除了STANDARD_A0,以及具有進階儲存體 (STANDARD_GS、STANDARD_DS和STANDARD_DSV2系列) 以外的所有 Azure VM 大小。

cloud_service_configuration
CloudServiceConfiguration
必要

集區的雲端服務組態。 此屬性和 virtualMachineConfiguration 互斥,而且必須指定其中一個屬性。 如果 Batch 帳戶的 poolAllocationMode 屬性設定為 'UserSubscription',則無法指定這個屬性。

virtual_machine_configuration
VirtualMachineConfiguration
必要

集區的虛擬機器組態。 此屬性和 cloudServiceConfiguration 互斥,而且必須指定其中一個屬性。

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 服務會拒絕要求,並顯示詳細的錯誤資訊。 For more information about specifying this formula, see 'Automatically scale Compute Nodes in an Azure Batch Pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/).

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) ,且憑證會放在該目錄中。 警告:此屬性已被取代,將在 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 服務應用程式授權的子集。 如果要求不支援的授權,則集區建立將會失敗。

task_slots_per_node
int
必要

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

task_scheduling_policy
TaskSchedulingPolicy
必要

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

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

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

mount_configuration
list[MountConfiguration]
必要

使用 Azure 檔案共用、NFS、CIFS 或 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

JSON 預設會設定 application/xml if 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

JSON 預設會設定 application/xml if 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()

傳回

驗證錯誤清單

傳回類型