直接将清单写入gcs档案

时间:2019-11-25 16:19:56

标签: python google-cloud-platform stream google-cloud-storage

目前,我有一个简单的python代码,可将列表的元素写入文件。我该怎么做,但要写入Google云存储中的文件

当前代码:

with open('/home/nitin/temp.txt', 'w') as f:
    for item in ["Nitin", "Agarwal"]:
        f.write(item[0]+'\n')

2 个答案:

答案 0 :(得分:1)

与文件存储相反,Google云存储(GCS)也称为Blob存储。不要将GCS视为保存文件,而应将其视为保存数据块。这意味着您不能使用文件系统API。相反,请考虑将要在本地写入GCS的数据块构建为一个单元,然后将完整的Blob写入GCS。当您将数据写入GCS时,它是不可变的……这意味着一旦写入,就无法更改(可以删除它并重写新副本)。这意味着您无法附加到Blob。

这是一个很好的例子:

Using Cloud Storage with Python

答案 1 :(得分:0)

当将一些内存数据转储到GSC而不是转储到本地文件并将其上传到GSC时,我倾向于发现blob的“ upload_from_string”方法更可取。

这对您有用吗?

from google.cloud.storage import Blob

data = ["Nitin", "Agarwal"]
client = storage.Client(project="my-project")
bucket = client.get_bucket("my-bucket")
blob = Blob("data", bucket)
blob.upload_from_string("\n".join(data))

https://googleapis.dev/python/storage/latest/blobs.html#google.cloud.storage.blob.Blob.upload_from_string