问题描述
我正在使用python3客户端连接到Google存储桶,并尝试执行以下操作
- 下载'my_rules_file.yaml'
- 修改yaml文件
- 覆盖文件
这是我使用的代码
from google.cloud import storage
import yaml
client = storage.Client()
bucket = client.get_bucket('bucket_name')
blob = bucket.blob('my_rules_file.yaml')
yaml_file = blob.download_as_string()
doc = yaml.load(yaml_file,Loader=yaml.FullLoader)
doc['email'].clear()
doc['email'].extend(["[email protected]"])
yaml_file = yaml.dump(doc)
blob.upload_from_string(yaml_file,content_type="application/octet-stream")
这是我从最后一行上传的错误
BadRequest: 400 POST https://storage.googleapis.com/upload/storage/v1/b/fc-sandbox-datastore/o?uploadType=multipart: {
"error": {
"code": 400,"message": "Provided CRC32C \"YXQoSg==\" doesn't match calculated CRC32C \"EyDHsA==\".","errors": [
{
"message": "Provided CRC32C \"YXQoSg==\" doesn't match calculated CRC32C \"EyDHsA==\".","domain": "global","reason": "invalid"
},{
"message": "Provided MD5 hash \"G/rQwQii9moEvc3ZDqW2qQ==\" doesn't match calculated MD5 hash \"GqyZzuvv6yE57q1bLg8HAg==\".","reason": "invalid"
}
]
}
}
: ('Request failed with status code',400,'Expected one of',<HTTPStatus.OK: 200>)
为什么会这样。这似乎只发生在“ .yaml文件”上。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)