如何使用带有客户端库的Python在Google云端存储中创建新的空文件?
或者如何使用blob函数将新文件上传到选定的存储桶" upload_from_filename()" ?要初始化blob对象,我们应该已经在云存储桶中有文件,但我想创建一个新文件名,并从本地存储的文件中复制内容。我想用python做这个。
提前致谢
答案 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')