使用python api将本地数据移动到谷歌云桶

时间:2018-06-15 08:37:48

标签: google-cloud-storage bucket

我可以使用以下内容将Google存储中的数据移动到存储区:

gsutil cp afile.txt gs://my-bucket

如何使用python api库执行相同的操作:

from google.cloud import storage
storage_client = storage.Client()

# Make an authenticated API request
buckets = list(storage_client.list_buckets())
print(buckets)

找不到上述内容。

1 个答案:

答案 0 :(得分:1)

有一个API客户端库代码示例代码here。我的代码通常如下所示,它们提供的代码略有不同:

from google.cloud import storage

client = storage.Client(project='<myprojectname>')
mybucket = storage.bucket.Bucket(client=client, name='mybucket')
mydatapath = 'C:\whatever\something' + '\\'   #etc
blob = mybucket.blob('afile.txt')
blob.upload_from_filename(mydatapath + 'afile.txt')

如果感兴趣,另一种方法是运行&#34; gsutil&#34;命令行如何使用子进程命令键入原始帖子,例如:

import subprocess
subprocess.call("gsutil cp afile.txt gs://mybucket/", shell=True)

在我看来,这两种方法的优点和缺点取决于你想要实现的目标 - 后一种方法允许多线程,如果你有许多文件要上传,而前一种方法可能允许更好的控制,元数据的规范对于每个文件等。