client_s3 = boto3.client(
's3',
# Hard coded strings as credentials, not recommended.
aws_access_key_id='XXX',
aws_secret_access_key='XXX',
region_name='us-east-2',
# EDIT: Previously, I used signature_version='v4' here, but as a user here pointed out, this might not work. Regardless, I tried 's3v4' prior to trying 'v4' and neither worked for me.
config=Config(signature_version='s3v4')
)
url = client_s3.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': 'BUCKET_NAME',
'Key': 'CORRECT_KEY'
}
)
当所有使用的参数看起来都是正确的时,是什么造成了这个错误?我如何解决它?
boto3的文档中明确提到,该选项应该类似于config=config(Signature_version='s3v4')
。v4
不起作用。
这是boto3文档的一个示例。
import boto3
from botocore.client import Config
# Get the service client with sigv4 configured
s3 = boto3.client('s3', config=Config(signature_version='s3v4'))
# Generate the URL to get 'key-name' from 'bucket-name'
url = s3.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': 'bucket-name',
'Key': 'key-name'
}
)
顺便说一句,US-EAST-2
只允许签名Verion4,所以您不需要指定它。看这个。
我正在使用AWS Javascript SDK将文件放入我的S3。下面的代码旨在将用户头像上载到S3。我现在要硬编码accessKeyId和secretAccessKey,并从web表单获取文件和密钥上传。 上面的代码给了我一个SignatureDoesNotMatch的错误返回,我对此感到困惑,因为我以为我是让API执行签名,而它的早期版本(不幸的是,我无法复制)没有给我这个错误。
我正在制作一个面部跟踪视频()。它将返回作业id。我已经设置了所有部分。这里我的问题是,我无法使用从SQS获取消息。甚至也不工作。它给出了以下错误。 https://sqs.us-east-1.amazonaws.com上的列表队列;AWS HTTP错误:客户端错误:导致响应: 此请求的规范字符串应为“POST/…”。。。。。。。 代码如下所示。AWS PHP SDK版本3.64。11 提前感谢!
我得到一个AWS错误代码:SignatureDoesNotMatch,状态代码:403时,试图通过亚马逊SES发送邮件。 我已经确认我正在使用通过https://console.aws.amazon.com/iam/home?#users创建的正确凭据,错误仍然存在。 我假设我在iam/home上创建的凭据实际上是全局的,但我不知道我进一步做错了什么。整个错误是: AWS错误代码:Signatur
我在使用aws ses时遇到SignatureDesNotMatch错误。我使用GMT日期和HMAC SHA256的安全密钥创建签名密钥,然后将其转换为Base64。 签名=base64(HMAC SHA256(日期,安全密钥)); 网址:https://email.us-west-2.amazonaws.com?Action=SendEmail 输入标题为x-amz-date: Thu,30 J
我正在尝试通过超文本标记语言表单将图像上传到AWS S3存储桶。 但是,提交表单会导致错误“SignatureDoesNotMatch”和消息“我们计算的请求签名与您提供的签名不匹配。请检查您的密钥和签名方法。” 我检查了一些关于同一主题的现有问题,但他们的答案并没有解决问题。 我到底做错了什么?
我正试图生成一个预先签名的URL,其中包含文档中可用的确切代码: https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/examples-s3-presign.html 但我有一个错误: 我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。 知道文档代码为什么不起作用吗?这似乎与AWS签名V4有关。我不知道