Загрузить в облачное хранилище 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 на консоли разработчика.

Инструкции для этого и генерации ключей доступны здесь

Другие вопросы по тегам