当前位置: 首页 > 知识库问答 >
问题:

无法连接到谷歌SQL数据库与Python脚本运行在谷歌函数

萧懿轩
2023-03-14

这个python脚本的目的是从google analytics中提取数据,并将其添加到google MySQL数据库中。该脚本在我的本地机器上工作,但在google函数上不行:

from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
import mysql.connector
from datetime import datetime
from datetime import timedelta
import os
from mysql.connector import errorcode


def main(data, context):

    # MySQL
    DB_NAME = 'GA_Data1'
    cnx = mysql.connector.connect(user=user1, password=password1,
                                  host=hostip, database=DB_NAME)

当我运行上面的代码时,我得到了这些错误:

  • 错误消息

我想这可能是因为谷歌机器的IP地址没有被列入我的SQL数据库的白名单。我尝试添加一个带有外部IP地址的云NAT,以便将其列入白名单。那没用。下面是一篇文章的链接,该文章有助于使用python连接SQL数据库。我应该用本文中的代码替换一些代码吗?

我不愿意改变任何东西,因为它在我的电脑上运行得非常好。因此,问题在于在谷歌的机器上运行脚本。

共有1个答案

郎雪风
2023-03-14

您需要添加一个VPC连接器,以便它可以直接私下连接到SQL server。

看https://cloud.google.com/sql/docs/mysql/connect-functions

它在出口侧的“网络”下。你必须在你的谷歌云项目中启用一些东西,但是它应该会引导你完成它。

我建议在SQL数据库端启用“私有IP”。

然后在你的函数中使用这个私有IP连接,选中这个框,只在Cloudfunction上路由私有IP(以防你也在那里做其他事情):

 类似资料:
  • 我正在尝试使用云SQL代理将GCE实例连接到云SQL实例(第二代)。当我ssh到GCE实例时 我得到 我已阅读 上的文档https://cloud.google.com/sql/docs/compute-engine-access#gce-连接代理和 https://cloud.google.com/sql/docs/sql-proxy 两个实例都在同一个项目中,并且云SQL API在GCE实例(

  • 我为API调用创建了一个Python函数,因此我不再需要在Power BI中这样做。它创建了5个XML文件,然后将它们合并成一个CSV文件。我希望该功能在谷歌云上运行(如果这不是一个好主意,请纠正我)。 我认为不可能在函数中创建XML文件(也许可以写入bucket),但理想情况下,我希望跳过XML文件的创建,直接创建CSV。 请在下面找到生成XML文件并合并为CSV的代码: 到csv 有什么想法吗

  • 问题内容: 我需要执行一些python机器学习代码,并希望从Google Cloud Function中的节点进程执行它。 我想使用node,因为我有一些稍后要运行的firebase管理任务。我也有一个我满意的节点的部署工作流。 这可能吗?如果是这样,您能举个例子吗? 问题答案: 是的,这是可能的,您可能需要使用http://www.pyinstaller.org/来打包python代码。看看我的

  • 刚刚在谷歌云平台上使用点击部署安装了mongodb。我有另一个项目,我为其创建了mongodb数据库,我的web应用程序在其中运行。我必须打开一些端口或配置一些东西吗?

  • 我有一张保存ID的表。现在,我偶尔需要读取这些ID,并检查表中的其他值(名称)是否仍然符合ID。我的代码是: 从我所读到的,我知道单独调用每个单元格值需要更多的时间。然而,我不知道如何应用getValue来修复这些情况。基本上相同的问题在不同的衣服我有以下代码: 那么我如何使用get值来检查我得到的每个ID呢。我想我得用一些 或者 但我不知道如何实施,有什么想法吗? 有没有其他更有效的方法

  • 谷歌地图        LSV默认的对谷歌影像进行了加载,如果需要加载其他的谷歌地图数据,可以通过LSV中直接点击即可加载。 谷歌历史影像        LSV中支持对谷歌历史影响的查看,。通过历史影像,我们可以分析出很多单一影像无法获取的信息。触摸历史,寻找其他时空中发生的事情和变迁。历史影像主要用于进行多时相对比、去云、多角度观察、小路寻找等。 开启前: 开启后: