Загрузка файла с возвратами Python Ошибка запроса с кодом состояния », 403,« Ожидается один из », <HTTPStatus.OK: 200> - PullRequest
0 голосов
/ 23 мая 2019

blob.upload_from_filename(source) выдает ошибку

поднять exceptions.from_http_status (response.status_code, message,> response = response) google.api_core.exceptions.Forbidden: 403 POST> https://www.googleapis.com/upload/storage/v1/b/bucket1-newsdata->bluetechsoft/o?uploadType=multipart: («Запрос не выполнен с кодом состояния>, 403,« Ожидается один из »,)

Я следую примеру облака Google, написанного на python здесь !

 from google.cloud import storage

 def upload_blob(bucket, source, des):
    client = storage.Client.from_service_account_json('/path')
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket)
    blob = bucket.blob(des)
    blob.upload_from_filename(source)

Я использовал gsutil для загрузки файлов, который работает нормально.
Попытался перечислить имена сегментов с помощью скрипта Python, который также работает нормально.
У меня есть необходимые разрешения и установлен GOOGLE_APPLICATION_CREDENTIALS.

Ответы [ 2 ]

0 голосов
/ 25 мая 2019

Все это не работало, потому что у меня не было разрешения storage admin в служебной учетной записи, которую я использую в GCP.

Разрешение storage admin моей учетной записи службы решило мою проблему.

0 голосов
/ 25 мая 2019

Этот вопрос больше подходит для поддержки .

Поскольку вы получаете 403, скорее всего, вам не хватает разрешения на IAM, служба поддержки Google Cloud Platform будетвозможность проверить ваши ресурсы и конфигурации.

...