作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Google 的 google-cloud-storage
用于 GCS 访问的 Python 包。当我收到 403 错误时,可能有很多不同的原因。默认情况下,Google 的 SDK 仅提供此消息:
('Request failed with status code', 403, 'Expected one of', <HTTPStatus.OK: 200>)")
_upload.py
有一个
_process_response
可以找到真正的 HTTP 响应的方法,结果中包含以下消息:
"message": "$ACCOUNT does not have storage.objects.delete access to $BLOB."
最佳答案
什么版本google-cloud-storage
你正在用吗?最新的,还有这个例子:
from google.cloud import storage
client = storage.Client.from_service_account_json('service-account.json')
bucket = client.get_bucket('my-bucket-name')
blob = bucket.get_blob('test.txt')
try:
blob.delete()
except Exception as e:
print(e)
403 DELETE https://storage.googleapis.com/storage/v1/b/my-bucket-name/o/test.txt?generation=1579627133414449: $ACCOUNT does not have storage.objects.delete access to my-bucket-name/test.txt.
e.message
大致相同:
>>> e.message
'DELETE https://storage.googleapis.com/storage/v1/b/my-bucket-name/o/test.txt?generation=1579627133414449: $ACCOUNT does not have storage.objects.delete access to my-bucket-name/test.txt.'
e._response.json()
:
>>> e._response.json()
{
'error': {
'code': 403,
'message': '$ACCOUNT does not have storage.objects.delete access to my-bucket-name/test.txt/test.txt.',
'errors': [{
'message': '$ACCOUNT does not have storage.objects.delete access to my-bucket-name/test.txt/test.txt.',
'domain': 'global',
'reason': 'forbidden'
}]
}
}
关于python - 如何在 Python google.cloud.storage 上传方法中访问错误原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59839690/
我是一名优秀的程序员,十分优秀!