airflow.providers.microsoft.azure.operators.batch

模組內容

類別

AzureBatchOperator

在 Azure Batch 服務上執行任務。

class airflow.providers.microsoft.azure.operators.batch.AzureBatchOperator(*, batch_pool_id, batch_pool_vm_size, batch_job_id, batch_task_command_line, batch_task_id, vm_node_agent_sku_id, vm_publisher=None, vm_offer=None, sku_starts_with=None, vm_sku=None, vm_version=None, os_family=None, os_version=None, batch_pool_display_name=None, batch_job_display_name=None, batch_job_manager_task=None, batch_job_preparation_task=None, batch_job_release_task=None, batch_task_display_name=None, batch_task_container_settings=None, batch_start_task=None, batch_max_retries=3, batch_task_resource_files=None, batch_task_output_files=None, batch_task_user_identity=None, target_low_priority_nodes=None, target_dedicated_nodes=None, enable_auto_scale=False, auto_scale_formula=None, azure_batch_conn_id='azure_batch_default', use_latest_verified_vm_image_and_sku=False, timeout=25, should_delete_job=False, should_delete_pool=False, **kwargs)[原始碼]

基底: airflow.models.BaseOperator

在 Azure Batch 服務上執行任務。

參數
  • batch_pool_id (str) – 在帳戶中唯一識別集區的字串。

  • batch_pool_vm_size (str) – 集區中虛擬機器的大小

  • batch_job_id (str) – 在帳戶中唯一識別工作的字串。

  • batch_task_command_line (str) – 任務的命令列

  • batch_task_id (str) – 在工作內唯一識別任務的字串。

  • batch_pool_display_name (str | None) – 集區的顯示名稱。顯示名稱不需要是唯一的

  • batch_job_display_name (str | None) – 工作的顯示名稱。顯示名稱不需要是唯一的

  • batch_job_manager_task (azure.batch.models.JobManagerTask | None) – 工作啟動時要啟動的工作管理員任務的詳細資訊。

  • batch_job_preparation_task (azure.batch.models.JobPreparationTask | None) – 工作準備任務。如果設定,Batch 服務會在運算節點上啟動該工作的任何任務之前,先在該節點上執行工作準備任務。如果已設定 batch_job_release_task,則為必要項目。

  • batch_job_release_task (azure.batch.models.JobReleaseTask | None) – 工作發行任務。用於還原工作準備任務對運算節點所做的變更

  • batch_task_display_name (str | None) – 任務的顯示名稱。顯示名稱不需要是唯一的

  • batch_task_container_settings (azure.batch.models.TaskContainerSettings | None) – 任務在其下執行的容器設定

  • batch_start_task (azure.batch.models.StartTask | None) – 指定在每個運算節點加入集區時執行的任務。當運算節點新增至集區或運算節點重新啟動時,任務會執行。

  • batch_max_retries (int) – 在將此批次作業視為失敗作業之前,要重試的次數。預設值為 3

  • batch_task_resource_files (list[azure.batch.models.ResourceFile] | None) – Batch 服務在執行命令列之前,將下載到運算節點的檔案清單。

  • batch_task_output_files (list[azure.batch.models.OutputFile] | None) – Batch 服務在執行命令列之後,將從運算節點上傳的檔案清單。

  • batch_task_user_identity (azure.batch.models.UserIdentity | None) – 任務在其下執行的使用者身分識別。如果省略,任務會以任務唯一的非管理員使用者身分執行。

  • target_low_priority_nodes (int | None) – 集區中所需的低優先順序運算節點數目。如果 enable_auto_scale 設定為 true,則不得指定此屬性。

  • target_dedicated_nodes (int | None) – 集區中所需的專用運算節點數目。如果 enable_auto_scale 設定為 true,則不得指定此屬性。

  • enable_auto_scale (bool) – 集區大小是否應隨時間自動調整。預設值為 false

  • auto_scale_formula (str | None) – 集區中所需運算節點數目的公式。如果 enableAutoScale 設定為 false,則不得指定此屬性。如果 enableAutoScale 設定為 true,則為必要項目。

  • azure_batch_conn_idAzure Batch 連線 ID

  • use_latest_verified_vm_image_and_sku (bool) – 是否要在 Batch 帳戶中使用最新的已驗證虛擬機器映像和 SKU。預設值為 false。

  • vm_publisher (str | None) – Azure 虛擬機器 Marketplace 映像的發行者。例如,Canonical 或 MicrosoftWindowsServer。如果 use_latest_image_and_sku 設定為 True,則為必要項目

  • vm_offer (str | None) – Azure 虛擬機器 Marketplace 映像的供應項目類型。例如,UbuntuServer 或 WindowsServer。如果 use_latest_image_and_sku 設定為 True,則為必要項目

  • sku_starts_with (str | None) – 虛擬機器 SKU 的起始字串。如果 use_latest_image_and_sku 設定為 True,則為必要項目

  • vm_sku (str | None) – 要使用的虛擬機器 SKU 名稱

  • vm_version (str | None) – 虛擬機器版本

  • vm_version – str | None

  • vm_node_agent_sku_id (str) – 虛擬機器的節點代理程式 SKU ID

  • os_family (str | None) – 要安裝在集區中虛擬機器上的 Azure 客戶作業系統系列。

  • os_version (str | None) – 作業系統系列版本

  • timeout (int) – 等待工作完成的時間量 (分鐘)。預設值為 25

  • should_delete_job (bool) – 執行後是否刪除工作。預設值為 False

  • should_delete_pool (bool) – 工作執行後是否刪除集區。預設值為 False

template_fields: collections.abc.Sequence[str] = ('batch_pool_id', 'batch_pool_vm_size', 'batch_job_id', 'batch_task_id', 'batch_task_command_line')[原始碼]
ui_color = '#f0f0e4'[原始碼]
hook()[原始碼]

建立並傳回 AzureBatchHook (已快取)。

execute(context)[原始碼]

在建立運算子時衍生。

Context (上下文) 是與呈現 jinja 模板時使用的字典相同。

請參閱 get_template_context 以取得更多上下文。

on_kill()[原始碼]

覆寫此方法以在任務執行個體遭到終止時清除子程序。

在運算子內使用 threading、subprocess 或 multiprocessing 模組的任何情況都需要清除,否則會留下幽靈程序。

clean_up(pool_id=None, job_id=None)[原始碼]

刪除 Batch 帳戶中給定的集區和工作。

參數
  • pool_id (str | None) – 要刪除的集區 ID

  • job_id (str | None) – 要刪除的工作 ID

此條目是否有幫助?