Ik heb zojuist uw gebruiksscenario gerepliceerd en ik heb een Cloud SQL-database van een project met succes verbonden met een Cloud App Engine van een ander project.
De stappen om dit te reproduceren zijn de volgende:
-
Een Cloud SQL Postgresql-database gemaakt met een openbaar IP-adres.
-
De tabellen voor mijn toepassing gemaakt
-
De Cloud SQL API inschakelen in het tweede project waar ik de App Engine-kant wil hosten.
-
Een App Engine-toepassing geïmplementeerd in een tweede project met behulp van deze Google Cloud-opslagplaats
-
Geef toestemming aan het serviceaccount van het project met de App Engine in het project met de Cloud SQL volgend op deze Cloud SQL gebruiken voor PostgreSQL-handleiding
Tijdens mijn reproductie kwam ik het mogelijke probleem tegen dat u bent tegengekomen. Waarschijnlijk heb je de API van het tweede project niet ingeschakeld (het project dat alleen de App Engine host).
Om dit te verifiëren, hoeft u alleen maar te ssh-en naar de machine die de app-engine host en vervolgens docker ps -a
uit te voeren. om de id te krijgen van de docker-container die de cloud-sql-proxy
host . Gebruik dan die id en voer docker logs -f ID_OF_THE_CONTAINER
uit en u zult zien of u een fout heeft in uw Cloud SQL-proxy. Als u de API hebt uitgeschakeld, schakelt u deze gewoon in en implementeert u deze opnieuw.