from google.cloud import storage
def write_file():
client = storage.Client()
bucket = client.get_bucket('bucket-name')
blob = bucket.blob('path/to/new-blob-name.txt')
## Use bucket.get_blob('path/to/existing-blob-name.txt') to write to existing blobs
with blob.open(mode='w') as f:
for line in object:
f.write(line)
5条答案
按热度按时间mwyxok5s1#
简单示例,使用google-cloud Python库:
更多例子在这个GitHub repo中:https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/storage/cloud-client
ki1q1bka2#
当我们想把一个字符串写入GCS bucket blob时,唯一需要做的修改是使用
blob.upload_from_string(your_string)
而不是blob.upload_from_filename(source_file_name)
:disbfnqx3#
oug3syen4#
在前面的答案中,我仍然忽略了最简单的方法,即使用
open()
方法。可以按如下方式使用
blob.open()
:您可以在此处找到更多示例和片段:https://github.com/googleapis/python-storage/tree/main/samples/snippets
7qhs6swi5#
虽然Brandon's answer确实将文件上传到了Google云,但它是通过上传文件而不是写入文件来完成的,这意味着在上传到云之前,文件需要存在于磁盘上。
我提出的解决方案使用一个“内存中”的有效负载(
buffer
参数),然后将其写入云。要写入内容,您需要使用upload_from_file
而不是upload_from_filename
,其他一切都是相同的。