使用libcloud上传到谷歌云存储
我想把文件上传到谷歌云存储。我创建了一个服务账号,把p12文件转换成了pem文件,然后在我的驱动程序中引用了服务账号的邮箱地址和pem文件:
from libcloud.storage.types import Provider
from libcloud.storage.providers import get_driver
CloudStorage = get_driver(Provider.GOOGLE_STORAGE)
driver = CloudStorage(
'...@developer.gserviceaccount.com',
os.path.expanduser('~/.ssh/my.pem'),
project='my_project',
)
但是,当我执行
driver.list_containers()
时,我得到了
<?xml version='1.0' encoding='UTF-8'?><Error><Code>InvalidSecurity</Code><Message>The provided security credentials are not valid.</Message><Details>Incorrect Authorization header</Details></Error>
1 个回答
5
apache-libcloud
使用 S3 协议来访问 Google 存储。
这意味着你需要在开发者控制台上启用 互操作性 功能,以便使用 Google 存储。
关于如何操作以及生成密钥的详细说明可以在 这里 找到。