将列表直接写入gcs文件

问题描述 投票:0回答:2

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

当前代码:

with open('/home/nitin/temp.txt', 'w') as f:
    for item in ["Nitin", "Agarwal"]:
        f.write(item[0]+'\n')
python google-cloud-platform stream google-cloud-storage
2个回答
1
投票

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

这里是一个很好的例子:

Using Cloud Storage with Python


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

© www.soinside.com 2019 - 2024. All rights reserved.