使用Python在Google Cloud Storage存储桶中创建/上传新文件

时间:2017-04-06 19:56:10

标签: python google-cloud-storage

如何使用带有客户端库的Python在Google云端存储中创建新的空文件?

或者如何使用blob函数将新文件上传到选定的存储桶" upload_from_filename()" ?要初始化blob对象,我们应该已经在云存储桶中有文件,但我想创建一个新文件名,并从本地存储的文件中复制内容。我想用python做这个。

提前致谢

2 个答案:

答案 0 :(得分:5)

首先你需要加载库

import google.cloud.storage

假设您已创建服务帐户并在某处加载JSON文件,则需要创建客户端对象

storage_client = google.cloud.storage.Client.from_service_account_json('JSON filepath')

然后你需要提供创建一个桶对象

bucket = storage_client.get_bucket('bucket_name')

现在定义存储桶中的路径和文件名

d = 'path/name'

blob 方法创建新文件,也是对象。

d = bucket.blob(d)

upload_from_string 方法添加文件的内容。还有其他方法可以让您执行不同的任务。

d.upload_from_string('V')

最初的几个步骤需要最长时间才能完成。

祝你好运!

答案 1 :(得分:3)

如果有人在寻找相同的东西,这就是解决方案。首先,您需要使用要创建新blob的存储桶名称创建/初始化存储桶变量。之后,使用bucket.blob(“filename”)创建blob而不是调用blob,如果给定的文件名,则会创建一个新的blob已经没有了。然后你可以使用blob.create_from_filename(“filename_which_you要复制”),这会将内容复制到前面创建的blob中,以获得更详细的解决方案,你可以在这里阅读blob文档:

https://googlecloudplatform.github.io/google-cloud-python/stable/storage-blobs.html

希望这会对某人有所帮助。下面是示例python代码:

client=storage.Client();  
bucket=client.get_bucket('your bucket name');  
blob=bucket.blob('newfile you want to create')
blob.upload_from_filename('localdirectory/filename.mp4')