Ktoś wie, czy możliwe jest połączenie aplikacji z Appengine do bazy danych mysql hostowanej w silniku obliczeniowym?
Próbuję to zrobić z python i mam ten błąd:
Nie można utworzyć gniazda TCP / IP (-1)
Używam SqlAlchemy ORM, które używa następnej konfiguracji:
create_engine("mysql+mysqldb://root@ip/database")
i działa lokalnie, ale kiedy wdrażam aplikację do aplikacji, nie działa.
Dzięki
Odpowiedzi:
0 dla odpowiedzi № 1Google App Engine domyślnie uruchamia kod w piaskownica środowiska, co oznacza, że niektóre aspektyŚrodowisko uruchomieniowe w języku Python jest ograniczone lub reaguje inaczej niż w przeciwnym wypadku. Jednym z tych aspektów jest łączność wychodząca z siecią - podczas gdy GAE obsługuje gniazda, istnieją pewne ograniczenia, a gniazda są dostępne tylko w przypadku płatnych aplikacji.
The zalecane opcje do przechowywania informacji w aplikacji GAE należą: App Engine Datastore, Google Cloud SQL, i Google Cloud Storage. Google Cloud SQL to MySQL i działa z SQLAlchemy, więc to prawdopodobnie najlepsza opcja.
Jeśli koniecznie musisz uruchomić swój własny serwer MySQL (zamiast używać Google Cloud SQL) i połączyć się z nim z aplikacji GAE, inną opcją jest użycie zarządzane środowisko VM, co pozwala na nieograniczony dostęp do sieci (ponieważ jest to w zasadzie maszyna wirtualna Google Compute Engine z uruchomionym środowiskiem App Engine na górze).