airflow.providers.google.cloud.hooks.bigtable

此模块包含 Google Cloud Bigtable Hook。

BigtableHook

Google Cloud Bigtable API 的 Hook。

模块内容

class airflow.providers.google.cloud.hooks.bigtable.BigtableHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基类: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

Google Cloud Bigtable API 的 Hook。

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

get_instance(instance_id, project_id)[source]

检索并返回指定的 Cloud Bigtable 实例(如果存在),否则返回 None。

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

  • project_id (str) – 可选,BigTable 所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,将使用 Google Cloud 连接中的默认 project_id。

delete_instance(instance_id, project_id)[source]

删除指定的 Cloud Bigtable 实例。

如果 Cloud Bigtable 实例不存在,则引发 google.api_core.exceptions.NotFound 异常。

参数:
  • project_id (str) – 可选,BigTable 所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,将使用 Google Cloud 连接中的默认 project_id。

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

create_instance(instance_id, main_cluster_id, main_cluster_zone, project_id, replica_clusters=None, instance_display_name=None, instance_type=enums.Instance.Type.UNSPECIFIED, instance_labels=None, cluster_nodes=None, cluster_storage_type=enums.StorageType.UNSPECIFIED, timeout=None)[source]

创建新实例。

参数:
  • instance_id (str) – 新实例的 ID。

  • main_cluster_id (str) – 新实例主集群的 ID。

  • main_cluster_zone (str) – 主集群的区域。更多详情请参见 https://cloud.google.com/bigtable/docs/locations

  • project_id (str) – 可选,BigTable 所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,将使用 Google Cloud 连接中的默认 project_id。

  • replica_clusters (list[dict[str, str]] | None) – (可选)新实例的副本集群列表。每个集群字典包含一个 id 和一个 zone。示例:[{“id”: “replica-1”, “zone”: “us-west1-a”}]

  • instance_type (google.cloud.bigtable.enums.Instance.Type) – (可选)实例的类型。

  • instance_display_name (str | None) – (可选)实例的人类可读名称。默认为 instance_id

  • instance_labels (dict | None) – (可选)与实例关联的标签字典。

  • cluster_nodes (int | None) – (可选)集群的节点数。

  • cluster_storage_type (google.cloud.bigtable.enums.StorageType) – (可选)存储类型。

  • timeout (float | None) – (可选)实例创建的超时时间(秒)。如果未指定 None,Operator 将无限期等待。

update_instance(instance_id, project_id, instance_display_name=None, instance_type=None, instance_labels=None, timeout=None)[source]

更新现有实例。

参数:
  • instance_id (str) – 现有实例的 ID。

  • project_id (str) – 可选,BigTable 所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,将使用 Google Cloud 连接中的默认 project_id。

  • instance_display_name (str | None) – (可选)实例的人类可读名称。

  • instance_type (google.cloud.bigtable.enums.Instance.Type | enum.IntEnum | None) – (可选)实例的类型。

  • instance_labels (dict | None) – (可选)与实例关联的标签字典。

  • timeout (float | None) – (可选)实例更新的超时时间(秒)。如果未指定 None,Operator 将无限期等待。

static create_table(instance, table_id, initial_split_keys=None, column_families=None)[source]

创建指定的 Cloud Bigtable 表。

如果表已存在,则引发 google.api_core.exceptions.AlreadyExists 异常。

参数:
delete_table(instance_id, table_id, project_id)[source]

删除 Cloud Bigtable 中指定的表。

如果表不存在,则引发 google.api_core.exceptions.NotFound 异常。

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

  • table_id (str) – Cloud Bigtable 中表的 ID。

  • project_id (str) – 可选,BigTable 所在的 Google Cloud 项目 ID。如果设置为 None 或缺失,将使用 Google Cloud 连接中的默认 project_id。

static update_cluster(instance, cluster_id, nodes)[source]

更新指定的 Cloud Bigtable 集群中的节点数。

如果集群不存在,则引发 google.api_core.exceptions.NotFound 异常。

参数:
static get_column_families_for_table(instance, table_id)[source]

获取 Cloud Bigtable 中指定表的列族。

参数:
static get_cluster_states_for_table(instance, table_id)[source]

获取 Cloud Bigtable 中指定表的集群状态。

如果表不存在,则引发 google.api_core.exceptions.NotFound 异常。

参数:

此条目是否有用?