I see the "Track Coffee Consumption" DeepLens recipe (which runs an object detection model at edge but calls Rekognition for face comparison) works by:
- Uploading an image from the device to S3, and
- Triggering a cloud Lambda function from the S3 upload - which calls Rekognition and does something with the result.
Assuming that:
- The results of the cloud inference needed to be used on device (rather than just powering a Cloud dashboard as in the recipe), and
- Latency-when-available was more important to the use case than queuing-when-unavailable
...Are there any big reasons not to call the cloud Lambda (or Rekognition) direct from device - using botocore just like the recipe does with S3?
Perhaps the S3 pattern is preferred because there are more restricted deployment cases where access to S3 is available via some IoT services, but general Lambda/etc isn't?
It seems from a quick search like there are not many examples around that (synchronously) invoke cloud services from GreenGrass devices: I'm trying to get a grasp of whether this is driven by expected network connectivity, device support, IoT integration availability, or something else.