新しい Amazon S3 ユーザーガイドにようこそ! Amazon S3 ユーザーガイドは、使用中止された 3 つのガイド (Amazon S3 開発者ガイド、Amazon S3 コンソールユーザーガイド、Amazon S3 入門ガイド) の情報と手順をまとめたものです。
オブジェクトキー名の作成
オブジェクトキー (またはキー名) によって、Amazon S3 バケット内のオブジェクトは一意に識別されます。オブジェクトメタデータは、名前と値のペアのセットです。オブジェクトメタデータの詳細については、オブジェクトメタデータの使用 を参照してください。
オブジェクトを作成するときに、キー名を指定します。これにより、バケット内のオブジェクトは一意に識別されます。たとえば、Amazon S3 コンソール
Amazon S3 のデータモデルはフラットな構造です。バケットを作成し、そのバケットにオブジェクトを保存します。サブバケットやサブフォルダの階層はありません。ただし、Amazon S3 コンソールで使用されているようなキー名のプレフィックスや区切り記号を使用して論理的な階層を暗示できます。Amazon S3 コンソールでは、フォルダの概念をサポートしています。Amazon S3 コンソールからメタデータを編集する方法の詳細については、「Amazon S3 コンソールでのオブジェクトメタデータの編集」を参照してください。
バケット (admin-created
) に、次のようなオブジェクトキーを持つ 4 つのオブジェクトがあるとします。
Development/Projects.xls
Finance/statement1.pdf
Private/taxdocument.pdf
s3-dg.pdf
コンソールでは、キー名のプレフィックス (Development/
、Finance/
、Private/
) および区切り記号 ("/") を使用して、フォルダ構造を表します。s3-dg.pdf
キーにはプレフィックスがないため、そのオブジェクトはバケットのルートレベルに直接表示されます。Development/
フォルダを開くと、Projects.xlsx
オブジェクトが表示されます。
-
Amazon S3 ではバケットとオブジェクトをサポートしており、階層はありません。ただし、オブジェクトキー名のプレフィックスと区切り記号により、Amazon S3 コンソールや AWS SDK で階層を暗示し、フォルダの概念を導入できます。
-
Amazon S3 コンソールは、フォルダーのプレフィックスと区切り記号の値をキーとしてゼロバイトのオブジェクトを作成することにより、フォルダーオブジェクトの作成を実装します。これらのフォルダオブジェクトはコンソールに表示されません。それ以外の場合は、他のオブジェクトと同様に動作し、REST API、AWS CLI、および AWS SDK を使用して表示および操作できます。
オブジェクトキーの命名のガイドライン
オブジェクトキー名には UTF-8 文字を使用できます。ただし、キー名に特定の文字を使用すると、一部のアプリケーションやプロトコルで問題が発生することがあります。以下のガイドラインは、DNS、ウェブセーフ文字、XML パーサー、その他の API とのコンプライアンスを最大化するのに役立ちます。
セーフ文字
以下の文字セットは、一般的にキー名で使用しても安全です。
アルファベットの文字 |
|
特殊文字 |
|
有効なオブジェクトキー名の例を次に示します。
-
4my-organization
-
my.great_photos-2014/jan/myvacation.jpg
-
videos/2014/birthday/video1.wmv
オブジェクトキー名が単一のピリオド (.)、2 つのピリオド (..) で終了する場合は、Amazon S3 コンソールを使用してオブジェクトをダウンロードすることはできません。「.」または「..」で終わるキー名のオブジェクトをダウンロードするには、AWS コマンドラインインターフェイス (AWS CLI)、AWS SDK、または REST API を使用する必要があります。
特殊な処理を必要とする可能性がある文字
キー名で以下の文字を使用すると、追加のコード処理が必要になる場合があり、16 進数として URL エンコードまたは参照することが必要になる可能性があります。これらの文字の一部は表示不可能な文字であり、ブラウザで処理されない場合があります。この場合も、特殊な処理が必要です。
-
アンパサンド ("&")
-
ドル記号 ("$")
-
16 進数の 00~1F (10 進数の 0~31) の範囲および 7F (10 進数の 127) の ASCII 文字
-
アットマーク ("@")
-
等号 ("=")
-
セミコロン (";")
-
コロン (":")
-
プラス記号 ("+")
-
スペース – いくつかの用途 (特に複数のスペース) では、スペースの重要なシーケンスが失われる可能性があります。
-
カンマ (",")
-
疑問符 ("?")
使用しない方がよい文字
すべてのアプリケーションで一貫性を維持するには相当な量の特殊な処理が必要になるため、キー名には以下の文字を使用しないでください。
-
バックスラッシュ ("\")
-
左中括弧 ("{")
-
表示不可能な ASCII 文字 (10 進数の 128 ~ 255 の文字)
-
カレット ("^")
-
右中括弧 ("}")
-
パーセント記号 ("%")
-
アクサングラーブ/バックティック ("`")
-
右角括弧 ("]")
-
引用符
-
大なり記号 (">")
-
左角括弧 ("[")
-
チルダ ("~")
-
小なり記号 ("<")
-
シャープ記号 ("#")
-
縦棒/パイプ ("|")
XML 関連のオブジェクトキーの制約
行末処理に関する XML 標準
-
' (
'
) -
” (
"
) -
& (
&
) -
< (
<
) -
> (
>
) -
\r (
または
) -
\n (
または

)
次の例では、キャリッジリターンの代わりに XML エンティティコードを使用する方法を示しています。この DeleteObjects
リクエストにより、key
パラメータ: /some/prefix/objectwith\rcarriagereturn
(\r はキャリッジリターン) を持つオブジェクトが削除されます。
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Object> <Key>/some/prefix/objectwith carriagereturn</Key> </Object> </Delete>