Всякий раз, когда вы загружаете файл (json) в S3 с помощью сэмплера HTTP Request JMeter, загруженный файл содержит заголовки 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-запроса:
Результирующий 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--
Я знаю, что мог бы добавить библиотеки j3 s3 в JMeter и затем кодировать загрузку, но я бы предпочел просто использовать сэмплер HTTP Request (если это возможно).
Больше обходного пути, чем исправление (?). Вместо того чтобы отправлять файл как multipart / form-data, я просто считываю содержимое файла в переменную и отправляю содержимое как часть тела запроса.