Search code examples
pythonpostgresqlgoogle-cloud-platformgcp-ai-platform-notebook

Access GCP Cloud SQL from AI notebook?


Looking for relevant python code to be used in the GCP AI Platform notebook which will be able to query GCP Cloud SQL (specifically Postgresql.) Unfortunately, I haven't found any relevat resources/tutorials from GCP official or even unaffiliated resources.


Solution

  • I work on the Developer Relations team for Cloud SQL at Google. The quickest and simplest way to connect to a Cloud SQL instance from an AI Platform Notebook is to use our newly released Cloud SQL Python Connector. To install, run pip install cloud-sql-python-connector[pg8000]. This will also install the pg8000 driver which is used to connect to Postgres.

    Then, you can use the following code to get a connection object which you can use to run queries:

    conn = connector.connect(
        "project_name:region-name:instance-name", 
        "pg8000",
        user="postgres",
        password="password",
        db="db_name"
    )
    

    An alternative, which is language-independent, is to download and run the Cloud SQL Auth Proxy in a separate terminal from your notebook.

    For either of these solutions, make sure to enable the Cloud SQL Admin API first.