Skip to main content

Uploading From Cloud Storage

Use the NomadicML web portal to connect cloud buckets and import videos without leaving the browser. In the app, open Profile → Cloud Integrations to launch the guided workflow, upload credentials, optionally save the connection, and pick files to ingest. The sections below outline the IAM setup each modal expects before you start the import.

Google Cloud Storage (Web UI)

The UI walks through the same steps outlined below. Use these instructions to generate the service account credentials the modal requests:
  1. Create a service account
    • In the Google Cloud Console, go to IAM & Admin → Service accounts → Create.
    • Name the account (for example nomadicml-importer) and finish the creation wizard.
  2. Grant the account read access to your bucket
    • Open Cloud Storage → Browser, select the bucket that holds your videos, and open the Permissions tab.
    • Click Grant access, add the service-account email, and assign both Storage Object Viewer and Storage Legacy Bucket Reader roles so that hierarchical listings work.
  3. Create and download a JSON key
    • Return to the service account, choose Manage keys → Add key → Create new key → JSON → Create.
    • Download the .json file and keep it secure—Google will not show it again.
  4. Upload the credentials in NomadicML
    • In Profile → Cloud Integrations, click Add Google Cloud Storage and upload the JSON key in Step 1 of the modal.
    • Provide the bucket name and optional prefix in Step 2, then test the connection. You can choose to save the integration for future imports.
  5. Select files and import
    • After the connection succeeds, pick the videos you want to ingest. NomadicML will use the uploaded key once to read the selected files.
Saved integrations appear at the top of the Cloud Integrations tab so you can reuse them without re-uploading keys.

Amazon S3 (Web UI)

Follow these steps to supply the IAM credentials that the S3 modal expects:
  1. Create a least-privilege IAM policy
    • In the AWS Console, open IAM → Policies → Create policy → JSON.
    • Paste a policy that grants s3:ListBucket on your bucket and s3:GetObject on the objects you plan to ingest. Example:
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::your-bucket-name",
            "Condition": { "StringLike": { "s3:prefix": ["optional/prefix/*", "optional/prefix"] } }
          },
          {
            "Effect": "Allow",
            "Action": ["s3:GetObject"],
            "Resource": "arn:aws:s3:::your-bucket-name/optional/prefix/*"
          }
        ]
      }
      
    • Adjust the bucket ARN (and prefix if you only want to expose a folder). You can use AWS’s visual editor if you prefer.
  2. Create an IAM user for NomadicML
    • Still in IAM, go to Users → Create user and enable Access key - Programmatic access.
    • Attach the policy from Step 1 (or AmazonS3ReadOnlyAccess if you want full read-only coverage of the bucket).
  3. Store the access keys
    • After the user is created, download the .csv or copy the Access key ID and Secret access key. AWS will not show the secret again.
  4. Enter the credentials in NomadicML
    • In Profile → Cloud Integrations, choose Add Amazon S3. Step 1 asks for the access key, secret key, optional session token, and the home region of the bucket.
    • Step 2 prompts for the bucket name and an optional prefix. Enable “Save this integration” if you want to reuse it.
  5. Validate, pick files, and import
    • The modal tests the credentials and lists your objects. Select the videos you want, then continue to kick off the import flow.
Saved S3 integrations also appear in the Cloud Integrations tab, so future imports only require choosing the integration and prefix. With either integration in place, the Profile page lets you reopen the modal at any time to browse your bucket and launch new imports straight from the web portal—no additional setup required.
I