| :py:mod:`airflow.providers.google.cloud.hooks.spanner` |
| ====================================================== |
| |
| .. py:module:: airflow.providers.google.cloud.hooks.spanner |
| |
| .. autoapi-nested-parse:: |
| |
| This module contains a Google Cloud Spanner Hook. |
| |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.google.cloud.hooks.spanner.SpannerHook |
| |
| |
| |
| |
| .. py:class:: SpannerHook(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 Spanner 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(instance_id, project_id) |
| |
| Gets information about a particular instance. |
| |
| :param project_id: Optional, The ID of the Google Cloud project that owns the Cloud Spanner |
| database. 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 Spanner instance. |
| :return: Spanner instance |
| :rtype: google.cloud.spanner_v1.instance.Instance |
| |
| |
| .. py:method:: create_instance(instance_id, configuration_name, node_count, display_name, project_id) |
| |
| Creates a new Cloud Spanner instance. |
| |
| :param instance_id: The ID of the Cloud Spanner instance. |
| :param configuration_name: The name of the instance configuration defining how the |
| instance will be created. Possible configuration values can be retrieved via |
| https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instanceConfigs/list |
| :param node_count: (Optional) The number of nodes allocated to the Cloud Spanner |
| instance. |
| :param display_name: (Optional) The display name for the instance in the Google Cloud Console. |
| Must be between 4 and 30 characters. If this value is not passed, the name falls back |
| to the instance ID. |
| :param project_id: Optional, the ID of the Google Cloud project that owns the Cloud Spanner |
| database. If set to None or missing, the default project_id from the Google Cloud connection |
| is used. |
| :return: None |
| |
| |
| .. py:method:: update_instance(instance_id, configuration_name, node_count, display_name, project_id) |
| |
| Updates an existing Cloud Spanner instance. |
| |
| :param instance_id: The ID of the Cloud Spanner instance. |
| :param configuration_name: The name of the instance configuration defining how the |
| instance will be created. Possible configuration values can be retrieved via |
| https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instanceConfigs/list |
| :param node_count: (Optional) The number of nodes allocated to the Cloud Spanner |
| instance. |
| :param display_name: (Optional) The display name for the instance in the Google Cloud |
| Console. Must be between 4 and 30 characters. If this value is not set in |
| the constructor, the name falls back to the instance ID. |
| :param project_id: Optional, the ID of the Google Cloud project that owns the Cloud Spanner |
| database. If set to None or missing, the default project_id from the Google Cloud connection |
| is used. |
| :return: None |
| |
| |
| .. py:method:: delete_instance(instance_id, project_id) |
| |
| Deletes an existing Cloud Spanner instance. |
| |
| :param instance_id: The ID of the Cloud Spanner instance. |
| :param project_id: Optional, the ID of the Google Cloud project that owns the Cloud Spanner |
| database. If set to None or missing, the default project_id from the Google Cloud connection |
| is used. |
| :return: None |
| |
| |
| .. py:method:: get_database(instance_id, database_id, project_id) |
| |
| Retrieves a database in Cloud Spanner. If the database does not exist |
| in the specified instance, it returns None. |
| |
| :param instance_id: The ID of the Cloud Spanner instance. |
| :param database_id: The ID of the database in Cloud Spanner. |
| :param project_id: Optional, the ID of the Google Cloud project that owns the Cloud Spanner |
| database. If set to None or missing, the default project_id from the Google Cloud connection |
| is used. |
| :return: Database object or None if database does not exist |
| :rtype: google.cloud.spanner_v1.database.Database or None |
| |
| |
| .. py:method:: create_database(instance_id, database_id, ddl_statements, project_id) |
| |
| Creates a new database in Cloud Spanner. |
| |
| :param instance_id: The ID of the Cloud Spanner instance. |
| :param database_id: The ID of the database to create in Cloud Spanner. |
| :param ddl_statements: The string list containing DDL for the new database. |
| :param project_id: Optional, the ID of the Google Cloud project that owns the Cloud Spanner |
| database. If set to None or missing, the default project_id from the Google Cloud connection |
| is used. |
| :return: None |
| |
| |
| .. py:method:: update_database(instance_id, database_id, ddl_statements, project_id, operation_id = None) |
| |
| Updates DDL of a database in Cloud Spanner. |
| |
| :param instance_id: The ID of the Cloud Spanner instance. |
| :param database_id: The ID of the database in Cloud Spanner. |
| :param ddl_statements: The string list containing DDL for the new database. |
| :param project_id: Optional, the ID of the Google Cloud project that owns the Cloud Spanner |
| database. If set to None or missing, the default project_id from the Google Cloud connection |
| is used. |
| :param operation_id: (Optional) The unique per database operation ID that can be |
| specified to implement idempotency check. |
| :return: None |
| |
| |
| .. py:method:: delete_database(instance_id, database_id, project_id) |
| |
| Drops a database in Cloud Spanner. |
| |
| :param instance_id: The ID of the Cloud Spanner instance. |
| :param database_id: The ID of the database in Cloud Spanner. |
| :param project_id: Optional, the ID of the Google Cloud project that owns the Cloud Spanner |
| database. If set to None or missing, the default project_id from the Google Cloud connection |
| is used. |
| :return: True if everything succeeded |
| :rtype: bool |
| |
| |
| .. py:method:: execute_dml(instance_id, database_id, queries, project_id) |
| |
| Executes an arbitrary DML query (INSERT, UPDATE, DELETE). |
| |
| :param instance_id: The ID of the Cloud Spanner instance. |
| :param database_id: The ID of the database in Cloud Spanner. |
| :param queries: The queries to execute. |
| :param project_id: Optional, the ID of the Google Cloud project that owns the Cloud Spanner |
| database. If set to None or missing, the default project_id from the Google Cloud connection |
| is used. |
| |
| |
| |