S3 trigger vs synchronous integrations for IoT->cloud requests

0

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.

AWS
EXPERT
Alex_T
asked 4 years ago198 views
1 Answer
0
Accepted Answer

Hi,

One reason for posting to S3 or IOT is to minimize the blocking on the process that's running the inference. If you wait for the round trip request to return results to DeepLens, the application might miss a new frame. You can certainly run a queue or state machine on the device, but I think the authors wanted to keep it simple.

AWS
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