如何使用python将原始json数据[作为pyhon字典]写入Google云存储?



我的用例非常简单,我正在从我的REST API获取原始JSON响应并将其保留为python中的字典,我必须将这些数据写入Google云存储。 除了"upload_from_string"选项之外,还有其他方法吗?

为了将数据上传到云存储,Python blobs 对象中只有 3 种方法:

  • Blob.upload_from_file((
  • Blob.upload_from_filename((
  • Blob.upload_from_string((

从dict中,您可以选择将其转换为字符串并使用upload_from_string方法。或者您也可以将其存储在本地的/tmp目录中(在内存文件系统中(,然后使用file目的方法。

如果要压缩内容和/或使用将字典转储到文件中的专用库,则可能具有更多文件功能。

我有一个类似的用例。我想将一些字典格式的数据扔到谷歌云存储桶中。

我假设您已经创建了一个存储桶(如果您尝试以编程方式执行此操作,这是一项简单的任务(。

from google.cloud import storage
import json
import os
def upload_to_gcloud(data: dict):
"""
this function take a dictionary as input and uploads
it in a google cloud storage bucket
"""          

## your service-account credentials as JSON file
os.environ['GOOLE_APPLICATION_CREDENTAILS'] = "YOUR-SERVICE-ACCOUNT-CREDENTIALS-AS-JSON"

## instane of the storage client
storage_client = storage.Client()
## instance of a bucket in your google cloud storage
bucket = storage_client.get_bucket("your-bucket-name")

## if you want to create a new file 
blob = bucket.blob("filename-you-want-here")
## if there already exists a file
blob = bucket.get_blob("filename-of-that-file")
## uploading data using upload_from_string method
## json.dumps() serializes a dictionary object as string
blob.upload_from_string(json.dumps(data))

此方法适用于您可以呈现为字符串的任何数据。 如果要直接从本地文件系统上传文件,请改用 upload_from_filename((。

希望这有帮助!!

相关内容

  • 没有找到相关文章

最新更新