EucalyptusWalrusInteracting_v1.5.2


S3 Curl

S3 Curl は、 Walrus とユーザが、curl ヘッダに加えられているセキュリティ・パラメータをつけた状態で相互にやりとりできるツールです。

ここでは、create、delete、list buckets、put、get、オブジェクトの delete、アクセスコントロールのポリシー設定などを行う事ができます。詳細は、Amazon S3 が提供している S3 インターフェースに関する記述をご覧ください。

S3 Curl が動作するためには、perl-Digest-HMAC パッケージが必要です。システムに入っていなければ、インストールしてください。

好きなエディタを使って、s3curl.pl ファイルを編集します。endpointo のhostname にあたる箇所を、適切に修正してください。

例えば、

my @endpoints = ( 's3.amazonaws.com' );

このようになっているところを、

my @endpoints = ( 'your-host' );

のように書き換えてください。'your-host' の部分には、Walrus が動作しているマシンの IP アドレスかホスト名を記述します。認証を成功させるためには、your-host の部分が、eucarc の環境変数 $S3_URL でセットされているものと同一であることが、重要です。

※ s3curl.pl ファイルを編集時、ホスト名の場所は、純粋にホスト名のみを記述してください。ポート番号やパスの記述は不要です。例えば、xzy.com:8773/services/Walrus の代わりに xyz.com とだけ記載します。ですが、コマンドライン・ツールが使用するときは、前者のようにフルパスで記述しなくてはいけません。

次のコマンドを実行前に、'eucarc' ファイルの環境変数を読み込んでおいてください。

s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY <curl options>

証明書は設定ファイル ".s3curl" に追加しておくことが望ましいです。詳細は s3url に付属している README ファイルを御覧ください。

  • 例:バケットを作成(create)する
    s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY --put /dev/null -- -s -v $S3_URL/bucketName
    bucketName の場所は、作成したいバケット名を指定してください。
  • オブジェクトを送信(put)する s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY --put <filename> -- -s -v $S3_URL/bucketName/objectName objectName には、作成したいオブジェクト名を指定してください。
  • オブジェクトの MD5 チェックサムを取得し、サイズと、最終更新日時を取得する
    s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY --head -- -s -v $S3_URL/bucketName/objectName > object.head
    
    cat object.head
  • オブジェクトを取得(get)する
    s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY --get -- -s -v $S3_URL/bucketName/objectName > object
  • オブジェクトを削除(delete)する
    s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY --del -- -s -v $S3_URL/bucketName/objectName
  • バケットを削除(delete)する
    s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY --del -- -s -v $S3_URL/bucketName
    なお、S3 の仕様に準拠するため、バケットを削除するには、バケットの中身が空になっている必要があります。

"xmlindent"を使って出力をパイプすることができます(xmlindent がシステム上にインストールされていなければ、インストールする必要があります)。

  • 例:バケットのアクセス制御ポリシーを取得
    s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY --get -- -s -v $S3_URL/bucketName?acl | xmlindent > bucket.acl
  • バケットの内容を取得
    s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY --get -- -s -v $S3_URL/bucketName  | xmlindent > bucket.list
  • ユーザが使用できる全バケット一覧
    s3curl.pl --id $EC2_ACCESS_KEY --key $EC2_SECRET_KEY --get -- -s -v $S3_URL  | xmlindent > bucketlisting

原文:http://open.eucalyptus.com/wiki/s3curl


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-09-22 (火) 01:03:48 (5328d)