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

此条目有帮助吗?