airflow.providers.google.cloud.hooks.spanner

此模組包含 Google Cloud Spanner Hook。

模組內容

類別

SpannerConnectionParams

關於 Google Spanner 連線參數的資訊。

SpannerHook

用於 Google Cloud Spanner API 的 Hook。

class airflow.providers.google.cloud.hooks.spanner.SpannerConnectionParams[source]

基底類別: NamedTuple

關於 Google Spanner 連線參數的資訊。

project_id: str | None[source]
instance_id: str | None[source]
database_id: str | None[source]
class airflow.providers.google.cloud.hooks.spanner.SpannerHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

基底類別: airflow.providers.google.common.hooks.base_google.GoogleBaseHook, airflow.providers.common.sql.hooks.sql.DbApiHook

用於 Google Cloud Spanner API 的 Hook。

Hook 中所有使用 project_id 的方法都必須使用關鍵字引數而不是位置引數來呼叫。

conn_name_attr = 'gcp_conn_id'[source]
default_conn_name = 'google_cloud_spanner_default'[source]
conn_type = 'gcpspanner'[source]
hook_name = 'Google Cloud Spanner'[source]
get_uri()[source]

覆寫 DbApiHook get_uri 方法以用於 get_sqlalchemy_engine()。

get_sqlalchemy_engine(engine_kwargs=None)[source]

取得 sqlalchemy_engine 物件。

參數

engine_kwargs – 用於 create_engine() 中的 Kwargs。

返回

建立的引擎。

get_instance(instance_id, project_id)[source]

取得關於特定執行個體的資訊。

參數
  • project_id (str) – (選填) 擁有 Cloud Spanner 資料庫的 Google Cloud 專案 ID。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • instance_id (str) – Cloud Spanner 執行個體的 ID。

返回

Spanner 執行個體

返回類型

google.cloud.spanner_v1.instance.Instance | None

create_instance(instance_id, configuration_name, node_count, display_name, project_id)[source]

建立新的 Cloud Spanner 執行個體。

參數
  • instance_id (str) – Cloud Spanner 執行個體的 ID。

  • configuration_name (str) – 定義執行個體建立方式的執行個體組態名稱。可透過 https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instanceConfigs/list 取得可能的組態值

  • node_count (int) – (選填) 分配給 Cloud Spanner 執行個體的節點數。

  • display_name (str) – (選填) Google Cloud Console 中顯示的執行個體名稱。必須介於 4 到 30 個字元之間。如果未傳遞此值,則名稱會回退為執行個體 ID。

  • project_id (str) – 選填,擁有 Cloud Spanner 資料庫的 Google Cloud 專案 ID。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

返回

None

返回類型

None

update_instance(instance_id, configuration_name, node_count, display_name, project_id)[source]

更新現有的 Cloud Spanner 執行個體。

參數
  • instance_id (str) – Cloud Spanner 執行個體的 ID。

  • configuration_name (str) – 定義執行個體建立方式的執行個體組態名稱。可透過 https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instanceConfigs/list 取得可能的組態值

  • node_count (int) – (選填) 分配給 Cloud Spanner 執行個體的節點數。

  • display_name (str) – (選填) Google Cloud Console 中顯示的執行個體名稱。必須介於 4 到 30 個字元之間。如果未在建構函式中設定此值,則名稱會回退為執行個體 ID。

  • project_id (str) – 選填,擁有 Cloud Spanner 資料庫的 Google Cloud 專案 ID。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

返回

None

返回類型

None

delete_instance(instance_id, project_id)[source]

刪除現有的 Cloud Spanner 執行個體。

參數
  • instance_id (str) – Cloud Spanner 執行個體的 ID。

  • project_id (str) – 選填,擁有 Cloud Spanner 資料庫的 Google Cloud 專案 ID。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

返回

None

返回類型

None

get_database(instance_id, database_id, project_id)[source]

檢索 Cloud Spanner 中的資料庫;如果資料庫在執行個體中不存在,則傳回 None。

參數
  • instance_id (str) – Cloud Spanner 執行個體的 ID。

  • database_id (str) – Cloud Spanner 中資料庫的 ID。

  • project_id (str) – 選填,擁有 Cloud Spanner 資料庫的 Google Cloud 專案 ID。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

返回

資料庫物件;如果資料庫不存在,則為 None

返回類型

google.cloud.spanner_v1.database.Database | None

create_database(instance_id, database_id, ddl_statements, project_id)[source]

在 Cloud Spanner 中建立新的資料庫。

參數
  • instance_id (str) – Cloud Spanner 執行個體的 ID。

  • database_id (str) – 要在 Cloud Spanner 中建立的資料庫 ID。

  • ddl_statements (list[str]) – 包含新資料庫 DDL 的字串列表。

  • project_id (str) – 選填,擁有 Cloud Spanner 資料庫的 Google Cloud 專案 ID。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

返回

None

返回類型

None

update_database(instance_id, database_id, ddl_statements, project_id, operation_id=None)[source]

更新 Cloud Spanner 中資料庫的 DDL。

參數
  • instance_id (str) – Cloud Spanner 執行個體的 ID。

  • database_id (str) – Cloud Spanner 中資料庫的 ID。

  • ddl_statements (list[str]) – 包含新資料庫 DDL 的字串列表。

  • project_id (str) – 選填,擁有 Cloud Spanner 資料庫的 Google Cloud 專案 ID。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

  • operation_id (str | None) – (選填) 可以指定用於實作等冪性檢查的每個資料庫操作的唯一 ID。

返回

None

返回類型

None

delete_database(instance_id, database_id, project_id)[source]

捨棄 Cloud Spanner 中的資料庫。

參數
  • instance_id (str) – Cloud Spanner 執行個體的 ID。

  • database_id – Cloud Spanner 中資料庫的 ID。

  • project_id (str) – 選填,擁有 Cloud Spanner 資料庫的 Google Cloud 專案 ID。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

返回

如果一切成功則為 True

返回類型

bool

execute_dml(instance_id, database_id, queries, project_id)[source]

執行任意 DML 查詢 (INSERT、UPDATE、DELETE)。

參數
  • instance_id (str) – Cloud Spanner 執行個體的 ID。

  • database_id (str) – Cloud Spanner 中資料庫的 ID。

  • queries (list[str]) – 要執行的查詢。

  • project_id (str) – 選填,擁有 Cloud Spanner 資料庫的 Google Cloud 專案 ID。如果設定為 None 或遺失,則會使用 Google Cloud 連線中的預設 project_id。

此條目是否有幫助?