Skip to main content

Triggering ingestion manually

Ingestion of robolog metadata can either be triggered manually - by POST request to our /api/ingest/v1/trigger endpoint - or automatically - by registering your bucket with us as outlined in Automating Ingestion. While our recommendation is for you to create a workflow that enables automatic ingestion, it is important that you also know how to manually trigger ingestion.

Step 1. Determine the log type

Model-Prime currently supports ingestion of ROS 2 metadata .yaml files (ROSBag2) and ROS 1 .bag files (ROSBag1). Future support for InfluxDB and MCAP formats is on our roadmap. It is important for you to know which log type you use and whether your logs are of the type that we support before attempting to trigger ingestion. We'll assume use of a ROSBag2 log type for this example.

Step 2. Determine the file location for the metadata.

For manual ingestion to work, you will need to make a POST request to our /api/ingest/v1/trigger endpoint with the following information:

  • The AWS Account ID for the owner of the bucket
  • The log type
  • The location of the metadata file to be ingested

For this example, we will assume you have an AWS account ID of 123456789000 and you want to ingest metadata of the type ROSBag2 from a bucket named modelprime.example.bucket where the metadata is located at /robodata/d006b838-ee73-4430-bde3-2d308c64631d/metadata.yaml.

Step 3. Trigger the ingest manually

With all of this information available, it is now possible to use the /api/ingest/v1/trigger endpoint (Swagger link).

Trigger_Endpoint

You will need to supply this endpoint with your cloud_account_id, the robolog log_type, and the robolog location as was found in previous steps. Note that storage_principal is not required when manually triggering ingest. With the required information, the body of the request would look like the following.

{
"cloud_account_id": "123456789000",
"log_type": "ROSBag2",
"location": "s3://modelprime.example.bucket/robodata/d006b838-ee73-4430-bde3-2d308c64631d/metadata.yaml"
}

After sending this data to the endpoint, Model-Prime will begin ingesting your robolog. Shortly thereafter, you will see a new robolog resource appear when you make a GET /api/metadata/v1/robologs request (Swagger link).