使用libcloud上传到谷歌云存储

3 投票
1 回答
606 浏览
提问于 2025-04-18 07:26

我想把文件上传到谷歌云存储。我创建了一个服务账号,把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 存储。

关于如何操作以及生成密钥的详细说明可以在 这里 找到。

撰写回答