为什么我使用JMeter将标头嵌入到上传到S3的文件中?

时间:2019-06-27 08:11:26

标签: amazon-s3 jmeter put

每当使用JMeter的HTTP请求采样器将文件(json)上传到S3时,上传的文件都会在文件顶部包含HTTP标头。我正在使用签名的URL(具有实际值):

https://something-s3bucket-something.s3.eu-west-1.amazonaws.com/afda5939-c232-d746-06f7-68790abde85b-91e962d6-4643-8091-fab8-9d0f78f35810.jsonTemp?X-Amz-Expires=18000&x-amz-security-token=somethinglongandcomplicated&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=somethingspecific&X-Amz-Date=20190627T070453Z&X-Amz-SignedHeaders=host;x-amz-security-token&X-Amz-Signature=something

HTTP请求设置: HTTP Request Settings

结果json:

--Y0B3WMeM2M6xYSUHpjPUIj72y3xnO_pswRA12Oh
Content-Disposition: form-data; name="filename"; filename="500payslips.json"
Content-Type: binary/octet-stream
Content-Transfer-Encoding: binary

{
... json content ...
}
}

--Y0B3WMeM2M6xYSUHpjPUIj72y3xnO_pswRA12Oh--

我知道我可以将s3 java库添加到JMeter,然后对上传进行编码,但我希望仅使用HTTP Request采样器(如果可能)。

1 个答案:

答案 0 :(得分:0)

解决方法比修复(?)更多。与其将文件作为多部分/表单数据发送,不如将文件的内容读入变量并将内容作为请求正文的一部分发送。