Я пытаюсь использовать boto с GCP для вывода списка сегментов хранилища в моем проекте GCP, используя созданную мной учетную запись службы (xxx@xxxx.iam.gserviceaccount.com). Ниже приведены команды, которые я выполнил:
gcloud init
gcloud auth activate-service-account xxx@xxxx.iam.gserviceaccount.com --key-file=key
gcloud config set account xxx@xxx.iam.gserviceaccount.com
И затем я выполнил шаги в соответствии с документом Вот
Ниже представлен файл Python
import time
import boto
import os
import shutil
import StringIO
import tempfile
import logging
GOOGLE_STORAGE = 'gs'
now = time.time()
project_id = 'xxx'
try:
header_values = {"x-goog-project-id": project_id}
uri = boto.storage_uri('', GOOGLE_STORAGE)
for bucket in uri.get_all_buckets(headers=header_values):
print bucket.name
logging.info("Credentials are Valid")
except Exception as e:
logging.info("Invalid credentials: {}".format(e))
print e
При выполнении вышеуказанного скрипта я получаю следующую ошибку:
No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials
Учетная запись службы и ее ключ JSON верны. Что может вызвать эту ошибку?