airflow.providers.google.cloud.hooks.spanner

此模块包含一个 Google Cloud Spanner Hook。

模块内容

SpannerConnectionParams

有关 Google Spanner 连接参数的信息。

SpannerHook

用于 Google Cloud Spanner API 的 Hook。

class airflow.providers.google.cloud.hooks.spanner.SpannerConnectionParams[源代码]

基类:NamedTuple

有关 Google Spanner 连接参数的信息。

project_id: str | None[源代码]
instance_id: str | None[源代码]
database_id: str | None[源代码]
class airflow.providers.google.cloud.hooks.spanner.SpannerHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[源代码]

基类:airflow.providers.google.common.hooks.base_google.GoogleBaseHookairflow.providers.common.sql.hooks.sql.DbApiHook

用于 Google Cloud Spanner API 的 Hook。

Hook 中使用 project_id 的所有方法都必须使用关键字参数而不是位置参数调用。

conn_name_attr = 'gcp_conn_id'[源代码]
default_conn_name = 'google_cloud_spanner_default'[源代码]
conn_type = 'gcpspanner'[源代码]
hook_name = 'Google Cloud Spanner'[源代码]
get_uri()[源代码]

覆盖 DbApiHook get_uri 方法以用于 get_sqlalchemy_engine()。

get_sqlalchemy_engine(engine_kwargs=None)[源代码]

获取 sqlalchemy_engine 对象。

参数

engine_kwargs – 在 create_engine() 中使用的 Kwargs。

返回

创建的引擎。

get_instance(instance_id, project_id)[源代码]

获取有关特定实例的信息。

参数
  • project_id (str) – (可选)拥有 Cloud Spanner 数据库的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • instance_id (str) – Cloud Spanner 实例的 ID。

返回

Spanner 实例

返回类型

google.cloud.spanner_v1.instance.Instance | None

create_instance(instance_id, configuration_name, node_count, display_name, project_id)[源代码]

创建一个新的 Cloud Spanner 实例。

参数
  • instance_id (str) – Cloud Spanner 实例的 ID。

  • configuration_name (str) – 定义如何创建实例的实例配置的名称。可以通过 https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instanceConfigs/list 检索可能的配置值

  • node_count (int) – (可选) 分配给 Cloud Spanner 实例的节点数。

  • display_name (str) – (可选) Google Cloud Console 中实例的显示名称。必须在 4 到 30 个字符之间。如果未传递此值,则名称将回退到实例 ID。

  • project_id (str) – (可选)拥有 Cloud Spanner 数据库的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

返回

返回类型

update_instance(instance_id, configuration_name, node_count, display_name, project_id)[源代码]

更新现有的 Cloud Spanner 实例。

参数
  • instance_id (str) – Cloud Spanner 实例的 ID。

  • configuration_name (str) – 定义如何创建实例的实例配置的名称。可以通过 https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instanceConfigs/list 检索可能的配置值

  • node_count (int) – (可选) 分配给 Cloud Spanner 实例的节点数。

  • display_name (str) – (可选) Google Cloud Console 中实例的显示名称。必须在 4 到 30 个字符之间。如果未在构造函数中设置此值,则名称将回退到实例 ID。

  • project_id (str) – (可选)拥有 Cloud Spanner 数据库的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

返回

返回类型

delete_instance(instance_id, project_id)[源代码]

删除现有的 Cloud Spanner 实例。

参数
  • instance_id (str) – Cloud Spanner 实例的 ID。

  • project_id (str) – (可选)拥有 Cloud Spanner 数据库的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

返回

返回类型

get_database(instance_id, database_id, project_id)[source]

在 Cloud Spanner 中检索数据库;如果实例中不存在该数据库,则返回 None。

参数
  • instance_id (str) – Cloud Spanner 实例的 ID。

  • database_id (str) – Cloud Spanner 中数据库的 ID。

  • project_id (str) – (可选)拥有 Cloud Spanner 数据库的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

返回

数据库对象,如果数据库不存在则为 None

返回类型

google.cloud.spanner_v1.database.Database | None

create_database(instance_id, database_id, ddl_statements, project_id)[source]

在 Cloud Spanner 中创建一个新数据库。

参数
  • instance_id (str) – Cloud Spanner 实例的 ID。

  • database_id (str) – 要在 Cloud Spanner 中创建的数据库的 ID。

  • ddl_statements (list[str]) – 包含新数据库 DDL 的字符串列表。

  • project_id (str) – (可选)拥有 Cloud Spanner 数据库的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

返回

返回类型

update_database(instance_id, database_id, ddl_statements, project_id, operation_id=None)[source]

更新 Cloud Spanner 中数据库的 DDL。

参数
  • instance_id (str) – Cloud Spanner 实例的 ID。

  • database_id (str) – Cloud Spanner 中数据库的 ID。

  • ddl_statements (list[str]) – 包含新数据库 DDL 的字符串列表。

  • project_id (str) – (可选)拥有 Cloud Spanner 数据库的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • operation_id (str | None) – (可选) 可用于实现幂等性检查的每个数据库的唯一操作 ID。

返回

返回类型

delete_database(instance_id, database_id, project_id)[source]

删除 Cloud Spanner 中的数据库。

参数
  • instance_id (str) – Cloud Spanner 实例的 ID。

  • database_id – Cloud Spanner 中数据库的 ID。

  • project_id (str) – (可选)拥有 Cloud Spanner 数据库的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

返回

如果一切成功,则为 True

返回类型

bool

execute_dml(instance_id, database_id, queries, project_id)[source]

执行任意 DML 查询 (INSERT、UPDATE、DELETE)。

参数
  • instance_id (str) – Cloud Spanner 实例的 ID。

  • database_id (str) – Cloud Spanner 中数据库的 ID。

  • queries (list[str]) – 要执行的查询。

  • project_id (str) – (可选)拥有 Cloud Spanner 数据库的 Google Cloud 项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

此条目是否有帮助?