Google Cloud SQL 连接¶
连接 gcpcloudsql://
由 airflow.providers.google.cloud.operators.cloud_sql.CloudSQLExecuteQueryOperator
用于对 Google Cloud SQL 数据库执行查询。Google Cloud SQL 数据库可以是 Postgres 或 MySQL,因此这是一种“元”连接类型。它为 MySQL 和 Postgres 引入了通用架构,包括应使用哪种连接性。Google Cloud SQL 支持通过公共 IP 或通过 Cloud SQL 代理进行连接。在后一种情况下,CloudSQLHook
使用 CloudSqlProxyRunner
自动准备和使用临时 Postgres 或 MySQL 连接,该连接将使用代理进行连接(通过 TCP 或 UNIX 套接字)。
配置连接¶
- 主机(必需)
要连接的主机。
- 架构(可选)
指定要在数据库中使用的架构名称。
- 登录(必需)
指定要连接的用户名。
- 密码(必需)
指定要连接的密码。
- 额外(可选)
指定可在 Google Cloud SQL 连接中使用的额外参数(作为 JSON 字典)。
可在
CloudSQLHook
中找到额外字段中支持的所有参数的详细信息。示例“额外”字段
{ "database_type": "mysql", "project_id": "example-project", "location": "europe-west1", "instance": "testinstance", "use_proxy": true, "sql_proxy_use_tcp": false }
在将连接指定为 URI(在
AIRFLOW_CONN_{CONN_ID}
变量中)时,应按照 DB 连接的标准语法指定它,其中额外内容作为 URI 的参数传递。请注意,URI 的所有组件都应进行 URL 编码。例如
export AIRFLOW_CONN_GOOGLE_CLOUD_SQL_DEFAULT='gcpcloudsql://user:[email protected]:3306/mydb?database_type=mysql&project_id=example-project&location=europe-west1&instance=testinstance&use_proxy=True&sql_proxy_use_tcp=False'