| :py:mod:`airflow.providers.google.cloud.hooks.bigtable` |
| ======================================================= |
| |
| .. py:module:: airflow.providers.google.cloud.hooks.bigtable |
| |
| .. autoapi-nested-parse:: |
| |
| This module contains a Google Cloud Bigtable Hook. |
| |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.google.cloud.hooks.bigtable.BigtableHook |
| |
| |
| |
| |
| .. py:class:: BigtableHook(gcp_conn_id = 'google_cloud_default', delegate_to = None, impersonation_chain = None) |
| |
| Bases: :py:obj:`airflow.providers.google.common.hooks.base_google.GoogleBaseHook` |
| |
| Hook for Google Cloud Bigtable APIs. |
| |
| All the methods in the hook where project_id is used must be called with |
| keyword arguments rather than positional. |
| |
| .. py:method:: get_instance(self, instance_id, project_id) |
| |
| Retrieves and returns the specified Cloud Bigtable instance if it exists. |
| Otherwise, returns None. |
| |
| :param instance_id: The ID of the Cloud Bigtable instance. |
| :param project_id: Optional, Google Cloud project ID where the |
| BigTable exists. If set to None or missing, |
| the default project_id from the Google Cloud connection is used. |
| |
| |
| .. py:method:: delete_instance(self, instance_id, project_id) |
| |
| Deletes the specified Cloud Bigtable instance. |
| Raises google.api_core.exceptions.NotFound if the Cloud Bigtable instance does |
| not exist. |
| |
| :param project_id: Optional, Google Cloud project ID where the |
| BigTable exists. If set to None or missing, |
| the default project_id from the Google Cloud connection is used. |
| :param instance_id: The ID of the Cloud Bigtable instance. |
| |
| |
| .. py:method:: create_instance(self, instance_id, main_cluster_id, main_cluster_zone, project_id, replica_clusters = None, instance_display_name = None, instance_type = enums.Instance.Type.TYPE_UNSPECIFIED, instance_labels = None, cluster_nodes = None, cluster_storage_type = enums.StorageType.STORAGE_TYPE_UNSPECIFIED, timeout = None) |
| |
| Creates new instance. |
| |
| :param instance_id: The ID for the new instance. |
| :param main_cluster_id: The ID for main cluster for the new instance. |
| :param main_cluster_zone: The zone for main cluster. |
| See https://cloud.google.com/bigtable/docs/locations for more details. |
| :param project_id: Optional, Google Cloud project ID where the |
| BigTable exists. If set to None or missing, |
| the default project_id from the Google Cloud connection is used. |
| :param replica_clusters: (optional) A list of replica clusters for the new |
| instance. Each cluster dictionary contains an id and a zone. |
| Example: [{"id": "replica-1", "zone": "us-west1-a"}] |
| :param instance_type: (optional) The type of the instance. |
| :param instance_display_name: (optional) Human-readable name of the instance. |
| Defaults to ``instance_id``. |
| :param instance_labels: (optional) Dictionary of labels to associate with the |
| instance. |
| :param cluster_nodes: (optional) Number of nodes for cluster. |
| :param cluster_storage_type: (optional) The type of storage. |
| :param timeout: (optional) timeout (in seconds) for instance creation. |
| If None is not specified, Operator will wait indefinitely. |
| |
| |
| .. py:method:: update_instance(self, instance_id, project_id, instance_display_name = None, instance_type = None, instance_labels = None, timeout = None) |
| |
| Update an existing instance. |
| |
| :param instance_id: The ID for the existing instance. |
| :param project_id: Optional, Google Cloud project ID where the |
| BigTable exists. If set to None or missing, |
| the default project_id from the Google Cloud connection is used. |
| :param instance_display_name: (optional) Human-readable name of the instance. |
| :param instance_type: (optional) The type of the instance. |
| :param instance_labels: (optional) Dictionary of labels to associate with the |
| instance. |
| :param timeout: (optional) timeout (in seconds) for instance update. |
| If None is not specified, Operator will wait indefinitely. |
| |
| |
| .. py:method:: create_table(instance, table_id, initial_split_keys = None, column_families = None) |
| :staticmethod: |
| |
| Creates the specified Cloud Bigtable table. |
| Raises ``google.api_core.exceptions.AlreadyExists`` if the table exists. |
| |
| :param instance: The Cloud Bigtable instance that owns the table. |
| :param table_id: The ID of the table to create in Cloud Bigtable. |
| :param initial_split_keys: (Optional) A list of row keys in bytes to use to |
| initially split the table. |
| :param column_families: (Optional) A map of columns to create. The key is the |
| column_id str, and the value is a |
| :class:`google.cloud.bigtable.column_family.GarbageCollectionRule`. |
| |
| |
| .. py:method:: delete_table(self, instance_id, table_id, project_id) |
| |
| Deletes the specified table in Cloud Bigtable. |
| Raises google.api_core.exceptions.NotFound if the table does not exist. |
| |
| :param instance_id: The ID of the Cloud Bigtable instance. |
| :param table_id: The ID of the table in Cloud Bigtable. |
| :param project_id: Optional, Google Cloud project ID where the |
| BigTable exists. If set to None or missing, |
| the default project_id from the Google Cloud connection is used. |
| |
| |
| .. py:method:: update_cluster(instance, cluster_id, nodes) |
| :staticmethod: |
| |
| Updates number of nodes in the specified Cloud Bigtable cluster. |
| Raises google.api_core.exceptions.NotFound if the cluster does not exist. |
| |
| :param instance: The Cloud Bigtable instance that owns the cluster. |
| :param cluster_id: The ID of the cluster. |
| :param nodes: The desired number of nodes. |
| |
| |
| .. py:method:: get_column_families_for_table(instance, table_id) |
| :staticmethod: |
| |
| Fetches Column Families for the specified table in Cloud Bigtable. |
| |
| :param instance: The Cloud Bigtable instance that owns the table. |
| :param table_id: The ID of the table in Cloud Bigtable to fetch Column Families |
| from. |
| |
| |
| .. py:method:: get_cluster_states_for_table(instance, table_id) |
| :staticmethod: |
| |
| Fetches Cluster States for the specified table in Cloud Bigtable. |
| Raises google.api_core.exceptions.NotFound if the table does not exist. |
| |
| :param instance: The Cloud Bigtable instance that owns the table. |
| :param table_id: The ID of the table in Cloud Bigtable to fetch Cluster States |
| from. |
| |
| |
| |