The cloud uploader node is responsible for persisting all files placed into
/mayfield/data/user/uploader off of the robot and into AWS S3. It does this
using temporary AWS STS credentials which it pulls periodically from the AWS
cloud back end over MQTT (via the MQTT node).
Files saved in S3 appear with a prefix and name derived from the file name and path on disk.
For example if the uploader were to upload this file:
It would appear in S3 as:
Because the cloud uploader node acts upon all files which appear in its upload
directory, it is important to place files into that directory atomically. This
means that you need to
mv them in there after producing them elsewhere
/tmp) instead of writing them down into
To facilitate this usage pattern, the cloud uploader provides a Python client:
from uploader import CloudUploaderClient client = CloudUploaderClient() help(client)