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)[源代码]

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

用于 Google Cloud Bigtable API 的 Hook。

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

get_instance(instance_id, project_id)[源代码]

检索并返回指定的 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)[源代码]

删除指定的 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)[源代码]

创建新实例。

参数
  • 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 和一个区域。示例:[{"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,则操作符将无限期等待。

update_instance(instance_id, project_id, instance_display_name=None, instance_type=None, instance_labels=None, timeout=None)[源代码]

更新现有实例。

参数
  • 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,则操作符将无限期等待。

static create_table(instance, table_id, initial_split_keys=None, column_families=None)[源代码]

创建指定的 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 异常。

参数
  • instance (google.cloud.bigtable.instance.Instance) – 拥有该集群的 Cloud Bigtable 实例。

  • cluster_id (str) – 集群的 ID。

  • nodes (int) – 所需的节点数。

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 异常。

参数

此条目是否对您有帮助?