airflow.providers.google.cloud.hooks.bigtable
¶
此模块包含一个 Google Cloud Bigtable Hook。
模块内容¶
类¶
用于 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 的所有方法都必须使用关键字参数而不是位置参数调用。
- delete_instance(instance_id, project_id)[源代码]¶
删除指定的 Cloud Bigtable 实例。
如果 Cloud Bigtable 实例不存在,则引发 google.api_core.exceptions.NotFound。
- 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
。- 参数
instance (google.cloud.bigtable.instance.Instance) – 拥有该表的 Cloud Bigtable 实例。
table_id (str) – 要在 Cloud Bigtable 中创建的表的 ID。
initial_split_keys (list | None) – (可选)字节形式的行键列表,用于初始拆分表。
column_families (dict[str, google.cloud.bigtable.column_family.GarbageCollectionRule] | None) – (可选)要创建的列的映射。键是 column_id 字符串,值是一个
google.cloud.bigtable.column_family.GarbageCollectionRule
。
- delete_table(instance_id, table_id, project_id)[source]¶
删除 Cloud Bigtable 中指定的表。
如果表不存在,则引发 google.api_core.exceptions.NotFound 异常。
- 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 中指定表的列族。
- 参数
instance (google.cloud.bigtable.instance.Instance) – 拥有该表的 Cloud Bigtable 实例。
table_id (str) – 要从中获取列族的 Cloud Bigtable 中表的 ID。
- static get_cluster_states_for_table(instance, table_id)[source]¶
获取 Cloud Bigtable 中指定表的集群状态。
如果表不存在,则引发 google.api_core.exceptions.NotFound 异常。
- 参数
instance (google.cloud.bigtable.instance.Instance) – 拥有该表的 Cloud Bigtable 实例。
table_id (str) – 要从中获取集群状态的 Cloud Bigtable 中表的 ID。