使用Cloud Proxy的Google Cloud Composer和MS SQL

韦松加

我正在使用GCP(Composer)上的Airflow构建到BigQuery集成的Cloud SQL(MS SQL Server)。我已经在GKE群集中设置了运行良好的云SQL代理,那里没有错误:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    run: cloud-sql-proxy
  name: cloud-sql-proxy
  namespace: cloud-sql-to-bq
spec:
  replicas: 1
  selector:
    matchLabels:
      run: cloud-sql-proxy
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      labels:
        run: cloud-sql-proxy
    spec:
      containers:
      - command:
        - /cloud_sql_proxy
        - -instances=[INSTANCE-NAME]=tcp:0.0.0.0:1433
        image: b.gcr.io/cloudsql-docker/gce-proxy:latest
        imagePullPolicy: IfNotPresent
        name: airflow-sqlproxy
        ports:
        - containerPort: 1433
          protocol: TCP
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      nodeSelector:
        cloud.google.com/gke-nodepool: default-pool
      restartPolicy: Always

我的一天:

dag = DAG('mssql-export-demo', catchup=False, default_args=default_args)
cloud_storage_bucket_name = 'mssql-export-test'


export_customers = MsSqlToGoogleCloudStorageOperator(
    task_id='export_analysis',
    sql='SELECT * FROM vwAnalysis;',
    bucket=cloud_storage_bucket_name,
    filename='data/customers/export.json',
    schema_filename='schemas/export.json',
    mssql_conn_id='cloud_sql_proxy_conn',
    dag=dag
)

我还在Airflow中创建了一个指向cloud_sql_proxy_conn的连接运行DAG时,出现以下错误:

[2020-11-28 01:59:20,555] {taskinstance.py:1153} ERROR - Connection to the database failed for an unknown reason.
Traceback (most recent call last)
  File "src/pymssql.pyx", line 636, in pymssql.connec
  File "src/_mssql.pyx", line 1964, in _mssql.connec
  File "src/_mssql.pyx", line 683, in _mssql.MSSQLConnection.__init_
_mssql.MSSQLDriverException: Connection to the database failed for an unknown reason

没有其他错误消息,因此很难调试。有人对Cloud SQL和Composer上的MS SQL有经验可以帮助我解决这个问题吗?

韦松加

Airflow现在提供CloudSqlInstanceExportOperator,这意味着无需在GKE中设置云SQL代理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将hasura与Google Cloud Run和Google Cloud SQL结合使用

使用Cloud Shell和SSL连接到Google Cloud SQL PostgreSQL吗?

使用Python和SQLAlchemy从Google Cloud Function连接到Cloud SQL

使用 cloud-sql-proxy 时的 Google Cloud SQL 共享或个人数据库用户帐户

Google Cloud Spanner和Cloud SQL有什么区别?

Google大查询和Cloud SQL

查询速度极慢 - 使用 google sql cloud

如何从Cloud Functions连接Google Cloud SQL?

使用Java和Cloud SQL在Google灵活环境中使用Killbill

Google Cloud SQL和sql_mode标志

从Google Cloud上运行的Cloud访问Cloud SQL

验证和使用 Google Cloud Speech API

Google Cloud Vision API限制和使用

在Google Cloud Endpoint中使用Sql2o连接到Cloud SQL

无法连接到Google Cloud SQL。使用PHP Google SDK

在Cloud Function中使用Cloud SQL(Postgres)

使用Google Cloud Storage代替Google Cloud SQL保存文件有什么好处

Google Cloud SQL 日期格式

Firebase与Google Cloud SQL for Laravel

Google Cloud SQL维护窗口

监控 Google Cloud SQL 备份

Google APP Engine和Cloud sql ::无法在Google Cloud sql(我的SQL)中连接Spring Boot应用

如何使用Cloud Functions中的Cloud DataStore或Cloud SQL for Firebase?

Cloud SQL Proxy无法从Docker容器工作

Google cloud_sql_proxy无法连接到实例,流错误,protocol_error

如何在Google Cloud SQL和Flutter之间传输数据?

使用服务帐户的Google Cloud SQL导入权限

使用Google Cloud SQL重设pg_stat_statements

使用私有IP从Google Functions连接到Cloud SQL