@ wrote... (5 years, 7 months ago)

Uploading to Minio (or S3) in a script is a bit tricky.

Update: now on GitHub with some Python versions.

#!/bin/bash

# usage: ./minio-upload my-bucket my-file.zip

bucket=$1
file=$2

host=minio.example.com
s3_key='secret key'
s3_secret='secret token'

resource="/${bucket}/${file}"
content_type="application/octet-stream"
date=`date -R`
_signature="PUT\n\n${content_type}\n${date}\n${resource}"
signature=`echo -en ${_signature} | openssl sha1 -hmac ${s3_secret} -binary | base64`

curl -v -X PUT -T "${file}" \
          -H "Host: $host" \
          -H "Date: ${date}" \
          -H "Content-Type: ${content_type}" \
          -H "Authorization: AWS ${s3_key}:${signature}" \
          https://$host${resource}
Category: tech, Tags: linux, python, shell
Comments: 2
Comments
1.
Adebisi Foluso A. @ June 3, 2019 wrote... (4 years, 3 months ago)

Hi,

Just felt like thanking you for this simple but awesome script! Saved me from installing the minio cli for the “very simple” scenario I needed this functionality.

Thank you!

2.
dimon @ December 24, 2020 wrote... (2 years, 9 months ago)

Thanx a lot! Very useful example!!!

Click here to add a comment