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