python - 如何绕过 botocore 3 中的以下错误:缺少此请求所需的标头:x-amz-content-sha256?
问题描述
我有以下脚本将文件上传到 s3 存储桶:
import boto3
from botocore.config import Config
s3_conf = {
'bucket': 'the_bucketr',
'folder': 'cohort',
'config': Config(
region_name = 'eu-central-1',
signature_version = 'v4',
retries = {
'max_attempts': 10,
'mode': 'standard'
}),
'aws_access_key_id':'^SOKE_KEY^',
'aws_secret_access_key':'^NOT_TELLING_U^'
}
s3_client = boto3.client('s3',
config=s3_conf['config'],
aws_access_key_id=s3_conf['aws_access_key_id'],
aws_secret_access_key=s3_conf['aws_secret_access_key']
)
s3_client.upload_file('loremIpsum.txt',s3_conf['bucket'],'loremUpsum.txt')
但我得到了错误:
Failed to upload loremIpsum.txt to the_bucketr/loremIpsum.txt: An error occurred (InvalidRequest) when calling the CreateMultipartUpload operation: Missing required header for this request: x-amz-content-sha256
你知道我该如何解决这个问题吗?
解决方案
为了绕过问题,您应该更改线路
signature_version = 'v4',
进入:
signature_version = 's3v4',
它会像一台运转良好的战争机器一样工作。
推荐阅读
- android - 我的 API 有问题?
- python - MQTT使用locust的分发方式时master端分发mqtt-locusterror
- tensorflow - Raspberry pi 上的 Tensorflow 用于图像处理
- javascript - 无法在视图角度 6 中显示类属性值
- spring-boot - 保存后关闭语句
- media-type - 为什么在媒体类型中是 `text/html` 却是 `application/json`?
- excel-formula - Excel的范围下拉操作的公式是什么
- c# - AggregateGraphLookupOptions mongo GraphLookup 集
- django - Django GenericForeignKey 参考完整性
- hash - 出于完整性目的对文本文件进行哈希处理