API Gateway - Publicar multiparte \ datos de formulario

Parece mi pregunta, tal vez un poco similara este.

Tengo una API dentro de mi API Gateway y estoy haciendo un proxy HTTP a través de un punto final que coloca los archivos multipart / form-data de POST.

Si llamo al punto final http directamente (no a través de la puerta de enlace API) - usando postman, funciona como se esperaba, sin embargo, el uso del punto final de la puerta de enlace API (a través de postman) falla.

He comparado ambas solicitudes (a través de los registros de Fiddler y CloudWatch) que parecen ser idénticas:

Solicitud de llamada API directa (en funcionamiento):

POST https://domainname/api/v1/documents HTTP/1.1
Host: api.service
Connection: keep-alive
Content-Length: 202
Authorization: AuthToken
Postman-Token: a75869d6-1d64-6b9f-513d-a80ac192c8e1
Cache-Control: no-cache
Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
docMetaInfo: some extra data needed
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryB85rsPlMffA2fziS
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8

------WebKitFormBoundaryB85rsPlMffA2fziS
Content-Disposition: form-data; name=""; filename="Test.txt"
Content-Type: text/plain

This is a test Text File
------WebKitFormBoundaryB85rsPlMffA2fziS--

Solicitud de API Gateway (no funciona):

POST https://GATEWAY_domainname/api/v1/documents HTTP/1.1
Host: api-Gateway.service
Connection: keep-alive
Content-Length: 202
Authorization: AuthToken
Postman-Token: e25536fa-3dfa-ddcb-8ca6-3f3552d2bc40
Cache-Control: no-cache
Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
docMetaInfo: some extra data needed
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarybX9MyWBsuLGm6QIC

x-api-key: *********************
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8

------WebKitFormBoundarybX9MyWBsuLGm6QIC
Content-Disposition: form-data; name=""; filename="Test.txt"
Content-Type: text/plain

This is a test Text File
------WebKitFormBoundarybX9MyWBsuLGm6QIC--

He intentado algunas cosas desde el lado de la puerta de enlace, incluido el cambio deIntegration Request mapear un nuevo cuerpo para el mismo tipo de contenido, sin suerte.

Que yo sepa, solo debería necesitarpassthrough esta llamada, por lo tanto, ¿por qué se está volviendo un poco confuso? ¿No debería haber necesidad de manipulación / intercepción de datos?

El error que obtengo es 400 - solicitud incorrecta (quejándose de lafile no se encuentra), pero como puede ver en la solicitud, está allí.

¿Algunas ideas?

EDITAR Registros de CloudWatch en el mismo APIGateway POST

El error sigue siendo 400: no se encontró ningún archivo

Respuestas a la pregunta(3)

Su respuesta a la pregunta