[[EucalyptusWalrusInteracting_v1.5.2]]

#contents
----
* S3 Crul [#f0cda843]
* S3 Curl [#f0cda843]

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

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

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