Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Script to copy a TileDB array to an S3 bucket.
- #
- # This assumes you have installed the AWS CLI and 'aws' is in your PATH.
- # It also assumes you have set the appropriate environment variables
- # containing your AWS credentials.
- if [ $# -lt 2 ]; then
- echo "Usage: $0 <array-dir> <bucket-name>"
- echo "Example: $0 /path/to/tiledb_array/ my-bucket"
- echo "The bucket name should not have a trailing /. The 's3://' prefix is added automatically."
- exit 1
- fi
- array_dir=$1
- bucket_name=$2
- array_name=`basename "${array_dir}"`
- # Remove ending / from array_dir
- array_dir=`dirname ${array_dir}`/${array_name}
- echo "Syncing array..."
- aws s3 sync "${array_dir}" "s3://${bucket_name}/${array_name}"
- echo "Adding empty directory files..."
- aws s3api put-object --bucket "${bucket_name}" --key "${array_name}/" --content-length 0
- pushd "${array_dir}" > /dev/null
- for f in *; do
- if [ -d "${f}" ]; then
- aws s3api put-object --bucket "${bucket_name}" --key "${array_name}/${f}/" --content-length 0
- fi
- done
Add Comment
Please, Sign In to add comment