Headless Uploader

Uploading to Shade is the exception from our RESTful API. Because of how files are chunked when ingested, as well as upload updates are streamed to all listening clients, uploading can't be encapsulated into a nice PUT. We might add this endpoint in the future and then do this legwork on our servers, but for now we have a command line tool for doing the uploading.

This is the same tool we use internally for customer transfers and the one we point to when customers are ingesting lots of data all at once.

API Key

You need your API key to use the uploader, see the info on generating it here

Where is the executable?

You also need to obtain an uploader executable from us. The binary itself isn't yet public so we'll send it to you manually.

Uploading

We're ready to upload. We need to know a few pieces of information before we can upload

  1. Where the uploader is located /path/to/uploader is my example, but it typically looks something like /Users/example/Downloads/uploader

  2. The directory you want to upload from, in this case something like /Volumes/Team Films/shoot_1

  3. The API key you generated previously (starts with sk_...)

  4. The drive id you want to upload to. This can be tricky to retrieve so we can help you with that

  5. (optional) a destination to upload to in the drive, by default this goes in the root but maybe in this case it would be /shoots/shoot_1

If you're on a posix system (mac or linux) make sure the uploader we gave has executable permissions by running

chmod +x /path/to/uploader

Now it's simple to upload, open terminal and fill this in.

/path/to/uploader --mode directory \
  --directory "/path/on/the/local/drive" \
  --drive the-drive-id-uuid \
  --key your_shade_api_key \
  --destination /where/you/want/it/defaults/to/root

Hit enter and let it fly. Files that already exist will be skipped

Example call

/path/to/uploader --mode directory \
    --directory "/Volumes/Team Films/shoot_1" \
    --drive b7ab7a0d-076c-448e-87f3-8e8e610f9ddb \
    --key sk_your_api_key \
    --destination /

This command bulk uploads everything at /Volumes/Team Films/shoot_1 to the root of my drive b7ab7a0d-076c-448e-87f3-8e8e610f9ddb

Last updated