

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Lightsail オブジェクトストレージバケットのキー名
<a name="understanding-bucket-object-key-names-in-amazon-lightsail"></a>

バケットにアップロードしたファイルは、オブジェクトとして Amazon Lightsail オブジェクトストレージサービスに保存されます。オブジェクトキー (またはキー名) によって、バケット内に保存されたオブジェクトは一意に識別されます。このガイドでは、Lightsail コンソールを通して表示される、バケットのフォルダ構造を構成するキー名とキー名のプレフィックスの概念を説明します。バケットについての詳細は、「[オブジェクトストレージ](buckets-in-amazon-lightsail.md)」を参照してください。

## キー名
<a name="bucket-object-key-names"></a>

Lightsail オブジェクトストレージサービスのデータモデルは、ファイルシステムに表示される階層構造ではなく、フラットな構造を使用します。フォルダとサブフォルダの階層はありません。ただし、 キー名のプレフィックスや区切り記号を使用して論理的な階層を暗示できます。Lightsail コンソールはキー名のプレフィックスを使用して、フォルダー構造のオブジェクトを表示します。

バケットに、次のようなオブジェクトキーを持つ 4 つのオブジェクトがあるとします。
+ `Development/Projects.xls`
+ `Finance/statement1.pdf`
+ `Private/taxdocument.pdf`
+ `to-dos.doc`

Lightsail コンソールでは、キー名のプレフィックス (`Development/`、`Finance/`、`Private/`) および区切り記号 (`/`) を使用して、フォルダ構造を表します。`to-dos.doc` キーにはプレフィックスがないため、そのオブジェクトはバケットのルートレベルに直接表示されます。Lightsail コンソールの `Development/` フォルダをブラウズすると、`Projects.xls` オブジェクトが表示されます。`Finance/` フォルダに `statement1.pdf` オブジェクト、および `Private/` フォルダに `taxdocument.pdf` オブジェクトが表示されます。

Lightsail コンソールは、キー名のプレフィックスと区切り記号の値をキー名としてゼロバイトのオブジェクトを作成することにより、フォルダーオブジェクトの作成を許可します これらのフォルダオブジェクトはコンソールに表示されません。ただし、他のオブジェクトと同様に動作します。Amazon S3 API、 AWS Command Line Interface (AWS CLI)、または AWS SDKs を使用して表示および操作できます。

## オブジェクトキーの命名のガイドライン
<a name="object-key-naming-guidelines"></a>

オブジェクトキー名には UTF−8 文字を使用できます。ただし、キー名に特定の文字を使用すると、一部のアプリケーションやプロトコルで問題が発生することがあります。以下のガイドラインは、DNS、ウェブセーフ文字、XML パーサー、その他の API とのコンプライアンスを最大化するのに役立ちます。

### セーフ文字
<a name="w2aac59c37b7b5"></a>

以下の文字セットは、一般的にキー名で使用しても安全です。
+ アルファベットの文字
  + 0-9
  + a～z
  + A～Z
+ 特殊文字
  + スラッシュ (`/`)
  + 感嘆符 (`!`)
  + ハイフン (`-`)
  + 下線 (`_`)
  + ピリオド (`.`)
  + アスタリスク (`*`)
  + 一重引用符 (`'`)
  + 丸かっこ開き (`(`)
  + 丸かっこ閉じ (`)`)

有効なオブジェクトキー名の例を次に示します。
+ `4my-organization`
+ `my.great_photos-2014/jan/myvacation.jpg`
+ `videos/2014/birthday/video1.wmv`

**重要**  
オブジェクトキー名が単一のピリオド (.)、2 つのピリオド (..) で終了する場合は、Lightsail コンソールを使用してオブジェクトをダウンロードすることはできません。キー名が 1 つまたは 2 つのピリオドで終わるオブジェクトをダウンロードするには、Amazon S3 API、 AWS CLI、および AWS SDKsを使用する必要があります。詳細については、「[バケットオブジェクトをダウンロードする](amazon-lightsail-downloading-bucket-objects.md)」を参照してください。

### 特殊な処理を必要とする可能性がある文字
<a name="asdf"></a>

キー名で以下の文字を使用すると、追加のコード処理が必要になる場合があり、16 進数として URL エンコードまたは参照することが必要になる可能性があります。これらの文字の一部は表示不可能な文字であり、ブラウザで処理されない場合があります。この場合も、特殊な処理が必要です。
+ アンパサンド ("`&`")
+ ドル記号 ("`$`")
+ 16 進数の 00～1F (10 進数の 0～31) の範囲および 7F (10 進数の 127) の ASCII 文字
+ アットマーク ("`@`")
+ 等号 ("`=`")
+ セミコロン ("`;`")
+ コロン ("`:`")
+ プラス記号 ("`+`")
+ スペース – いくつかの用途 (特に複数のスペース) では、スペースの重要なシーケンスが失われる可能性があります。
+ カンマ ("`,`")
+ 疑問符 ("`?`")

### 使用しない方がよい文字
<a name="key-name-characters-to-avoid"></a>

すべてのアプリケーションで一貫性を維持するには相当な量の特殊な処理が必要になるため、キー名には以下の文字を使用しないでください。
+ バックスラッシュ ("`\`")
+ 左中括弧 ("`{`")
+ 表示不可能な ASCII 文字 (10 進数の 128 ～ 255 の文字)
+ カレット ("`^`")
+ 右中括弧 ("`}`")
+ パーセント記号 ("`%`")
+ アクサングラーブ/バックティック ("```")
+ 右角括弧 ("`]`")
+ 引用符
+ 大なり記号 ("`>`")
+ 左角括弧 ("`[`")
+ チルダ ("`~`")
+ 小なり記号 ("`<`")
+ シャープ記号 ("`#`")
+ 縦棒/パイプ ("`|`")

## XML 関連のオブジェクトキーの制約
<a name="xml-object-key-constraints"></a>

[行末処理に関する XML 標準](https://www.w3.org/TR/REC-xml/#sec-line-ends)で規定されているとおり、すべての XML テキストは正規化され、1 つのキャリッジリターン (ASCII コード 13) と改行の直後のキャリッジリターン (ASCII コード 10) が単一の改行文字に置き換えられます。XML リクエストでオブジェクトキーを正しく解析するには、キャリッジリターンや[その他の特殊文字を XML タグ内に挿入するときに、同等の XML エンティティコードに置き換える必要があります](https://www.w3.org/TR/xml/#syntax)。以下では、当該特殊文字とそれに相当するエンティティコードのリストを示しています。
+ `&apos;` としての `'`
+ `&quot;` としての `”`
+ `&amp;` としての `&`
+ `&lt;` としての `<`
+ `&gt;` としての `<`
+ `&#13;` または `&#x0D;` としての `\r`
+ `&#10;` または `&#x0A;` としての `\n`

次の例では、キャリッジリターンの代わりに XML エンティティコードを使用する方法を示しています。この `DeleteObjects` リクエストにより、 キーパラメータ `/some/prefix/objectwith\rcarriagereturn` (\$1r はキャリッジリターン) を持つオブジェクトが削除されます。

```
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
      <Object>
        <Key>/some/prefix/objectwith&#13;carriagereturn</Key>
      </Object>
    </Delete>
```