gpt4 book ai didi

google-cloud-composer - 从 Cloud Composer 连接 CloudSQL Postgresql

转载 作者:行者123 更新时间:2023-12-04 13:59:01 27 4
gpt4 key购买 nike

我有启用 VPN 连接的 Google Cloud Project 和具有相同 VPN 连接并启用 SSL 的 Google Cloud SQL (PostgreSQL) 数据库实例。 Cloud SQL 具有公共(public) IP 地址和专用 IP 地址。我用于从外部连接数据库的公共(public) IP(例如 PgAdmin 客户端工具)和用于内部连接(例如 Dataflow)的专用 IP。现在我想从 Cloud Composer 连接这个 CloudSQL。使用 PostgresOperator 连接 Cloud Postgresql 数据库。在 Airflow -> Connections 部分下使用公共(public) IP 作为端口创建了单独的连接。由于此 CloudSQL 启用了 SSL,因此将证书推送到 DAG 的 GCS 位置。在额外属性部分下的连接中,刚刚传递了 ssl 证书路径信息,如下所示,

{
"sslmode": "verify-ca",
"sslcert": "/home/airflow/gcs/dags/certificates/client-cert.pem",
"sslca": "/home/airflow/gcs/dags/certificates/server-ca.pem",
"sslkey": "/home/airflow/gcs/dags/certificates/client-key.pem"
}

收到以下错误消息,

psycopg2.OperationalError: private key file "/home/airflow/gcs/dags/certificates/client-key.pem" has group or world access; permissions should be u=rw (0600) or les



如果有人帮助我解决这个问题,那就太好了。
postgresoperator = PostgresOperator(
task_id='create_field_reports',
sql=create_field_reports_query,
postgres_conn_id='pgconnection_google_private',
dag=dag
)

最佳答案

Cloud Composer 使用 GCSFUSE 将某些目录(DAG/插件)从 Cloud Storage 挂载到在 GKE 中运行的 Airflow 工作程序 pod。它使用无法覆盖的默认权限安装这些,因为 GCS 不会跟踪元数据。

一种解决方法是使用 BashOperator在 DAG 开头运行以将文件复制到新目录,然后运行 ​​chmod在他们所有人身上。

关于google-cloud-composer - 从 Cloud Composer 连接 CloudSQL Postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57975604/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com