Aws-lambda-dotnet: Carga útil para Lambda, del objeto APIGatewayProxyRequest (funciona en el nodo)

Creado en 18 may. 2017  ·  3Comentarios  ·  Fuente: aws/aws-lambda-dotnet

Tengo una consulta sobre lo que debería haber sido algo realmente simple.

Tenemos la necesidad de escribir nuestro Lambda en .Net Core (C#) que utiliza un recurso de puerta de enlace de API e intentamos obtener variables personalizadas creadas desde el autorizador personalizado o directamente desde la plantilla de mapeo de cuerpo adjunta al recurso de puerta de enlace de API (en la Solicitud de Integración).

El problema con el que nos encontramos fue que a través del nodo puede acceder al parámetro 'evento' que contendría toda la carga útil de json, lo que significa que podría obtener su nueva variable personalizada de la siguiente manera:
event.requestContext.authorizer.customKey o event.requestContext.context.customKey .

El problema es que no hay forma de obtener estas variables desde el código C#, utilizando el objeto de solicitud [ APIGatewayProxyRequest ]. He conversado con algunos ingenieros de AWS (tenemos un plan de negocios), quienes confirmaron (después de que 3 o 4 personas se involucraron) que no hay una forma obvia o posible de obtener toda esta carga útil del objeto de solicitud para interrogación, a través de C# .

Este fue un problema con nuestro caso particular, ya que entonces no pudimos acceder a ninguna variable personalizada, lo que significa que necesitamos cambiar de plan.

¿Me parece realmente extraño cómo se puede lograr dentro del nodo pero no se atiende en C #?

Una pregunta de desbordamiento de pila que ayudaría con un ejemplo, se puede encontrar aquí:
http://stackoverflow.com/questions/43990385/aws-lambda-c-sharp-accessing-custom-context

¿Se puede confirmar esto?

@normj

feature-request

Comentario más útil

Sí, necesitamos expandir APIGatewayProxyRequest para obtener acceso al autorizador personalizado.

Una solución hasta entonces es hacer que su función Lambda tome un System.IO.Stream en lugar de APIGatewayProxyRequest. Luego tiene acceso al JSON original que puede analizar usted mismo. Puede obtener la información que necesita de ese JSON y luego deserializar JSON a APIGatewayProxyRequest también.

Todos 3 comentarios

Sí, necesitamos expandir APIGatewayProxyRequest para obtener acceso al autorizador personalizado.

Una solución hasta entonces es hacer que su función Lambda tome un System.IO.Stream en lugar de APIGatewayProxyRequest. Luego tiene acceso al JSON original que puede analizar usted mismo. Puede obtener la información que necesita de ese JSON y luego deserializar JSON a APIGatewayProxyRequest también.

El cierre es que este es un duplicado de https://github.com/aws/aws-lambda-dotnet/issues/98

¿Se ha agregado esta característica? en caso afirmativo, ¿podría obtener un enlace a alguna documentación al respecto?

¿Fue útil esta página
0 / 5 - 0 calificaciones