curlを使ってs 3サービス操作を行います。
2626 ワード
参考:
http://tmont.com/blargh/2014/1/uploading-to-s3-in-bash
http://sriram-iyengar.blogspot.com/2011/07/aws-create-s3-bucket-using-curl.html
s 3 cmd/s 3 curlなどのツールまたは第三者倉庫を使ってRadosGWが提供するs 3サービスをテストしたくないです。だからgoogleはもう一つ作った人がいます。詳しくはリンクを参照してください。
shellスクリプトを貼って記録します。
1.bucketを作成する
「mygod」というbucketを作成します。
下のスクリプトは@fileを@urlで指定されたストレージサービスのクラスタにアップロードする@bucketで、対象の名前は@objnameです。
3.objectを取得する
http://tmont.com/blargh/2014/1/uploading-to-s3-in-bash
http://sriram-iyengar.blogspot.com/2011/07/aws-create-s3-bucket-using-curl.html
s 3 cmd/s 3 curlなどのツールまたは第三者倉庫を使ってRadosGWが提供するs 3サービスをテストしたくないです。だからgoogleはもう一つ作った人がいます。詳しくはリンクを参照してください。
shellスクリプトを貼って記録します。
1.bucketを作成する
「mygod」というbucketを作成します。
bucket="mygod"
dateValue=`date -R`
resource="/${bucket}/"
contentType="application/octet-stream"
stringToSign="PUT
${dateValue}
${resource}"
s3Key="6R2MJWR863EREUDD0KTZ"
s3Secret="74eHNNQa1oLBlvZfO2CC2hIU8cobSYxTgeRDtXtH"
signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${s3Secret} -binary | base64`
curl -v -X PUT "http://${bucket}.s3.mydomain.com" \
-H "Host: ${bucket}.s3.mydomain.com" \
-H "Date: ${dateValue}"\
-H "Authorization: AWS ${s3Key}:${signature}"
2.対象をbucketにアップロードする下のスクリプトは@fileを@urlで指定されたストレージサービスのクラスタにアップロードする@bucketで、対象の名前は@objnameです。
file=./c.zip
objname="testfile"
bucket=another
url="s3.mydomain.com"
resource="/${bucket}/${objname}"
contentType="application/x-compressed-tar"
dateValue=`date -R`
stringToSign="PUT
${contentType}
${dateValue}
${resource}"
s3Key="6R2MJWR863EREUDD0KTZ"
s3Secret="74eHNNQa1oLBlvZfO2CC2hIU8cobSYxTgeRDtXtH"
signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${s3Secret} -binary | base64`
curl -X PUT -T "${file}" \
-H "Host: ${bucket}.${url}" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3Key}:${signature}" "http://${bucket}.${url}/${objname}"
注意:httpsを使うなら、httpをhttpsに変えてください。3.objectを取得する
file="./myfile"
objname="testfile"
bucket=another
url="s3.mydomain.com"
resource="/${bucket}/${objname}"
contentType="application/x-compressed-tar"
dateValue=`date -R`
stringToSign="GET
${contentType}
${dateValue}
${resource}"
s3Key="6R2MJWR863EREUDD0KTZ"
s3Secret="74eHNNQa1oLBlvZfO2CC2hIU8cobSYxTgeRDtXtH"
signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${s3Secret} -binary | base64`
curl -o ${file} -X GET \
-H "Host: ${bucket}.${url}" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3Key}:${signature}" "http://${bucket}.${url}/${objname}"