Загрузить в облачное хранилище Google с помощью libcloud
Я хочу загрузить файлы в облачное хранилище Google. Я создал учетную запись службы, преобразовал файл 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 ответ
Решение
apache-libcloud
использует протокол S3 для Google Storage.
Это означает, что вам нужно включить совместимость для Google Storage на консоли разработчика.
Инструкции для этого и генерации ключей доступны здесь