Python GCP Cloud 函数连接到 Cloud SQL 错误:“ModuleNotFoundError: No module named 'google.cloud.sql'”

问题描述 投票:0回答:0

我正在创建一个云函数来从源检索数据并加载到我的 gcp mysql 实例中。它配置在同一个 VPC 网络上,我为 Cloud SQL 实例和我的云功能提供了适当的 IAM 角色。

需求.txt:

    certifi==2022.12.7
    charset-normalizer==3.0.1
    idna==3.4
    mysql-connector-python==8.0.32
    protobuf==3.20.3
    requests==2.28.2
    urllib3==1.26.14
    cloud-sql-python-connector==1.2.0
    PyMySQL==1.0.2

我的函数的连接片段:

    def _get_connection(db= 'bot_config')-> sqlalchemy.engine.base.Engine:
 

    ip_type = IPTypes.PRIVATE

    connector = Connector(ip_type)

    conn: pymysql.connections.Connection = connector.connect(
        'x:y:z',
        "pymysql",
        user='user',#not actually...
        password='password', #not actually...
        db=db,
    )
    return conn

和我的进口:

    import requests
    import os

    from google.cloud.sql.connector import Connector, IPTypes
    import pymysql

    import sqlalchemy

我也得到了这个错误以及标题中的错误:

    OSError: [Errno 113] No route to host

我最喜欢使用 mysql.connector,但这是我在文档中看到的。如果主要嫌疑人是 VPC 或 IAM,我可以分享。

我已经正确配置了 VPC 和 IAM,并按照文档中的建议使用了写入连接器对象。不知道为什么找不到我的包裹,尤其是谷歌的包裹。

google-cloud-platform google-cloud-functions mysql-python mysql-connector
© www.soinside.com 2019 - 2024. All rights reserved.