Как получить доступ к удаленному хранилищу данных при запуске dev_appserver.py?

Я пытаюсь запустить веб-сервер localhost, который имеет удаленный доступ api к удаленному хранилищу данных, используя метод remote_api_stub ConfigureRemoteApiForOAuth .

Я использую следующий документ Google для справки, но считаю его довольно редким:

https://cloud.google.com/appengine/docs/python/tools/remoteapi

Я считаю, что мне не хватает бита проверки подлинности, но я не могу найти конкретный ресурс для руководства. Что было бы самым простым способом, учитывая следующий пример кода, для доступа к удаленному хранилищу данных при запуске dev_appserver.py ?

 import webapp2 from google.appengine.ext import ndb from google.appengine.ext.remote_api import remote_api_stub class Topic(ndb.Model): created_by = ndb.StringProperty() subject = ndb.StringProperty() @classmethod def query_by_creator(cls, creator): return cls.query(Topic.created_by == creator) class MainPage(webapp2.RequestHandler): def get(self): remote_api_stub.ConfigureRemoteApiForOAuth( '#####.appspot.com', '/_ah/remote_api' ) topics = Topic.query_by_creator('bill') self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('<html><body>') self.response.out.write('<h1>TOPIC SUBJECTS:<h1>') for topic in topics.fetch(10): self.response.out.write('<h3>' + topic.subject + '<h3>') self.response.out.write('</body></html>') app = webapp2.WSGIApplication([ ('/', MainPage) ], debug=True) 

One Solution collect form web for “Как получить доступ к удаленному хранилищу данных при запуске dev_appserver.py?”

Этот запрос получил много, просто потому, что вы не можете использовать библиотеки движков приложений вне SDK. Однако есть и более простой способ сделать это из SDK App Engine.

Я бы использовал gcloud для этого. Вот как это настроить:

Если вы хотите взаимодействовать с облачными хранилищами Google в среде App Engine, вы можете использовать Gcloud ( https://googlecloudplatform.github.io/gcloud-python/stable/ ) для этого.

Вам нужна учетная запись службы в вашем приложении, а также загрузите файл учетных данных JSON. Вы делаете это на консоли приложения на вкладке authentication . Создайте его, а затем загрузите. Назовите его client_secret.json или что-то в этом роде.

С ними, как только вы установите соответствующие пакеты для gcloud с помощью pip, вы сможете делать запросы, а также записывать данные.

Вот пример аутентификации пользователя для использования библиотеки:

 from gcloud import datastore # the location of the JSON file on your local machine os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/location/client_secret.json" # project ID from the Developers Console projectID = "THE_ID_OF_YOUR_PROJECT" os.environ["GCLOUD_TESTS_PROJECT_ID"] = projectID os.environ["GCLOUD_TESTS_DATASET_ID"] = projectID client = datastore.Client(dataset_id=projectID) 

Как только это будет сделано, вы можете делать такие запросы:

 query = client.query(kind='Model').fetch() 

На самом деле это очень просто. Любой, кто, как я это сделал бы! Приветствия.

  • Новый порт Python 3 API Google Python API
  • Перенос приложения Django в Google App Engine?
  • Как установить cookie с GAE / Python на 1 месяц?
  • Управление аутентификацией пользователей в Google App Engine
  • Невозможно импортировать python-social-auth в проект django в Google App Engine
  • Appengine: put_async не работает (по крайней мере, на сервере разработки)?
  • Модель модели приложения, get_or_insert question wrt primary key и составные ключи
  • Конфигурация CORS на Google ковше
  • Очередь задач работает с представлением, но UnknownQueueError при запуске от модульных тестов
  • Зачем использовать Django в Google App Engine?
  • В чем разница между родительским и ссылочным свойством в Google App Engine?
  • Python - лучший язык программирования в мире.