This repository contains ROS nodes for recording rosbags and uploading them to Amazon S3.
There are three nodes under this repository: the duration_recorder
, the rolling_recorder
, and the s3_file_uploader
. See the READMEs under the rosbag_cloud_recorders
and s3_uploader
directories for more details.
duration_recorder
- This node provides an action interface to record rosbags for a specified duration. Once that duration is complete the rosbag files are uploaded to S3.rolling_recorder
- This node provides an action interface for uploading the past x minutes of rosbag files.s3_file_uploader
- This node is in thes3_file_uploader
package and provides an action interface for uploading a set of files to S3.
More details on the duration_recorder
and rolling_recorder
can be found in the rosbag_cloud_recorders
README. More details on the s3_file_uploader
can be found in the s3_file_uploader
README.
Amazon S3 Summary: Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. This means customers of all sizes and industries can use it to store and protect any amount of data for a range of use cases, such as websites, mobile applications, backup and restore, archive, enterprise applications, IoT devices, and big data analytics. Amazon S3 provides easy-to-use management features so you can organize your data and configure finely-tuned access controls to meet your specific business, organizational, and compliance requirements. Amazon S3 is designed for 99.999999999% (11 9's) of durability, and stores data for millions of applications for companies all around the world.
The source code is released under Apache 2.0.
Author: AWS RoboMaker
Affiliation: Amazon Web Services (AWS)
Maintainer: AWS RoboMaker, [email protected]
To build from source you'll need to create a new workspace, clone and checkout the release-latest
branch of this repository, install all the dependencies, and compile. If you need the latest development features you can clone from the master
branch instead of the latest release branch. While we guarantee the release branches are stable, the master
should be considered to have an unstable build due to ongoing development.
-
Install build tool: please refer to
colcon
installation guide -
Create a ROS workspace and a source directory
mkdir -p ~/ros-workspace/src
-
Clone the package into the source directory .
cd ~/ros-workspace/src git clone https://github.com/aws-robotics/rosbag-uploader-ros1.git
-
Install dependencies
cd ~/ros-workspace sudo apt-get update && rosdep update rosdep install --from-paths src --ignore-src -r -y
Note: If building the master branch instead of a release branch you may need to also checkout and build the master branches of the packages this package depends on.
-
Build the packages
cd ~/ros-workspace && colcon build
-
Configure ROS library Path
source ~/ros-workspace/install/setup.bash
-
Build with
colcon build --cmake-targets tests
-
Then run tests
colcon test colcon test-result --all
Instructions for running the nodes in this repository can be found in the READMEs for rosbag_cloud_recorders
and s3_file_uploader
packages.
Please contact the team directly if you would like to request a feature.
Please report bugs in Issue Tracker.