airflow.providers.google.cloud.hooks.compute

此模組包含 Google Compute Engine Hook。

模組內容

類別

GceOperationStatus

包含 GCE 運算狀態的類別。

ComputeEngineHook

Google Compute Engine API 的 Hook。

屬性

TIME_TO_SLEEP_IN_SECONDS

airflow.providers.google.cloud.hooks.compute.TIME_TO_SLEEP_IN_SECONDS = 1[原始碼]
class airflow.providers.google.cloud.hooks.compute.GceOperationStatus[原始碼]

包含 GCE 運算狀態的類別。

PENDING = 'PENDING'[原始碼]
RUNNING = 'RUNNING'[原始碼]
DONE = 'DONE'[原始碼]
class airflow.providers.google.cloud.hooks.compute.ComputeEngineHook(api_version='v1', gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[原始碼]

基底類別: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

Google Compute Engine API 的 Hook。

在 hook 中使用 project_id 的所有方法都必須使用關鍵字引數而非位置引數呼叫。

get_conn()[原始碼]

擷取與 Google Compute Engine 的連線。

傳回

Google Compute Engine 服務物件

傳回類型

dict

get_compute_instance_template_client()[原始碼]

傳回 Compute Engine 執行個體範本用戶端。

get_compute_instance_client()[原始碼]

傳回 Compute Engine 執行個體用戶端。

get_compute_instance_group_managers_client()[原始碼]

傳回 Compute Engine 執行個體群組管理員用戶端。

insert_instance_template(body, request_id=None, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[原始碼]

使用指定的 body 建立執行個體範本。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • body (dict) – 執行個體範本表示為物件。

  • request_id (str | None) – 您可能會新增的唯一 request_id,以達成完整冪等性 (例如,當用戶端呼叫逾時時,重複使用相同 request id 的要求將不會再次建立新的執行個體範本)。格式應為 RFC 4122 中定義的 UUID

  • project_id (str) – Google Cloud 專案 ID,Compute Engine 執行個體範本位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • retry (google.api_core.retry.Retry | None) – 用於重試要求的重試物件。如果指定 None,則不會重試要求。

  • timeout (float | None) – 等待要求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則逾時適用於每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的其他中繼資料。

delete_instance_template(resource_id, request_id=None, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[原始碼]

刪除執行個體範本。

刪除執行個體範本是永久性的,且無法復原。無法刪除受管理執行個體群組已在使用的範本。必須使用關鍵字引數而非位置引數呼叫。

參數
  • resource_id (str) – Compute Engine 執行個體範本資源的名稱。

  • request_id (str | None) – 您可能會新增的唯一 request_id,以達成完整冪等性 (例如,當用戶端呼叫逾時時,重複使用相同 request id 的要求將不會再次建立新的執行個體範本)。格式應為 RFC 4122 中定義的 UUID

  • project_id (str) – Google Cloud 專案 ID,Compute Engine 執行個體範本位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • retry (google.api_core.retry.Retry | None) – 用於重試要求的重試物件。如果指定 None,則不會重試要求。

  • timeout (float | None) – 等待要求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則逾時適用於每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的其他中繼資料。

get_instance_template(resource_id, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[原始碼]

依 project_id 和 resource_id 擷取執行個體範本。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • resource_id (str) – 執行個體範本的名稱。

  • project_id (str) – Google Cloud 專案 ID,Compute Engine 執行個體範本位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • retry (google.api_core.retry.Retry | None) – 用於重試要求的重試物件。如果指定 None,則不會重試要求。

  • timeout (float | None) – 等待要求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則逾時適用於每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的其他中繼資料。

傳回

執行個體範本表示為物件,根據 https://cloud.google.com/compute/docs/reference/rest/v1/instanceTemplates

傳回類型

物件

insert_instance(body, zone, project_id=PROVIDE_PROJECT_ID, request_id=None, source_instance_template=None, retry=None, timeout=None, metadata=())[原始碼]

使用指定的 body 建立執行個體。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • body (dict) – 執行個體表示為物件。應至少包含 'name'、'machine_type'、'disks' 和 'network_interfaces' 欄位,但不包含 'zone' 欄位,因為它將在 'zone' 參數中指定。完整或部分 URL,且可以表示為以下範例:1. “machine_type”: “projects/your-project-name/zones/your-zone/machineTypes/your-machine-type” 2. “source_image”: “projects/your-project-name/zones/your-zone/diskTypes/your-disk-type” 3. “subnetwork”: “projects/your-project-name/regions/your-region/subnetworks/your-subnetwork”

  • zone (str) – Google Cloud 區域,執行個體位於其中

  • project_id (str) – Google Cloud 專案 ID,Compute Engine 執行個體範本位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • source_instance_template (str | None) – 現有的執行個體範本,將在新執行個體建立時用作基礎。指定時,在建立新執行個體時,應僅在 'body' 參數中提供新執行個體的名稱作為輸入引數。所有其他參數將依照執行個體範本中指定的內容傳遞至執行個體。完整或部分 URL,且可以表示為以下範例:1. “https://www.googleapis.com/compute/v1/projects/your-project/global/instanceTemplates/temp” 2. “projects/your-project/global/instanceTemplates/temp” 3. “global/instanceTemplates/temp”

  • request_id (str | None) – 您可能會新增的唯一 request_id,以達成完整冪等性 (例如,當用戶端呼叫逾時時,重複使用相同 request id 的要求將不會再次建立新的執行個體範本)。格式應為 RFC 4122 中定義的 UUID

  • retry (google.api_core.retry.Retry | None) – 用於重試要求的重試物件。如果指定 None,則不會重試要求。

  • timeout (float | None) – 等待要求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則逾時適用於每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的其他中繼資料。

get_instance(resource_id, zone, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[原始碼]

依 project_id 和 resource_id 擷取執行個體。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • resource_id (str) – 執行個體的名稱

  • zone (str) – Google Cloud 區域,執行個體位於其中

  • project_id (str) – Google Cloud 專案 ID,Compute Engine 執行個體位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • retry (google.api_core.retry.Retry | None) – 用於重試要求的重試物件。如果指定 None,則不會重試要求。

  • timeout (float | None) – 等待要求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則逾時適用於每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的其他中繼資料。

傳回

執行個體表示為物件,根據 https://cloud.google.com/compute/docs/reference/rest/v1/instances

傳回類型

物件

delete_instance(resource_id, zone, project_id=PROVIDE_PROJECT_ID, request_id=None, retry=None, timeout=None, metadata=())[原始碼]

永久且不可撤銷地刪除執行個體。

無法刪除受管理執行個體群組已在使用的執行個體。必須使用關鍵字引數而非位置引數呼叫。

參數
  • resource_id (str) – Compute Engine 執行個體範本資源的名稱。

  • request_id (str | None) – 您可能會新增的唯一 request_id,以達成完整冪等性 (例如,當用戶端呼叫逾時時,重複使用相同 request id 的要求將不會再次建立新的執行個體範本)。格式應為 RFC 4122 中定義的 UUID

  • project_id (str) – Google Cloud 專案 ID,Compute Engine 執行個體範本位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • zone (str) – Google Cloud 區域,執行個體位於其中

  • retry (google.api_core.retry.Retry | None) – 用於重試要求的重試物件。如果指定 None,則不會重試要求。

  • timeout (float | None) – 等待要求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則逾時適用於每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的其他中繼資料。

start_instance(zone, resource_id, project_id)[原始碼]

啟動由 project_id、zone 和 resource_id 定義的現有執行個體。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • zone (str) – Google Cloud 區域,執行個體位於其中

  • resource_id (str) – Compute Engine 執行個體資源的名稱

  • project_id (str) – 選擇性,Google Cloud 專案 ID,Compute Engine 執行個體位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

傳回

None

傳回類型

None

stop_instance(zone, resource_id, project_id)[原始碼]

停止由 project_id、zone 和 resource_id 定義的執行個體。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • zone (str) – Google Cloud 區域,執行個體位於其中

  • resource_id (str) – Compute Engine 執行個體資源的名稱

  • project_id (str) – 選擇性,Google Cloud 專案 ID,Compute Engine 執行個體位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

傳回

None

傳回類型

None

set_machine_type(zone, resource_id, body, project_id)[原始碼]

設定由 project_id、zone 和 resource_id 定義的執行個體的機器類型。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • zone (str) – Google Cloud 區域,執行個體位於其中。

  • resource_id (str) – Compute Engine 執行個體資源的名稱

  • body (dict) – Compute Engine setMachineType API 所需的 Body,如 https://cloud.google.com/compute/docs/reference/rest/v1/instances/setMachineType 中所述

  • project_id (str) – 選擇性,Google Cloud 專案 ID,Compute Engine 執行個體位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

傳回

None

傳回類型

None

insert_instance_group_manager(body, zone, project_id=PROVIDE_PROJECT_ID, request_id=None, retry=None, timeout=None, metadata=())[原始碼]

使用指定的 body 建立執行個體群組管理員。

在群組建立後,群組中的執行個體會使用指定的執行個體範本建立。必須使用關鍵字引數而非位置引數呼叫。

參數
  • body (dict) – 執行個體群組管理員表示為物件。

  • request_id (str | None) – 您可能會新增的唯一 request_id,以達成完整冪等性 (例如,當用戶端呼叫逾時時,重複使用相同 request id 的要求將不會再次建立新的執行個體群組管理員)。格式應為 RFC 4122 中定義的 UUID

  • project_id (str) – Google Cloud 專案 ID,Compute Engine 執行個體群組管理員位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • zone (str) – Google Cloud 區域,執行個體位於其中

  • retry (google.api_core.retry.Retry | None) – 用於重試要求的重試物件。如果指定 None,則不會重試要求。

  • timeout (float | None) – 等待要求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則逾時適用於每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的其他中繼資料。

get_instance_group_manager(resource_id, zone, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[原始碼]

依 project_id、zone 和 resource_id 擷取執行個體群組管理員。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • resource_id (str) – 受管理執行個體群組的名稱

  • zone (str) – Google Cloud 區域,執行個體群組管理員位於其中

  • project_id (str) – Google Cloud 專案 ID,Compute Engine 執行個體群組管理員位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • retry (google.api_core.retry.Retry | None) – 用於重試要求的重試物件。如果指定 None,則不會重試要求。

  • timeout (float | None) – 等待要求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則逾時適用於每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的其他中繼資料。

傳回

執行個體群組管理員表示為物件,根據 https://cloud.google.com/compute/docs/reference/rest/v1/instanceGroupManagers

傳回類型

物件

delete_instance_group_manager(resource_id, zone, project_id=PROVIDE_PROJECT_ID, request_id=None, retry=None, timeout=None, metadata=())[原始碼]

永久且不可撤銷地刪除執行個體群組管理員。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • resource_id (str) – Compute Engine 執行個體群組管理員資源的名稱。

  • request_id (str | None) – 您可能會新增的唯一 request_id,以達成完整冪等性 (例如,當用戶端呼叫逾時時,重複使用相同 request id 的要求將不會再次建立新的執行個體範本)。格式應為 RFC 4122 中定義的 UUID

  • project_id (str) – Google Cloud 專案 ID,Compute Engine 執行個體群組管理員位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • zone (str) – Google Cloud 區域,執行個體群組管理員位於其中

  • retry (google.api_core.retry.Retry | None) – 用於重試要求的重試物件。如果指定 None,則不會重試要求。

  • timeout (float | None) – 等待要求完成的時間量 (以秒為單位)。請注意,如果指定 retry,則逾時適用於每個個別嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的其他中繼資料。

patch_instance_group_manager(zone, resource_id, body, project_id, request_id=None)[原始碼]

使用指定的 body 修補執行個體群組管理員。

必須使用關鍵字引數而非位置引數呼叫。

參數
  • zone (str) – Google Cloud 區域,執行個體群組管理員位於其中

  • resource_id (str) – 執行個體群組管理員的名稱

  • body (dict) – 執行個體群組管理員表示為 json-merge-patch 物件,根據 https://cloud.google.com/compute/docs/reference/rest/beta/instanceTemplates/patch

  • request_id (str | None) – 選擇性,您可能會新增的唯一 request_id,以達成完整冪等性 (例如,當用戶端呼叫逾時時,重複使用相同 request id 的要求將不會再次建立新的執行個體範本)。格式應為 RFC 4122 中定義的 UUID

  • project_id (str) – 選擇性,Google Cloud 專案 ID,Compute Engine 執行個體位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

傳回

None

傳回類型

None

get_instance_info(zone, resource_id, project_id)[原始碼]

取得執行個體資訊。

參數
  • zone (str) – Google Cloud 區域,執行個體群組管理員位於其中

  • resource_id (str) – 執行個體群組管理員的名稱

  • project_id (str) – 選擇性,Google Cloud 專案 ID,Compute Engine 執行個體位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

get_instance_address(zone, resource_id, project_id=PROVIDE_PROJECT_ID, use_internal_ip=False)[原始碼]

傳回與執行個體相關聯的網路位址。

參數
  • zone (str) – Google Cloud 區域,執行個體群組管理員位於其中

  • resource_id (str) – 執行個體群組管理員的名稱

  • project_id (str) – 選擇性,Google Cloud 專案 ID,Compute Engine 執行個體位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • use_internal_ip (bool) – 若為 true,則傳回私有 IP 位址。

set_instance_metadata(zone, resource_id, metadata, project_id)[原始碼]

設定執行個體中繼資料。

參數
  • zone (str) – Google Cloud 區域,執行個體群組管理員位於其中

  • resource_id (str) – 執行個體群組管理員的名稱

  • metadata (dict[str, str]) – 新的執行個體中繼資料。

  • project_id (str) – 選擇性,Google Cloud 專案 ID,Compute Engine 執行個體位於其中。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

此條目是否實用?