Невозможно использовать данные из Google Cloud Storage в App Engine, используя Python 3 - PullRequest
0 голосов
/ 12 января 2020

Как я могу прочитать данные, хранящиеся в моем хранилище Cloud Storage моего проекта, и использовать их в моем Python коде, который я пишу в App Engine?

Я пытался использовать:

storage_client = storage.Client()

bucket = storage_client.bucket(bucket_name)
blob = bucket.blob(source_blob_name)

Но я не могу понять, как извлечь фактические данные из кода, чтобы получить их в удобной форме.

Буду признателен за любую помощь.

Ответы [ 2 ]

0 голосов
/ 14 января 2020

У вас есть несколько вариантов.

  1. content = blob.download_as_string () -> Преобразует содержимое вашего облачного хранилища в строку.
  2. blob.download_to_file ( file_obj) -> Обновляет существующий file_obj для включения содержимого объекта Cloud Storage.
  3. blob.download_to_filename (имя файла) -> Сохраняет объект в файл. В стандартной среде App Engine вы можете хранить файлы в каталоге / tmp /.

Для получения дополнительной информации см. эту ссылку .

0 голосов
/ 13 января 2020

Получение файла из корзины Google Cloud Storage означает, что вы только что получили объект. Эта концепция абстрагирует сам файл от вашего кода. Вам нужно будет либо локально сохранить файл для выполнения любой операции с ним, либо в зависимости от расширения вашего файла поместить этот объект в файл readstreamer или метод, который вам нужен для чтения файла.

Здесь вы можно увидеть пример кода о том, как прочитать файл из движка приложения:

def read_file(self, filename):
  self.response.write('Reading the full file contents:\n')

  gcs_file = gcs.open(filename)
  contents = gcs_file.read()
  gcs_file.close()
  self.response.write(contents)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...