Извлечение App Engine из другого приложения изнутри
Просто из любопытства, есть ли в App Engine способ извлечения данных из другого приложения App Engine, использующего какой-то внутренний URL-адрес (похожий на соединение CloudSql)?
Например, вместо этого:
urlfetch.fetch("https://my-app-id.appspot.com/url/to/fetch")
Сделайте что-то вроде этого:
urlfetch.fetch("/appengine/my-app-id/url/to/fetch")
2 ответа
Вы можете передавать данные через Google Cloud Storage с помощью клиентской библиотеки GCS.
Вам просто нужно добавить учетную запись службы для совместного использования Google Cloud Storage.
Простой вариант использования в Python:
#!/usr/bin/env python
import cloudstorage as gcs
with gcs.open('your-bucket/your-file.txt', 'w') as gcs_file:
gcs_file.write('hello world\n')
После того, как вы поделились корзиной с вашими проектами, вы можете получить доступ к одному и тому же файлу в указанной корзине на каждом экземпляре App Engine в разных проектах.
Это самый простой способ обмена данными между различными проектами приложений.
Согласно документации, приложения могут сообщать друг другу. Проверить X-Appengine-Inbound-Appid
поле для авторизации.