airflow.providers.google.cloud.hooks.compute¶
此模組包含一個 Google Compute Engine Hook。
屬性¶
類¶
包含 GCE 操作狀態的類。 |
|
用於 Google Compute Engine API 的 Hook。 |
模組內容¶
- class airflow.providers.google.cloud.hooks.compute.ComputeEngineHook(api_version='v1', gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]¶
Bases:
airflow.providers.google.common.hooks.base_google.GoogleBaseHook用於 Google Compute Engine API 的 Hook。
Hook 中所有使用 project_id 的方法必須使用關鍵字引數而不是位置引數呼叫。
- insert_instance_template(body, request_id=None, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=())[source]¶
使用指定的 body 建立例項模板。
必須使用關鍵字引數而不是位置引數呼叫。
- 引數:
body (dict) – 例項模板的物件表示。
request_id (str | None) – 一個唯一的 request_id,您可以新增它以實現完全冪等性(例如,當客戶端呼叫超時時,使用相同的 request id 重複請求將不會再次建立新的例項模板)。它應該採用 RFC 4122 中定義的 UUID 格式。
project_id (str) – Compute Engine 例項模板所在的 Google Cloud 專案 ID。如果設定為 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=())[source]¶
刪除例項模板。
刪除例項模板是永久性的,無法撤消。無法刪除已被託管例項組使用的模板。必須使用關鍵字引數而不是位置引數呼叫。
- 引數:
resource_id (str) – Compute Engine 例項模板資源的名稱。
request_id (str | None) – 一個唯一的 request_id,您可以新增它以實現完全冪等性(例如,當客戶端呼叫超時時,使用相同的 request id 重複請求將不會再次建立新的例項模板)。它應該採用 RFC 4122 中定義的 UUID 格式。
project_id (str) – Compute Engine 例項模板所在的 Google Cloud 專案 ID。如果設定為 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=())[source]¶
透過 project_id 和 resource_id 檢索例項模板。
必須使用關鍵字引數而不是位置引數呼叫。
- 引數:
resource_id (str) – 例項模板的名稱。
project_id (str) – Compute Engine 例項模板所在的 Google Cloud 專案 ID。如果設定為 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=())[source]¶
使用指定的 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) – Compute Engine 例項模板所在的 Google Cloud 專案 ID。如果設定為 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=())[source]¶
透過 project_id 和 resource_id 檢索例項。
必須使用關鍵字引數而不是位置引數呼叫。
- 引數:
resource_id (str) – 例項的名稱
zone (str) – 例項所在的 Google Cloud 區域。
project_id (str) – Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 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=())[source]¶
永久且不可撤銷地刪除例項。
無法刪除已被託管例項組使用的例項。必須使用關鍵字引數而不是位置引數呼叫。
- 引數:
resource_id (str) – Compute Engine 例項模板資源的名稱。
request_id (str | None) – 一個唯一的 request_id,您可以新增它以實現完全冪等性(例如,當客戶端呼叫超時時,使用相同的 request id 重複請求將不會再次建立新的例項模板)。它應該採用 RFC 4122 中定義的 UUID 格式。
project_id (str) – Compute Engine 例項模板所在的 Google Cloud 專案 ID。如果設定為 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)[source]¶
啟動由 project_id、zone 和 resource_id 定義的現有例項。
必須使用關鍵字引數而不是位置引數呼叫。
- stop_instance(zone, resource_id, project_id)[source]¶
停止由 project_id、zone 和 resource_id 定義的例項。
必須使用關鍵字引數而不是位置引數呼叫。
- set_machine_type(zone, resource_id, body, project_id)[source]¶
設定由 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) – 可選,Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 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=())[source]¶
使用指定的 body 建立例項組管理器。
建立組後,組中的例項將使用指定的例項模板建立。必須使用關鍵字引數而不是位置引數呼叫。
- 引數:
body (dict) – 例項組管理器的物件表示。
request_id (str | None) – 一個唯一的 request_id,您可以新增它以實現完全冪等性(例如,當客戶端呼叫超時時,使用相同的 request id 重複請求將不會再次建立新的例項組管理器)。它應該採用 RFC 4122 中定義的 UUID 格式。
project_id (str) – Compute Engine 例項組管理器所在的 Google Cloud 專案 ID。如果設定為 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=())[source]¶
透過 project_id、zone 和 resource_id 檢索例項組管理器。
必須使用關鍵字引數而不是位置引數呼叫。
- 引數:
resource_id (str) – 託管例項組的名稱
zone (str) – 例項組管理器所在的 Google Cloud 區域
project_id (str) – Compute Engine 例項組管理器所在的 Google Cloud 專案 ID。如果設定為 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=())[source]¶
永久且不可撤銷地刪除例項組管理器。
必須使用關鍵字引數而不是位置引數呼叫。
- 引數:
resource_id (str) – Compute Engine 例項組管理器資源的名稱。
request_id (str | None) – 一個唯一的 request_id,您可以新增它以實現完全冪等性(例如,當客戶端呼叫超時時,使用相同的 request id 重複請求將不會再次建立新的例項模板)。它應該採用 RFC 4122 中定義的 UUID 格式。
project_id (str) – Compute Engine 例項組管理器所在的 Google Cloud 專案 ID。如果設定為 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)[source]¶
使用指定的 body 修補例項組管理器。
必須使用關鍵字引數而不是位置引數呼叫。
- 引數:
zone (str) – 例項組管理器所在的 Google Cloud 區域
resource_id (str) – 例項組管理器的名稱
body (dict) – 例項組管理器的 json 合併補丁物件表示,詳見 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) – 可選,Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。
- 返回:
None
- 返回型別:
None
- get_instance_address(zone, resource_id, project_id=PROVIDE_PROJECT_ID, use_internal_ip=False)[source]¶
返回與例項關聯的網路地址。