Отказ в соединении: при подключении Google Cloud postgresql к облачной функции - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь подключить Google Cloud sql экземпляр с облачной функцией, написанной в python.

global pg_pool, pg_pool_db_name
pg_config = {
    'user': CONNECTION_DATA[dbname]['DB_USER'],
    'password': CONNECTION_DATA[dbname]['DB_PASSWORD'],
    'host': host,
    'dbname': dbname
}

pg_pool = ThreadedConnectionPool(1, 1, **pg_config)

Этот вызов теста функции не выполнен, и выводится сообщение об ошибке:

Error: function terminated. Recommended action: inspect logs for termination reason. Details:could not connect to server: Connection refused
Is the server running locally and accepting
connections on Unix domain socket "/cloudsql/my_instance_name/.s.PGSQL.5432"?

Кто-нибудь сталкивался с подобной ситуацией.

1 Ответ

1 голос
/ 05 марта 2020

Я написал учебник о Подключение из облачных функций Google к облаку SQL

9.Create a service account for your cloud function. Ensure that the service account for your service has the following IAM roles: Cloud SQL Client, and for connecting from Cloud Functions to Cloud Sql on internal ip we need also the role Compute Network User.

    gcloud iam service-accounts create cloud-function-to-sql
    gcloud projects add-iam-policy-binding gcf-to-sql --member serviceAccount:cloud-function-to-sql@gcf-to-sql.iam.gserviceaccount.com   --role roles/cloudsql.client
    gcloud projects add-iam-policy-binding gcf-to-sql --member serviceAccount:cloud-function-to-sql@gcf-to-sql.iam.gserviceaccount.com  --role roles/compute.networkUser

Затем разверните функцию, используя только что созданную учетную запись службы:

2.Deploy the cloud function:

    gcloud beta functions deploy gcf_to_sql --runtime python37 --region europe-west2 --service-account cloud-function-to-sql  --trigger-http

РЕДАКТИРОВАТЬ

Прочтите эту документацию:

1. Создание учетной записи службы

2. Предоставление ролей учетным записям службы

3. Развертывание функции Cloud из Cloud Console

Нажмите Дополнительно, чтобы отобразить дополнительные параметры, такие как установка региона, указание времени ожидания или добавление переменных среды

В дополнительных параметрах выберите только что созданную учетную запись службы.

...