airflow.providers.google.cloud.operators.spanner

此模块包含 Google Spanner 操作符。

SpannerDeployInstanceOperator

创建或更新一个 Cloud Spanner 实例。

SpannerDeleteInstanceOperator

删除一个 Cloud Spanner 实例;如果实例不存在,则不执行任何操作,任务成功。

SpannerQueryDatabaseInstanceOperator

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

SpannerDeployDatabaseInstanceOperator

创建一个新的 Cloud Spanner 数据库;如果数据库已存在,操作符不做任何事。

SpannerUpdateDatabaseInstanceOperator

使用指定的 DDL 语句更新 Cloud Spanner 数据库。

SpannerDeleteDatabaseInstanceOperator

删除一个 Cloud Spanner 数据库。

模块内容

class airflow.providers.google.cloud.operators.spanner.SpannerDeployInstanceOperator(*, instance_id, configuration_name, node_count, display_name, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类: airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

创建或更新一个 Cloud Spanner 实例。

另请参阅

有关如何使用此操作符的更多信息,请参阅指南: SpannerDeployInstanceOperator

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

  • configuration_name (str) – Cloud Spanner 实例配置的名称,定义了实例将如何创建。对于尚不存在的实例是必需的。

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

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

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

  • gcp_conn_id (str) – 用于连接 Google Cloud 的连接ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号链,该账号将在请求中被模拟。如果设置为字符串,该账号必须授予原始账号 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账号将此角色授予原始账号(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'instance_id', 'configuration_name', 'display_name', 'gcp_conn_id', 'impersonation_chain')[source]
instance_id[source]
project_id = None[source]
configuration_name[source]
node_count[source]
display_name[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
execute(context)[source]

在创建操作符时派生。

上下文是与渲染 Jinja 模板时使用的相同的字典。

有关更多上下文,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.spanner.SpannerDeleteInstanceOperator(*, instance_id, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类: airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

删除一个 Cloud Spanner 实例;如果实例不存在,则不执行任何操作,任务成功。

另请参阅

有关如何使用此操作符的更多信息,请参阅指南: SpannerDeleteInstanceOperator

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

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

  • gcp_conn_id (str) – 用于连接 Google Cloud 的连接ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号链,该账号将在请求中被模拟。如果设置为字符串,该账号必须授予原始账号 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账号将此角色授予原始账号(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'instance_id', 'gcp_conn_id', 'impersonation_chain')[source]
instance_id[source]
project_id = None[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
execute(context)[source]

在创建操作符时派生。

上下文是与渲染 Jinja 模板时使用的相同的字典。

有关更多上下文,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.spanner.SpannerQueryDatabaseInstanceOperator(*, instance_id, database_id, query, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类: airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

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

另请参阅

有关如何使用此操作符的更多信息,请参阅指南: SpannerQueryDatabaseInstanceOperator

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

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

  • query (str | list[str]) – 要执行的查询或查询列表。可以是 SQL 文件的路径。

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

  • gcp_conn_id (str) – 用于连接 Google Cloud 的连接ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号链,该账号将在请求中被模拟。如果设置为字符串,该账号必须授予原始账号 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账号将此角色授予原始账号(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'instance_id', 'database_id', 'query', 'gcp_conn_id', 'impersonation_chain')[source]
template_ext: collections.abc.Sequence[str] = ('.sql',)[source]
template_fields_renderers[source]
instance_id[source]
project_id = None[source]
database_id[source]
query[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
execute(context)[source]

在创建操作符时派生。

上下文是与渲染 Jinja 模板时使用的相同的字典。

有关更多上下文,请参阅 get_template_context。

static sanitize_queries(queries)[source]

删除查询列表中的空查询。

参数:

queries (list[str]) – 查询列表

class airflow.providers.google.cloud.operators.spanner.SpannerDeployDatabaseInstanceOperator(*, instance_id, database_id, ddl_statements, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类: airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

创建一个新的 Cloud Spanner 数据库;如果数据库已存在,操作符不做任何事。

另请参阅

有关如何使用此操作符的更多信息,请参阅指南: SpannerDeployDatabaseInstanceOperator

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

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

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

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

  • gcp_conn_id (str) – 用于连接 Google Cloud 的连接ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号链,该账号将在请求中被模拟。如果设置为字符串,该账号必须授予原始账号 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账号将此角色授予原始账号(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'instance_id', 'database_id', 'ddl_statements', 'gcp_conn_id', 'impersonation_chain')[source]
template_ext: collections.abc.Sequence[str] = ('.sql',)[source]
template_fields_renderers[source]
instance_id[source]
project_id = None[source]
database_id[source]
ddl_statements[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
execute(context)[source]

在创建操作符时派生。

上下文是与渲染 Jinja 模板时使用的相同的字典。

有关更多上下文,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.spanner.SpannerUpdateDatabaseInstanceOperator(*, instance_id, database_id, ddl_statements, project_id=PROVIDE_PROJECT_ID, operation_id=None, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类: airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

使用指定的 DDL 语句更新 Cloud Spanner 数据库。

另请参阅

有关如何使用此操作符的更多信息,请参阅指南: SpannerUpdateDatabaseInstanceOperator

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

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

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

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

  • operation_id (str | None) – (可选)每个数据库操作的唯一ID,可以指定该ID来实现幂等性检查。

  • gcp_conn_id (str) – 用于连接 Google Cloud 的连接ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号链,该账号将在请求中被模拟。如果设置为字符串,该账号必须授予原始账号 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账号将此角色授予原始账号(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'instance_id', 'database_id', 'ddl_statements', 'gcp_conn_id', 'impersonation_chain')[source]
template_ext: collections.abc.Sequence[str] = ('.sql',)[source]
template_fields_renderers[source]
instance_id[source]
project_id = None[source]
database_id[source]
ddl_statements[source]
operation_id = None[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
execute(context)[source]

在创建操作符时派生。

上下文是与渲染 Jinja 模板时使用的相同的字典。

有关更多上下文,请参阅 get_template_context。

class airflow.providers.google.cloud.operators.spanner.SpannerDeleteDatabaseInstanceOperator(*, instance_id, database_id, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类: airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

删除一个 Cloud Spanner 数据库。

另请参阅

有关如何使用此 operator 的更多信息,请参阅指南: SpannerDeleteDatabaseInstanceOperator

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

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

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

  • gcp_conn_id (str) – 用于连接 Google Cloud 的连接ID。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可选的服务账号,用于使用短期凭据进行模拟,或者获取列表中最后一个账号的 access_token 所需的账号链,该账号将在请求中被模拟。如果设置为字符串,该账号必须授予原始账号 Service Account Token Creator IAM 角色。如果设置为序列,列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账号将此角色授予原始账号(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'instance_id', 'database_id', 'gcp_conn_id', 'impersonation_chain')[source]
instance_id[source]
project_id = None[source]
database_id[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
execute(context)[source]

在创建操作符时派生。

上下文是与渲染 Jinja 模板时使用的相同的字典。

有关更多上下文,请参阅 get_template_context。

此条目有帮助吗?