Ich habe gerade Ihr Anwendungsszenario repliziert und erfolgreich eine Cloud SQL-Datenbank aus einem Projekt mit einer Cloud App Engine aus einem anderen Projekt verbunden.
Die Schritte, um dies zu reproduzieren, sind die folgenden:
-
Erstellt eine Cloud SQL Postgresql-Datenbank mit öffentlicher IP.
-
Erstellte die Tabellen für meine Anwendung
-
Aktivieren Sie die Cloud SQL-API im zweiten Projekt, in dem ich die App Engine-Seite hosten möchte.
-
Bereitstellung einer App Engine-Anwendung in einem zweiten Projekt mit diesem Google Cloud-Repository
-
Erteilen Sie dem Dienstkonto des Projekts mit der App Engine im Projekt mit Cloud SQL die Berechtigung nach diesem Leitfaden zur Verwendung von Cloud SQL für PostgreSQL
Während meiner Reproduktion habe ich das mögliche Problem entdeckt, auf das Sie gestoßen sind. Wahrscheinlich haben Sie die API des zweiten Projekts (das nur die App Engine hostet) nicht aktiviert.
Um dies zu überprüfen, müssen Sie sich einfach per SSH in den Computer einloggen, auf dem die App-Engine gehostet wird, und dann docker ps -a
ausführen um die ID des Docker-Containers zu erhalten, der den cloud-sql-proxy
hostet . Führen Sie dann mit dieser ID docker logs -f ID_OF_THE_CONTAINER
aus und Sie werden sehen, ob Ihr Cloud SQL-Proxy einen Fehler hat. Wenn Sie die API deaktiviert haben, aktivieren Sie sie einfach und stellen Sie sie erneut bereit.