- Newest
- Most votes
- Most comments
There seems to be a misunderstanding in your question regarding the AWS IoT Greengrass Discovery service and how it relates to core devices. In AWS IoT Greengrass, a Greengrass group must define exactly one Greengrass core. When you use the Discovery API, any response from the AWS IoT Greengrass service that contains a list of Greengrass cores will only contain one Greengrass core.
The Discovery API is designed to enable client devices to retrieve information required to connect to a single Greengrass core in the same Greengrass group. It's not intended to return multiple core devices for a single AWS IoT thing.
If you're seeing data for 5 cores out of 10, it's possible that you're dealing with multiple Greengrass groups, each with its own core, rather than multiple cores within a single group. In this case, the Discovery API would return information for each group separately.
To clarify, there isn't a limit on the number of core devices that can be returned through the AWS Greengrass Discovery service in the way you've described, because the service is designed to work with one core per group.
If you're trying to manage multiple core devices or groups, you might need to adjust your implementation approach. Consider reviewing your Greengrass group configurations and how your AWS IoT things are associated with these groups. You may need to make separate Discovery API calls for each group or implement a different strategy for managing multiple cores if that's what your use case requires.
Sources
Greengrass Discovery RESTful API - AWS IoT Greengrass
answered 2 years ago
Hello,
There is no limitation of 5 devices. To verify this, I have tested with 7 devices, and it works fine, returning all 7 devices in the same response format mentioned in the document. The important considerations are:
- The client device must be associated with the core device
- The core device should have the following components installed:
- aws.greengrass.clientdevices.IPDetector
- aws.greengrass.clientdevices.Auth
answered 2 years ago
We have discovered the issue. In our pre-provisioning hook we execute logic that associates a new client device with all cores in a group. We were using batch_associate_client_device_with_core_device. The error seems to have occurred because there were inadvertently other AWS Things in the group that were not Core devices. This meant that the new client AWS Thing was being associated to another thing, which doesn't mean much but apparently when this is done, it fails something silently in the back end and lead to strange behavior in the discovery logic. We changed the logic to use register_device_to_cores which worked. We also needed to do a disassociation step through code since there was a lingering association that could not be accessed through the console.
answered a year ago
Relevant content
- AWS OFFICIALUpdated 2 years ago
