airflow.providers.google.cloud.hooks.datastore

此模块包含 Google Datastore hook。

模块内容

DatastoreHook

与 Google Cloud Datastore 交互。此 hook 使用 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 交互。此 hook 使用 Google Cloud 连接。

此对象不是线程安全的。如果想要同时发出多个请求,则需要为每个线程创建一个 hook。

参数

api_version (str) – 它将要连接的 API 的版本。

get_conn()[源代码]

建立与 Google API 的连接。

返回

一个 Google Cloud Datastore 服务对象。

返回类型

googleapiclient.discovery.Resource

allocate_ids(partial_keys, project_id)[源代码]

为不完整的键分配 ID。

参数
  • partial_keys (list) – 部分键的列表。

  • project_id (str) – 要对其发出请求的 Google Cloud 项目 ID。

返回

完整键的列表。

返回类型

list

begin_transaction(project_id, transaction_options)[源代码]

开始新的事务。

参数
  • project_id (str) – 要对其发出请求的 Google Cloud 项目 ID。

  • transaction_options (dict[str, Any]) – 新事务的选项。

返回

一个事务句柄。

返回类型

str

commit(body, project_id)[源代码]

提交事务,可以选择创建、删除或修改一些实体。

参数
  • body (dict) – 提交请求的主体。

  • project_id (str) – 要对其发出请求的 Google Cloud 项目 ID。

返回

提交请求的响应主体。

返回类型

dict

lookup(keys, project_id, read_consistency=None, transaction=None)[源代码]

按键查找一些实体。

参数
  • keys (list) – 要查找的键。

  • read_consistency (str | None) – 要使用的读取一致性。默认值、强或最终。不能与事务一起使用。

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

  • project_id (str) – 要对其发出请求的 Google Cloud 项目 ID。

返回

查找请求的响应主体。

返回类型

dict

rollback(transaction, project_id)[源代码]

回滚事务。

参数
  • transaction (str) – 要回滚的事务。

  • project_id (str) – 要对其发出请求的 Google Cloud 项目 ID。

run_query(body, project_id)[源代码]

运行实体查询。

参数
  • body (dict) – 查询请求的主体。

  • project_id (str) – 要对其发出请求的 Google Cloud 项目 ID。

返回

批量查询结果。

返回类型

dict

get_operation(name)[源代码]

获取长时间运行的操作的最新状态。

参数

name (str) – 操作资源的名称。

返回

一个资源操作实例。

返回类型

dict

delete_operation(name)[源代码]

删除长时间运行的操作。

参数

name (str) – 操作资源的名称。

返回

如果成功,则为无。

返回类型

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 存储桶的名称。

  • namespace (str | None) – 云存储命名空间路径。

  • entity_filter (dict | None) – 描述导出中包含的项目数据。

  • labels (dict[str, str] | None) – 客户端分配的标签。

  • project_id (str) – 要对其发出请求的 Google Cloud 项目 ID。

返回

一个资源操作实例。

返回类型

dict

import_from_storage_bucket(bucket, file, project_id, namespace=None, entity_filter=None, labels=None)[source]

将 Cloud Storage 中的备份导入到 Cloud Datastore。

注意

请记住,这会请求 Admin API 而不是 Data API。

参数
  • bucket (str) – Cloud Storage 存储桶的名称。

  • file (str) – 由 projects.export 操作写入的元数据文件。

  • namespace (str | None) – 云存储命名空间路径。

  • entity_filter (dict | None) – 指定要导入的种类/命名空间。

  • labels (dict | str | None) – 客户端分配的标签。

  • project_id (str) – 要对其发出请求的 Google Cloud 项目 ID。

返回

一个资源操作实例。

返回类型

dict

这个条目有帮助吗?