我试图将我的Google Colaboratory笔记本连接到我拥有的Google Cloud SQL实例,但我无法做到。我的实例只能通过Cloud SQL Proxy访问,而且我没有白名单任何ip。连接它的步骤是什么?我也试过下载cloud_proxy_sql,但问题是我不能给它文件的执行权限......
你对此有什么建议吗?
答案 0 :(得分:3)
这是一个例子: https://colab.research.google.com/drive/1SQCvWqCUAkqVHjfaEuLTBMBzxVdl7Q9h
一些要点:
chmod +x
将使下载的代理可执行。google.colab.auth
进行身份验证。这将设置代理所需的环境变量GOOGLE_APPLICATION_CREDENTIALS
。然后,根据您的代理和数据库设置调整命令行调用:
!./cloud_sql_proxy --instances=my-project:my-region:my-instance
答案 1 :(得分:0)
在这里找到解决方案:How to connect datalab with Google Cloud SQL?
由于colab笔记本似乎是单线程的,因此您必须在一个笔记本中运行代理,而在另一个笔记本中运行查询
答案 2 :(得分:0)
鲍勃·史密斯(Bob Smith)的回答部分正确。问题是,正如其他用途所指出的那样,笔记本计算机在代理运行时无法运行其他单元。
我们可以通过在独立屏幕中运行cloud_sql_proxy来解决此问题。
安装依赖项
# install screen
!apt update && apt install -y screen
然后我们可以启动代理。
# run a detached screen with the proxy command
!screen -S test -d -m "./cloud_sql_proxy --instances=my-project:my-region:my-instance"
现在,笔记本现在可以继续执行其他单元。
记住在完成后杀死代理
# kill proxy
!screen -X -S test quit