Как прочитать файл .json в коде Python из хранилища облачного хранилища Google - PullRequest
1 голос
/ 05 ноября 2019

Я пытаюсь прочитать файл .json как dict() в коде Python из экземпляра виртуальной машины , хранящегося в хранилище облачного хранилища Google.

Я попытался прочитать файл json как blob:

client = storage.Client()
bucket = client.get_bucket('bucket-id-here')
blob = bucket.get_blob('remote/path/to/file.json')
str_json = blob.download_as_string()

Но я не могу декодировать str_json. Мой подход правильный? если есть другой подход, пожалуйста, дайте мне знать.

Мне нужно что-то вроде:

# Method to load json
dict = load_json(gcs_path='gs://bucket_name/filename.json')

Ответы [ 2 ]

3 голосов
/ 05 ноября 2019

Используйте gcsfs для подключения к облачной корзине Google, а затем загрузите его как json.

import gcsfs
import json

fs = gcsfs.GCSFileSystem(project='your-gcp-project-name')
url = "gs://bucket_name/filename.json"
with fs.open(url, 'rb') as f:
    data=json.load(f)
1 голос
/ 05 ноября 2019

Вот альтернативный способ достичь этого с помощью официальной библиотеки Cloud Storage:

# Import the Google Cloud client library and JSON library
from google.cloud import storage
import json

# Instantiate a Google Cloud Storage client and specify required bucket and file
storage_client = storage.Client()
bucket = storage_client.get_bucket('bucket_name')
blob = bucket.blob('filename.json')

# Download the contents of the blob as a string and then parse it using json.loads() method
data = json.loads(blob.download_as_string(client=None))
...