Foxglove

Manage data

Upload data

When uploading data to the inbox bucket, you need to add a foxglove_device_id metadata key that corresponds to a device ID in your Foxglove organization.

To add a device and get its ID, either click "Add Device" in the web console, or use the CLI's foxglove devices add command.

Once you've created a device, import data for that device according to your cloud provider.

Microsoft Azure

$ az storage blob upload -f ~/data/bags/gps.bag --container-name inbox --account-name yourorgfgstorage -n gps.bag --overwrite --metadata foxglove_device_id=dev_03ooHzt1GRRdnGrP

Google Cloud Storage

$ gsutil -h "x-goog-meta-foxglove_device_id:<your device id>" cp <input.bag> gs://<your inbox bucket>/<path>

Amazon S3

$ aws s3 cp input.bag s3://<inbox-bucket>/<path> --metadata '{"foxglove_device_id": "<your device ID>"}'

You will see the pending import in the web console's Recordings page. Once processed, the uploaded data will be available and accessible via the API, CLI, and Foxglove Studio.

Specifying a device in MCAP metadata

If you are importing MCAP files, you can specify the associated device ID in an MCAP metadata record rather than in object metadata as described above.

  1. Include a metadata record named foxglove
  2. In that record, add your device ID with a key of "deviceId"

Python example:

mcap_writer.add_metadata(
  name="foxglove",
  metadata={ "deviceId": "dev_abc123" },
)

If the device ID is specified in both MCAP metadata and object metadata as documented above, object metadata takes precedence.

If more than one metadata record is present in the MCAP with the name foxglove, only the last record in the file will be used.