AWS IoT Topic Rule Empty JSON Array BUG

0

Hello,

I think i've encountered a bug within the IoT Core topic rules. We have the following topic which invokes a lambda:
'+/select'

In our topic rule we've defined the following statement:
"SELECT *, topic(1) as machineId FROM '+/select'"

Then we send the following mqtt message to the topic:
{
"slots":[1,2,3],
"session-id":"abcd"
}

However, when we get the event in the lambda the array is empty so the event looks as follows:
{
"slots":[],
"session-id":"abcd",
"machineId":"123456"
}

How can we make it that the slots array isn't emptied?

Thank you

Inspiro
asked 4 years ago481 views
3 Answers
0
Accepted Answer

Hi,

I've encountered the same problem with an IOT rule created with CloudFormation which set the sql version to "SQL version 2015-10-08".
Editing the IOT rule and selecting "SQL version 2016-03-23" resolved it.

Regards,
Hubert

answered 4 years ago
profile picture
EXPERT
reviewed 6 months ago
0

Hello Inspiro,
Thank you for reaching out!
I think maybe you missed quotes around https://forums.aws.amazon.com/?
I created a rule with the sql you provided, and when I published the following payload, my lambda received the correct event.

publishing
{
"slots":"https://forums.aws.amazon.com/",
"session-id":"abcd"
}

lambda logged:
{
"slots": "https://forums.aws.amazon.com/",
"session-id": "abcd",
"machineId": "12345"
}

Hope it helps.

AWS
answered 4 years ago
0

Hello XinYiAtAWS ,

Thank you for your response.

I see now that i've made a typo in my question. The mqtt body i send is as follows:

{
"slots":[],
"session-id":"abcd"
}
Where the slots array is filled with integers. (Aparantly aws forums changes my array of integers to a link)

When we the topic rule is executed i receive the following event in the lambda.
{
"slots":[],
"session-id":"abcd",
"machineId":"123456"
}
Here i need the integers in the array just as with the request above.

Do you know what the problem could be?

Edited by: Inspiro on Oct 5, 2020 12:35 AM

Inspiro
answered 4 years 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