LoginSignup
4

More than 5 years have passed since last update.

IBM Cloud Object Storage - S3 APIの使い方のメモ

Posted at

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4