sam generate-event - How to set isBase64 to false?

0

Hope you are doing well!

I have been learning a bit on AWS and trying to test lambda locally. Currently I am trying to test the lambda by generating an event as if it comes from the API gateway.

I am using the following command after building my lambda application.

sam local generate-event apigateway aws-proxy --path retrievestatus --**body {"email":"abc@gmail.com"} **| sam local invoke -e - App

The event gets generated and the lambda is invoked. However I have a small issue here. The event generated has the following -

{ "body": "e2VtYWlsOmJ1bHVzdXNhc2hhbmtAZ21haWwuY29tfQ==", "resource": "/{proxy+}", "path": "/retrievestatus", "httpMethod": "POST", "isBase64Encoded": true,

My lambda is not really expecting a base64 encoded string. So I am looking for any suggestions to turn isBase64Encoded to false when I use SAM locally.

I have tried to check the options supported by running - "sam local generate-event apigateway aws-proxy -h" and couldn't find anything to turn it off.

Appreciate any help here.

preguntada hace 2 años737 visualizaciones
1 Respuesta
1
Respuesta aceptada

Based on the code in github, the event is always generated with base64 encoding. What I would suggest is to create the event once and modify it manually. Then use the saved event when you invoke the function using the -e parameter in sam local invoke.

profile pictureAWS
EXPERTO
Uri
respondido hace 2 años
  • Thank you for confirmation!

    I have done it as per your suggestion and it works as expected.

    I have generated a local event and stored it in a file sam local generate-event apigateway aws-proxy --path retrievestatus --body {"email":"abc@gmail.com"} > test.json

    Made modifications in test.json to set the isbase64 flag to false and body as per my requirement.

    Then I used sam local invoke to accept the saved event sam local invoke -e test.json

    Thanks again and have a great day!

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas