<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
我尝试将Content-Type的头修改为multipart/form-data和application/octet-stream。我还尝试取消postman中的headers部分,并在选择文件时依赖于表单数据和二进制设置的正文类型。“表单-数据”设置会将以下内容添加到调用中:
内容-处置:表单-数据;name=“TheFileTosend.txt”;filename=“TheFileTosend.txt
此外,我注意到,postman正在包括它所称的“临时头”,如下所示:
我正在lambda中生成预签名的URL,如下所示:
public string FunctionHandler(Input input, ILambdaContext context)
{
_logger = context.Logger;
_key = input.key;
_bucketname = input.bucketname;
string signedURL = _s3Client.GetPreSignedURL(new GetPreSignedUrlRequest()
{
Verb = HttpVerb.PUT ,
Protocol = Protocol.HTTPS,
BucketName = _bucketname,
Key = _key,
Expires = DateTime.Now.AddMinutes(5)
});
returnObj returnVal = new returnObj() { url = signedURL };
return JsonConvert.SerializeObject(returnVal);
}
我可以使用POST请求在Postman中工作。以下是对我起作用的细节。当我调用lambda获取预签名URL时,这里是返回的json(在我屏蔽了敏感的和特定于应用程序的信息之后):
{
"attachmentName": "MySecondAttachment.docx",
"url": "https://my-s3-bucket.s3.amazonaws.com/",
"fields": {
"acl": "public-read",
"Content-Type": "multipart/form-data",
"key": "attachment-upload/R271645/65397746_MySecondAttachment.docx",
"x-amz-algorithm": "AWS4-HMAC-SHA256",
"x-amz-credential": "WWWWWWWW/20200318/us-east-1/s3/aws4_request",
"x-amz-date": "20200318T133309Z",
"x-amz-security-token": "XXXXXXXX",
"policy": "YYYYYYYY",
"x-amz-signature": "ZZZZZZZZ"
}
}
在Postman中,创建一个POST请求,并使用“Form-Data”输入您返回的所有字段,其字段名与您在上面所示的signedURL中返回的字段名完全相同。但是,不要设置内容类型。然后再添加一个名为“file”的键:
在word文件的右侧,如果单击下拉框,您可以浏览到您的文件并附加它:
signedURL = self.s3.generate_presigned_post(
Bucket= "my-s3-bucket",
Key=putkey,
Fields = {"acl": "public-read", "Content-Type": "multipart/form-data"},
ExpiresIn = 15,
Conditions = [
{"acl": "public-read"},
["content-length-range", 1, 5120000]
]
)
我需要上传一个文件到S3与邮递员测试。我有一个从S3生成的预签名URL。 但是我不知道如何正确地配置postman,以便对生成的预签名URL执行此PUT请求。 邮件头格式错误的postman上的响应是: 预签名请求的参数: 我得到了URL,然后在邮递员中输入它,用PUT请求,但标题不完整?1.如果我在头上添加content-type,服务器2没有响应。在请求的正文中,Im以“二进制”的形式附加文件
这个GETendpoint有一些问题。由于某种原因,调用状态500内部服务器错误,主体为空。 这是GET调用的代码: titulosPagarService。pesquisar()返回一个JpaRepository。findAll()和titulosPagar的完整列表。 sysoutPrint显示它获取了由TitulosPagar对象生成的列表: 但在邮递员我得到了一个空体和500内部服务器错误
标题说明一切。这是我的代码; 我使用节点强大的文件。 成功上传后,url变量返回s3 url,类似以下内容; 下面是我的参数 我错过了什么?
我正试图上传一个媒体文件(图片,任何扩展名jpg/png/jpeg或视频)到aws s3桶,从邮递员我创建了我的预签名url在我的后端如下 这成功地生成了一个url,但我似乎无法使用postman来测试它,这是我如何在postman中调整请求的截图 我所尝试的: 在上面的代码中,我尝试将签名版本v4添加到params中,但它给了我一个错误,说出了意外的关键字。我甚至尝试将其添加到aws配置和s3中
问题内容: 我收到了不兼容的呼叫签名错误,并且不知道该怎么做才能使其正常工作。 反应态 类别声明 getMethod返回类别 return-Method(反应),这是发生错误的地方: 错误消息:TS2349:无法调用其类型缺少呼叫签名的表达式。类型’(((callbackfn:(值:Cat1,索引:数字,数组:Cat1 [])=> U,thisArg ?: any)=> U [] | …’没有兼容
我正试图通过邮递员发送一个邮件请求,但出现以下错误: 我相信我在HTTPS链接上有一些错误。然后我试着转向*“ SSL认证验证 “*已经在中作为指南。但没有帮助!!!