The /s3/import Robot

Transloadit is happy to import from whatever storage solution suits you best.

The /s3/import Robot imports whole directories of files from your S3 bucket.

Parameters

Name Type Default Description
key (required) String Your Amazon S3 key.
secret (required) String Your Amazon S3 secret.
bucket (required) String Your Amazon S3 bucket name.
bucket_region String "us-east-1" The AWS region that your S3 bucket is in. If not provided, Transloadit will figure that out for you at some speed cost.
path (required) String / Array of Strings The path in your bucket to the specific file or directory. If the path points to a file, only this file will be imported. For example: js/my_javascript_file.js If it points to a directory, then all files from this directory will be imported. For example: js/ For Transloadit to recognize you want to import all files from a directory, make sure your path ends with a / slash. Directories are not imported recursively. If you want to import files from subfolders and sub-subfolders, please do this with another Robot Step. If you want to import all files from the root directory, please use / as the value here. In this case, make sure all your objects belong to a path. If you have objects in the root of your bucket that aren't prefixed with /, you'll receive an error: A client error (NoSuchKey) occurred when calling the GetObject operation: The specified key does not exist. You can also use an array of path strings here to import multiple paths in the same Robot Step.
ignore_errors Boolean false There might be an error coming up when trying to extract meta data from your imported files. This happens for files that are zero bytes big for example. Setting this to true will cause the Robot to not stop the import (and the entire Assembly) when that happens.

Live demos

Our /s3/import Robot can be used in combination with other Robots, to create powerful workflows unique to your use case.
Here are a few example scenarios, and the required the Assembly Instructions to implement them.
You can also try demos of these examples right here, live on our website.

Import a specific file from S3

{
  "steps": {
    "imported": {
      "robot": "/s3/import",
      "result": true,
      "bucket": "demos.transloadit.com",
      "bucket_region": "us-east-1",
      "key": "YOUR_AWS_KEY",
      "path": "my_folder/snowflake.jpg",
      "secret": "YOUR_AWS_SECRET"
    },
    "resized": {
      "use": ["imported"],
      "robot": "/image/resize",
      "result": true,
      "height": 130,
      "imagemagick_stack": "v2.0.3",
      "width": 130,
      "zoom": false
    },
    "exported": {
      "use": ["imported", "resized"],
      "robot": "/s3/store",
      "bucket": "demos.transloadit.com",
      "bucket_region": "us-east-1",
      "key": "YOUR_AWS_KEY",
      "secret": "YOUR_AWS_SECRET"
    }
  }
}

Import an entire folder of files from S3

{
  "steps": {
    "imported": {
      "robot": "/s3/import",
      "result": true,
      "bucket": "demos.transloadit.com",
      "bucket_region": "us-east-1",
      "key": "YOUR_AWS_KEY",
      "path": "my_folder/",
      "secret": "YOUR_AWS_SECRET"
    },
    "resized": {
      "use": ["imported"],
      "robot": "/image/resize",
      "result": true,
      "height": 130,
      "imagemagick_stack": "v2.0.3",
      "width": 130,
      "zoom": false
    },
    "exported": {
      "use": ["imported", "resized"],
      "robot": "/s3/store",
      "bucket": "demos.transloadit.com",
      "bucket_region": "us-east-1",
      "key": "YOUR_AWS_KEY",
      "secret": "YOUR_AWS_SECRET"
    }
  }
}

Resize all images in an S3 bucket

{
  "steps": {
    "imported": {
      "robot": "/s3/import",
      "result": true,
      "bucket": "demos.transloadit.com",
      "bucket_region": "us-east-1",
      "key": "YOUR_AWS_KEY",
      "path": "my_folder/",
      "secret": "YOUR_AWS_SECRET"
    },
    "resized": {
      "use": ["imported"],
      "robot": "/image/resize",
      "result": true,
      "height": 130,
      "imagemagick_stack": "v2.0.3",
      "width": 130,
      "zoom": false
    },
    "exported": {
      "use": ["resized"],
      "robot": "/s3/store",
      "result": true,
      "bucket": "demos.transloadit.com",
      "bucket_region": "us-east-1",
      "key": "YOUR_AWS_KEY",
      "path": "${file.original_path}${file.basename}-resized@130-${file.ext}",
      "secret": "YOUR_AWS_SECRET"
    }
  }
}

Our /s3/import robot blog posts

Over the years we wrote the following posts about Our /s3/import robot on our blog:

Did you know?

You can easily combine Robots to create powerful workflows, unique to your business.
This is the power of Transloadit.