授予代理SQL访问Google Colaboratory的权限



我正在尝试将我的Google Colab Notebook连接到我拥有的Google Cloud SQL实例,但我不能。我的实例只能通过云 SQL 代理访问,并且我没有列入任何白名单的任何 IP。连接到它的步骤是什么?我也尝试下载cloud_proxy_sql,但问题是我无法授予它对文件的执行权限......

你对此有什么建议吗?

下面是一个示例:https://colab.research.google.com/drive/1SQCvWqCUAkqVHjfaEuLTBMBzxVdl7Q9h

几个要点:

  1. chmod +x将使下载的代理可执行。
  2. 您需要使用 google.colab.auth 进行身份验证。这将设置代理所需的环境变量GOOGLE_APPLICATION_CREDENTIALS

然后,根据您的代理和数据库设置调整命令行调用:

!./cloud_sql_proxy --instances=my-project:my-region:my-instance

Bob Smith的回答部分正确。问题在于,正如其他用途所指出的那样,笔记本无法在代理运行时运行其他单元。

我们可以通过在分离的屏幕中运行cloud_sql_proxy来解决此问题。

  1. 安装依赖项

    # install screen
    !apt update && apt install -y screen
    
  2. 然后我们可以启动代理。

    # 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

在这里找到了解决方案:如何将datalab与Google Cloud SQL连接起来?

由于 colab 笔记本似乎是单线程的,因此您必须在一个笔记本中运行代理,在另一个笔记本中运行查询

相关内容

  • 没有找到相关文章

最新更新