#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
Я ищу любые другие способы сделать это, если это возможно.
Заранее спасибо за любой вклад.