By using AWS re:Post, you agree to the Terms of Use
/Number messageAttribute delivered as String in Lambda subscriber to SNS Topic/

Number messageAttribute delivered as String in Lambda subscriber to SNS Topic


I have 2 listeners on a SNS Topic, a JSON-email and Lambda. When i send a message with MessageAttributes of type Number, I do get them als Numbers in my JSON-email, but as strings in my Lambda event. The same message, with the same messageId looks like this:

  "MessageAttributes" : {
    "Active" : {"Type":"Number","Value":"0"}


  "MessageAttributes" : {
    "Active" : {"Type":"String","Value":"0"}

Is this a bug, or am I doing something wrong?

2 Answers
Accepted Answer

SNS messageAttributes of type Number is sent to lambda event as type String. But this is a not a bug as per AWS documentation.

Number data type isn't supported for AWS Lambda subscriptions. If you specify this data type for Lambda endpoints, it's passed as the String data type in the JSON payload that Amazon SNS delivers to Lambda.

answered 22 days ago

Right, I missed that. I can't really understand why that would not be support on Lamda's though. It would still be the same StringValue, only the Type would be differently named.

answered 19 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions