python - 来自 Python 生成器的 Google Cloud Storage 流式上传

标签 python google-cloud-storage google-cloud-sdk google-cloud-python

我有一个 Python 生成器,可以 yield大量且未知的字节数据。我想将输出流式传输到 GCS,而不先缓冲到磁盘上的文件。

虽然我确信这是可能的(例如,我可以创建 gsutil cp - <...> 的子进程并将我的字节写入其标准输入),但我不确定推荐/支持的方式和 documentation 是什么?给出上传本地文件的示例。

我应该如何正确地做到这一点?

最佳答案

BlobWriter类使这变得更容易一些:

bucket = storage_client.bucket('my_bucket')
blob = bucket.blob('my_object')
writer = BlobWriter(blob)

for d in your_generator:
  writer.write(d)

writer.close()

关于python - 来自 Python 生成器的 Google Cloud Storage 流式上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73615174/

相关文章:

google-cloud-platform - 使用 Colaboratory 永久允许 Google Cloud SDK 访问您的 Google 帐户

Python的 `email.message.as_string`将某些部分编码为base64;不清楚为什么

python - 在 DataFrame 中乘以多列

java - 在 Google App Engine 中存储旋转/翻转图像

javascript - 上传成功后生成下载地址

unix - 在 Ubuntu 18.04 LTS 上安装 Google Cloud SDK 后 Apt-get 损坏

python - 在 pandas 中删除 nan 行的更好方法

python - 在 while 循环中使用 "AND"而不是 "OR"

google-cloud-storage - 将 Google Cloud Storage 存储分区移动到另一个项目

google-app-engine - 通过 API 调用管理应用引擎版本