airflow.providers.google.cloud.hooks.datastore
此模組包含 Google Datastore 鉤子。
模組內容
-
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。
- 引數:
-
- 返回:
一個完整 key 的列表。
- 返回型別:
list
-
begin_transaction(project_id, transaction_options)[原始碼]
開始一個新的事務。
- 引數:
-
- 返回:
一個事務控制代碼。
- 返回型別:
str
-
commit(body, 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)[原始碼]
回滾一個事務。
- 引數:
-
-
run_query(body, 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)[原始碼]
輪詢備份操作狀態直到其完成。
- 引數:
-
- 返回:
一個資源操作例項。
- 返回型別:
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