Sending UID / Device ID via Greengrass

I'm running several Greengrass Cores and they send Data to a MQTT Stream. I deployed a Lambda on GGC reading the SerialPort coming in and push it to the Stream.

But now I want to check which device is sending the Data - I tried this one to check out the hostname

import socket
host = socket.gethostname()

but the core sends the value "sandbox" so i think the lambda isn't authorized to read the host name.

The SDK has no Documentation for this: https://github.com/aws/aws-greengrass-core-sdk-python

I want to push the data to a mqqt stream like this:

response = client.publish(
    topic='customer/events/{DEVICE-ID or UID or ARN}/',
    payload=jsonData.encode())

Upvotes: 0

Views: 451

Answers (1)

I found something useful in another AWS Python Example - ThingNames are registered in the System Env so you can import OS and get the ThingName like this:

import os
device = os.environ['AWS_IOT_THING_NAME']

Upvotes: 5

Related Questions