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
gefragt vor 4 Jahren385 Aufrufe
3 Antworten
0
Akzeptierte Antwort

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

beantwortet vor 3 Jahren
profile picture
EXPERTE
überprüft vor einem Monat
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
beantwortet vor 4 Jahren
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
beantwortet vor 4 Jahren

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen