2008-05-04

Amazon S3 の x-amz- ヘッダの正体は何なのか?

Amazon Simple Storage Service (Amazon S3) を使ってみようと試行中です。

Amazon S3 Firefox Organizer (S3 Fox) を使って bucket を操作していますが、そのレスポンスに x-amz- から始まる Amazon S3 固有のヘッダを含むことに気が付きました。これは何だろう?

そこで Developer Guide から探してみました。Developer Guide に x-amz- の説明があるというのは、某氏より教わりました。ありがとうございました。

x-amz- ヘッダは、システム向けとユーザ向けに分類 されるとのことです。

Amazon S3 REST API のレスポンスに、次のような x-amz- ヘッダが、ユーザの意向に関わらず、必ず含まれます。ユーザからみて、x-amz-id-2 と x-amz-request-id ヘッダに特別な用途や意味はなく、このヘッダとその値は、Amazon がトラブルシューティングなどの対応 に使うとのことです。
x-amz-id-2: XxYljM5HbdXpXXMspuaJMwHMIgN4jRne2CRNIkQxnyABHmbGQ8f45wYbmAOgEk2U
x-amz-request-id: 04E2FFCFB46A42BE
Amazon S3 REST API のレスポンスに x-amz-meta- ヘッダが含まれることがあります。この x-amz-meta- ヘッダは、オブジェクト(フォルダやファイル)を格納するときに付与した ユーザ固有のメタデータ を表しています。

S3 Fox を使うと、次のような x-amz-meta- ヘッダが自動的に付与されます。x-amz-meta-s3fox-filesize はファイルサイズ、x-amz-meta-s3fox-modifiedtime は更新日時を表し、S3 Fox は、このメターデータを使って、オブジェクトをリスト表示していると考えられます。
x-amz-meta-s3fox-filesize: 28637
x-amz-meta-s3fox-modifiedtime: 1191805825031
x-amz-meta- ヘッダやその値は、Amazon S3 の振る舞いに影響を与えない とのこと。つまり、ユーザが自由に使えるということですね。ただし、ヘッダのキーと値の総長が 2KB まで という制限があります。

また HTTP ヘッダですので、その値は ASCII として解釈される ことになるので、UTF-8 (3バイト)は指定しない方がいいのでしょうかね。ごめんなさい。Developer Guide から読み取れませんでした。

x-amz-missing-meta ヘッダという特別なヘッダもあります。x-amz-meta- ヘッダの値に、印刷不可な文字を含むとき、そのヘッダは無効として扱われます。その無効になったヘッダは、x-amz-missing-meta ヘッダを使って、そのヘッダ名を知らせるとのことです。ヘッダ名は大文字小文字の区別がなく、複数のヘッダが無効だったときは、ヘッダ名がカンマ区切りになります。

0 件のコメント: