无法使用Python连接到Google云API

2024-06-01 14:08:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试连接到我创建的googlecloudsql实例,但是每次尝试连接都会导致一条错误消息,说我无法连接或没有访问权限。我使用了云代理连接、私有IP连接和云shell连接。你知道吗

我使用了cloudsqlgit存储库作为参考(https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard/cloudsql

我只改变了关于我的具体项目和实例这些文件。你知道吗

要收集有关连接的信息,请执行以下操作:

CLOUDSQL_CONNECTION_NAME = os.environ.get('CLOUDSQL_CONNECTION_NAME')
CLOUDSQL_USER = os.environ.get('CLOUDSQL_USER')
CLOUDSQL_PASSWORD = os.environ.get('CLOUDSQL_PASSWORD')

要设置连接(包括在git上),请执行以下操作:

if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine/'):
    # Connect using the unix socket located at
    # /cloudsql/cloudsql-connection-name.
    cloudsql_unix_socket = os.path.join(
        '/cloudsql', CLOUDSQL_CONNECTION_NAME)

    db = MySQLdb.connect(
        unix_socket=cloudsql_unix_socket,
        user=CLOUDSQL_USER,
        passwd=CLOUDSQL_PASSWORD)
else:
   db = MySQLdb.connect(
            host='127.0.0.1', user=CLOUDSQL_USER, passwd=CLOUDSQL_PASSWORD)

我收到的错误:

pymysql.err.OperationalError错误:(1045,“拒绝访问用户“”@'localhost'(使用密码:YES)”)

以及

(pymysql.err.OperationalError错误)(2003,“无法连接到'localhost'上的MySQL服务器([Errno 2]没有这样的文件或目录)”)

我什么都试过了。这只是我所走的许多路线中的一个例子。任何建议或指导将不胜感激。你知道吗


Tags: 文件实例namedbgetos错误environ
1条回答
网友
1楼 · 发布于 2024-06-01 14:08:37

您正在引用的示例要求您在appengine Standard上运行,或者使用代理在/cloudsql/<INSTANCE_CONNECTION_NAME>创建Unix套接字。你知道吗

在您的示例中,我将确保您使用的检查(SERVER_SOFTWAREenv var)工作正常。你知道吗

当您在本地运行时,您的应用程序将尝试连接127.0.0.1。要使其工作,代理需要运行并绑定到tcp端口。检查代理中的日志以查看是否引发了任何其他错误。你知道吗

在appengine中运行时,请确保您有followed the setup on this page来启用Cloud SQL Admin API。你知道吗

相关问题 更多 >