Можно ли записать в корзину AWS S3 только часть приложения/pdf запроса на сборку/форму данных?

#amazon-web-services #amazon-s3 #multipartform-data #amazon-cloudfront

Вопрос:

У меня есть запрос на данные из нескольких частей/форм, поступающий в AWS S3 через AWS CloudFront, содержащий, среди прочего, поле документа типа application/pdf.

В то время как поля, не относящиеся к документам, обрабатываются в CloudFront с использованием Lambda@Edge, документ должен храниться в S3.

Возможно ли, чтобы S3 записывал только поле документа в составном запросе/запросе данных формы? В настоящее время весь запрос написан, в результате чего получается недействительный PDF-документ.

Например, необработанный запрос может выглядеть примерно так

 -----80nd4ry
Content-Disposition: form-data; name="field1"
Content-Type: mime/type

// value
-----80nd4ry
Content-Disposition: form-data; name="doc"; filename="doc.pdf"
Content-Type: application/pdf

%PDF-1.3
// content
%%EOF

-----80nd4ry
 

В своем текущем виде вышесказанное записано как есть на S3 с расширением .pdf. Но мне нужно написать только следующее в ведре:

 %PDF-1.3
// content
%%EOF
 

Проверенные вещи и возможные альтернативные решения:

  • Манипулируйте телом в Лямбда@Edge. Проблема: Ограничение размера тела 40 Кб
  • Прочитайте и перепишите документ с помощью триггера S3

Я ищу любые другие способы сделать это, если это возможно.

Заранее спасибо за любой вклад.