IBM Cloud Object Storage - S3 APIの使い方のメモ
BluemixのS3 APIのObjectStorageでファイルを外部に公開したい時にどうやったらいいかのメモ書きです。
基本的にAWSのS3と一緒です。そちらを使われている方ならなんの違和感もなく使えると思います。
取り急ぎ手順について簡単に纏めます。
セキュリティ面は考慮していないので、誰でもアクセスできる状態になりますのでご注意ください。
S3コマンドはすでに使える様になっていることが前提です。
基本的な操作はS3と同じです。
ファイルを外部に公開する
S3コマンドでファイルを共有します。
s3cmd setacl --acl-public s3:{バケット名}/{オブジェクト名}
公開されるURL
http://{エンドポイント}/{バケット}/{オブジェクト名}
Show Credentialsで表示されるPUBLICのURLならなんでもつながります。
5箇所ぐらいあると思いますが、好きなところを使ってもらって構いません。
その他のS3コマンドのまとめ
バケット参照
# s3cmd ls
バケット内参照
# s3cmd ls s3://バケット名
ディレクトリ内参照
# s3cmd ls s3://バケット名/ディレクトリ名/
バケット作成
# s3cmd mb s3://バケット名
###オブジェクトアップロード
# s3cmd put オブジェクト名 s3://バケット名
###オブジェクトアップロード (ACL公開)
# s3cmd --acl-public put オブジェクト名 s3://バケット名
##オブジェクトをアップロードしてhttpで公開設定します。
###オブジェクト上書き
# s3cmd put オブジェクト名A s3://バケット名/オブジェクト名A
###ディレクトリアップロード
# s3cmd put -r ディレクトリ名 s3://バケット名
空のディレクトリは送信できません
ディレクトリ名を変更して アップロード
# s3cmd put -r ディレクトリA/ s3://バケット名/ディレクトリB/
空のディレクトリは送信できません。
ディレクトリAとディレクトリBの後の/は必須です。
###オブジェクトダウンロード
# s3cmd get s3://バケット名/オブジェクト名
###バケット削除
# s3cmd rb s3://バケット名
バケット内が空でないと消せません
###コピー
# s3cmd cp s3://バケットA/オブジェクトA s3://バケットB/(オブジェクトB)
別バケットにオブジェクトをコピー(例)
###移動
# s3cmd mv s3://バケットA/オブジェクトA s3://バケットB/(オブジェクトB)
別バケットにオブジェクトを移動
###ディレクトリ削除
# s3cmd del -r s3://バケット名/ディレクトリ名/
###オブジェクト削除
# s3cmd del s3://バケット名/オブジェクト名
###パーミッション変更 (publicへ)
# s3cmd setacl --acl-public s3://バケット名/ディレクトリ名/オブジェクト名
httpで公開されます
###パーミッション変更 (privateへ)
# s3cmd setacl --acl-private s3://バケット名/ディレクトリ名/オブジェクト名
httpで非公開となります
###オブジェクト情報表示オブジェクト情報表示
# s3cmd info s3://バケット名/オブジェクト名
###容量計算
# s3cmd du
単位:byte ※パケット指定も可能
###helpコマンド
# s3cmd -h