airflow.providers.google.cloud.hooks.datastore

此模組包含 Google Datastore 鉤子。

DatastoreHook

與 Google Cloud Datastore 互動。此鉤子使用 Google Cloud 連線。

模組內容

class airflow.providers.google.cloud.hooks.datastore.DatastoreHook(gcp_conn_id='google_cloud_default', api_version='v1', impersonation_chain=None, **kwargs)[原始碼]

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

與 Google Cloud Datastore 互動。此鉤子使用 Google Cloud 連線。

此物件非執行緒安全。如果您想同時發起多個請求,需要為每個執行緒建立一個鉤子。

引數:

api_version (str) – 將要連線的 API 版本。

connection = None[原始碼]
api_version = 'v1'[原始碼]
get_conn()[原始碼]

建立與 Google API 的連線。

返回:

一個 Google Cloud Datastore 服務物件。

返回型別:

googleapiclient.discovery.Resource

allocate_ids(partial_keys, project_id)[原始碼]

為不完整的 key 分配 ID。

引數:
  • partial_keys (list) – 部分 key 的列表。

  • project_id (str) – 發起請求時使用的 Google Cloud project ID。

返回:

一個完整 key 的列表。

返回型別:

list

begin_transaction(project_id, transaction_options)[原始碼]

開始一個新的事務。

引數:
  • project_id (str) – 發起請求時使用的 Google Cloud project ID。

  • transaction_options (dict[str, Any]) – 新事務的選項。

返回:

一個事務控制代碼。

返回型別:

str

commit(body, project_id)[原始碼]

提交一個事務,可選擇建立、刪除或修改一些實體。

引數:
  • body (dict) – commit 請求的主體。

  • project_id (str) – 發起請求時使用的 Google Cloud project ID。

返回:

commit 請求的響應主體。

返回型別:

dict

lookup(keys, project_id, read_consistency=None, transaction=None)[原始碼]

按 key 查詢一些實體。

引數:
  • keys (list) – 要查詢的 key。

  • read_consistency (str | None) – 要使用的讀取一致性。default, strong 或 eventual。不能與事務一起使用。

  • transaction (str | None) – 要使用的事務(如果有)。

  • project_id (str) – 發起請求時使用的 Google Cloud project ID。

返回:

lookup 請求的響應主體。

返回型別:

dict

rollback(transaction, project_id)[原始碼]

回滾一個事務。

引數:
  • transaction (str) – 要回滾的事務。

  • project_id (str) – 發起請求時使用的 Google Cloud project ID。

run_query(body, project_id)[原始碼]

執行實體查詢。

引數:
  • body (dict) – 查詢請求的主體。

  • project_id (str) – 發起請求時使用的 Google Cloud project ID。

返回:

查詢結果的批處理。

返回型別:

dict

get_operation(name)[原始碼]

獲取長時間執行操作的最新狀態。

引數:

name (str) – 操作資源的名稱。

返回:

一個資源操作例項。

返回型別:

dict

delete_operation(name)[原始碼]

刪除長時間執行的操作。

引數:

name (str) – 操作資源的名稱。

返回:

如果成功則為 none。

返回型別:

dict

poll_operation_until_done(name, polling_interval_in_seconds)[原始碼]

輪詢備份操作狀態直到其完成。

引數:
  • name (str) – 操作資源的名稱

  • polling_interval_in_seconds (float) – 在發起另一個請求之前等待的秒數。

返回:

一個資源操作例項。

返回型別:

dict

export_to_storage_bucket(bucket, project_id, namespace=None, entity_filter=None, labels=None)[原始碼]

將實體從 Cloud Datastore 匯出到 Cloud Storage 以進行備份。

注意

請注意,這請求的是 Admin API 而非 Data API。

引數:
  • bucket (str) – Cloud Storage bucket 的名稱。

  • namespace (str | None) – Cloud Storage namespace 路徑。

  • entity_filter (dict | None) – 描述專案中有哪些資料包含在匯出中。

  • labels (dict[str, str] | None) – 客戶端分配的標籤。

  • project_id (str) – 發起請求時使用的 Google Cloud project ID。

返回:

一個資源操作例項。

返回型別:

dict

import_from_storage_bucket(bucket, file, project_id, namespace=None, entity_filter=None, labels=None)[原始碼]

從 Cloud Storage 將備份匯入到 Cloud Datastore。

注意

請注意,這請求的是 Admin API 而非 Data API。

引數:
  • bucket (str) – Cloud Storage bucket 的名稱。

  • file (str) – 由 projects.export 操作寫入的元資料檔案。

  • namespace (str | None) – Cloud Storage namespace 路徑。

  • entity_filter (dict | None) – 指定要匯入哪些 kinds/namespaces。

  • labels (dict | str | None) – 客戶端分配的標籤。

  • project_id (str) – 發起請求時使用的 Google Cloud project ID。

返回:

一個資源操作例項。

返回型別:

dict

此條目有幫助嗎?