1. 개요
S3 버킷에 파일을 업로드하는 REST API
2. 스크립트
date=`date +%Y%m%d`
dateFormatted=`date -R`
s3Bucket="${3}"
fileName="${4}"
relativePath="/${s3Bucket}/${fileName}"
contentType="application/octet-stream"
stringToSign="PUT\n\n${contentType}\n${dateFormatted}\n${relativePath}"
s3AccessKey="${1}"
s3SecretKey="${2}"
signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${s3SecretKey} -binary | base64`
curl -X PUT -T "${fileName}" \
-H "Host: ${s3Bucket}.s3.amazonaws.com" \
-H "Date: ${dateFormatted}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3AccessKey}:${signature}" \
http://${s3Bucket}.s3.amazonaws.com/${fileName}
3. 실행
입력값은 총 4개이다
- access key
- secrect access key
- 버킷 이름
- 파일 이름
4. 참고
http://www.tothenew.com/blog/file-upload-on-amazon-s3-server-using-curl-request/
