TaskAddParameter 類別

要新增的Azure Batch工作。

批次會在節點上觸發復原作業時重試工作。 復原作業的範例包括 (,但不限於重新開機狀況不良的節點時) ,或因主機失敗而計算節點消失。 由於復原作業的重試與 無關,而且不會計入 maxTaskRetryCount。 即使 maxTaskRetryCount 為 0,也可能發生因復原作業而造成內部重試。 因此,所有工作都應該是等冪的。 這表示工作必須容許中斷並重新啟動,而不會造成任何損毀或重複的資料。 長時間執行工作的最佳做法是使用某種形式的檢查點檢查。

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

繼承
TaskAddParameter

建構函式

TaskAddParameter(*, id: str, command_line: str, display_name: str = None, container_settings=None, exit_conditions=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, multi_instance_settings=None, depends_on=None, application_package_references=None, authentication_token_settings=None, **kwargs)

參數

id
str
必要

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

display_name
str
必要

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

command_line
str
必要

必要。 針對多重實例工作,命令列會在主要工作和所有子工作完成協調命令列之後,以主要工作的形式執行。 命令列不會在殼層下執行,因此無法利用環境變數擴充等殼層功能。 如果您想要利用這類功能,您應該在命令列中叫用殼層,例如在 Windows 中使用 「cmd /c MyCommand」 或 Linux 中的 「/bin/sh -c MyCommand」。 如果命令列參考檔案路徑,它應該使用相對於工作工作目錄) 的相對路徑 (,或使用 Batch 提供的環境變數 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) 。

container_settings
TaskContainerSettings
必要

工作執行所在容器的設定。 如果執行此工作的集區已設定 containerConfiguration,也必須設定此設定。 如果執行此工作的集區未設定 containerConfiguration,則不得設定此設定。 當指定此專案時,節點) 上Azure Batch目錄根目錄AZ_BATCH_NODE_ROOT_DIR (遞迴地對應到容器、所有 Task 環境變數都會對應到容器中,而且工作命令列會在容器中執行。 在AZ_BATCH_NODE_ROOT_DIR外部容器中產生的檔案可能不會反映到主機磁片,這表示 Batch 檔案 API 將無法存取這些檔案。

exit_conditions
ExitConditions
必要

Batch 服務在工作完成時應該如何回應。

resource_files
list[ResourceFile]
必要

對於多重實例工作,資源檔只會下載到執行主要工作的計算節點。 資源檔案清單的大小上限。 超過大小上限時,要求將會失敗,而回應錯誤碼將會是 RequestEntityTooLarge。 如果發生這種情況,ResourceFiles 的集合必須縮小大小。 這可以使用 .zip 檔案、應用程式套件或 Docker 容器來達成。

output_files
list[OutputFile]
必要

對於多實例工作,檔案只會從執行主要工作的計算節點上傳。

environment_settings
list[EnvironmentSetting]
必要
affinity_info
AffinityInformation
必要

Batch 服務可用來選取要啟動新工作的計算節點的地區提示。

constraints
TaskConstraints
必要

套用至此工作的執行條件約束。 如果您未指定條件約束,maxTaskRetryCount 是針對 Job 指定的 maxTaskRetryCount、maxWallClockTime 為無限,且 retentionTime 為 7 天。

required_slots
int
必要

工作執行所需的排程位置數目。 預設值是 1。 如果節點有足夠的可用排程位置,工作只能排程在計算節點上執行。 對於多重實例工作,這必須是 1。

user_identity
UserIdentity
必要

工作執行所在的使用者身分識別。 如果省略,工作會以 Task 唯一的非系統管理使用者身分執行。

multi_instance_settings
MultiInstanceSettings
必要

物件,指出 Task 是多實例工作,並包含如何執行多重實例工作的資訊。

depends_on
TaskDependencies
必要

此工作相依的工作。 除非所有相依的工作都成功完成,否則不會排程此工作。 如果其中任何一個工作失敗並耗盡其重試計數,則永遠不會排程此工作。 如果作業沒有將 usesTaskDependencies 設定為 true,而且此元素存在,要求就會失敗,並出現錯誤碼 TaskDependenciesNotSpecifiedOnJob。

application_package_references
list[ApplicationPackageReference]
必要

應用程式套件會下載並部署到共用目錄,而不是工作工作目錄。 因此,如果參考的套件已經在節點上,而且是最新的,則不會重新下載;會使用計算節點上的現有複本。 如果無法安裝參考的套件,例如因為套件已刪除,或因為下載失敗,所以工作會失敗。

authentication_token_settings
AuthenticationTokenSettings
必要

工作可用來執行 Batch 服務作業的驗證權杖設定。 如果已設定這個屬性,Batch 服務會提供一個驗證權杖,可用來驗證 Batch 服務作業,而不需要帳戶存取金鑰。 權杖是透過AZ_BATCH_AUTHENTICATION_TOKEN環境變數提供。 工作可以使用權杖執行的作業取決於設定。 例如,工作可以要求 [作業] 許可權,以便將其他工作新增至作業,或檢查 [作業] 或 [作業] 下其他工作的狀態。

方法

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

傳回

驗證錯誤清單

傳回類型