

# キーバリューストアの作成
<a name="kvs-with-functions-create"></a>



キーバリューストアおよびキーと値のペアを同時に作成できます。最初に空のキーバリューストアを作成し、後でキーと値のペアを追加することもできます。

**注記**  
Amazon S3 バケット内のデータソースを指定する場合は、そのバケットに対する `s3:GetObject` と `s3:GetBucketLocation` のアクセス許可が必要です。これらのアクセス許可がない場合、CloudFront はキーバリューストアを正常に作成できません。

キーバリューストアを作成すると同時にキーと値のペアを追加するかどうかを決定します。key-value ペアは、CloudFront コンソール、CloudFront API、AWS SDK を使用してインポートできます。ただし、key-value ペアのファイルをインポートできるのは、最初にキーバリューストアを作成する際にのみです。**

key-value ペアのファイルを作成するには、「[キーと値のペアのファイル形式](kvs-with-functions-create-s3-kvp.md)」を参照してください。

------
#### [ Console ]

**キーバリューストアを作成するには**

1. AWS マネジメントコンソールにサインインし、[https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions) で CloudFront コンソールの **[関数]** ページを開きます。

1. **[KeyValueStores]** タブを選択し、**[KeyValueStore を作成]** を選択します。

1. キーバリューストアの名前とオプションで説明を入力します。

1. **[S3 URI]** を入力します。
   + キーと値のペアのファイルを持っている場合は、ファイルを保存した Amazon S3 バケットへのパスを入力します。
   + キーと値のペアを手動で入力する場合は、このフィールドを空白のままにします。

1. **[作成]** を選択します。これで、キーバリューストアが作成されました。

   新しいキーバリューストアの詳細ページが表示されます。ページの情報には、キーバリューストアの ID と ARN が含まれます。
   + ID は、AWS アカウント内で固有のランダムな文字列です。
   + ARN の構文は次のとおりです。

     *AWS アカウント*`:key-value-store/`*キーバリューストア ID*

1. **[キーと値のペア]** セクションを見てください。ファイルをインポートした場合、このセクションには、いくつかのキーと値のペアが表示されます。以下の操作を行うことができます。
   + ファイルをインポートした場合は、他の値を手動で追加することもできます。
   + Amazon S3 バケットからファイルをインポートしていない場合、ここでキーと値のペアを追加するには、次のステップを実行できます。
   + このステップをスキップして、後でキーと値のペアを追加できます。

1. ここでペアを追加するには:

   1. **[キーと値のペアを追加]** を選択します。

   1. **[ペアの追加]** ボタンを選択して名前と値を入力します。さらにペアを追加するには、このステップを繰り返します。

   1. 完了したら、**[変更を保存]** を選択してキーバリューストアにすべてのキーと値のペアを保存します。表示されたダイアログボックスで **[完了]** を選択します。

1. 今すぐキーバリューストアを関数に関連付ける場合は、**[関連付けられている関数]** セクションに入力します。詳細については「[関数を作成する](create-function.md)」または「[関数を更新する](update-function.md)」を参照してください。

   関数の関連付けは、後で、このキーバリューストアの詳細ページまたは関数の詳細ページから行うこともできます。

------
#### [ AWS CLI ]

**キーバリューストアを作成するには**
+ 次のコマンドを実行して、キーバリューストアを作成し、Amazon S3 バケットから key-value ペアをインポートします。

  ```
  aws cloudfront create-key-value-store \
      --name=keyvaluestore1 \
      --comment="This is my key value store file" \
      --import-source=SourceType=S3,SourceARN=arn:aws:s3:::amzn-s3-demo-bucket1/kvs-input.json
  ```

  **応答**

  ```
  {
      "ETag": "ETVABCEXAMPLE",
      "Location": "https://cloudfront.amazonaws.com/2020-05-31/key-value-store/arn:aws:cloudfront::123456789012:key-value-store/8aa76c93-3198-462c-aaf6-example",
      "KeyValueStore": {
          "Name": "keyvaluestore1",
          "Id": "8aa76c93-3198-462c-aaf6-example",
          "Comment": "This is my key value store file",
          "ARN": "arn:aws:cloudfront::123456789012:key-value-store/8aa76c93-3198-462c-aaf6-example",
          "Status": "PROVISIONING",
          "LastModifiedTime": "2024-08-06T22:19:10.813000+00:00"
      }
  }
  ```

------
#### [ API ]

**キーバリューストアを作成するには**

1. [CloudFront CreateKeyValueStore](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateKeyValueStore.html) オペレーションを使用します。このオペレーションには複数のパラメータが必要です。
   + キーバリューストアの `name`
   + コメントを含む `comment` パラメータ。
   + Amazon S3 バケットに保存したファイルからキーと値のペアをインポートするための `import-source` パラメータ。ファイルからインポートできるのは、最初にキーバリューストアを作成する際のみです。ファイルの構造については、「[キーと値のペアのファイル形式](kvs-with-functions-create-s3-kvp.md)」を参照してください。

オペレーションレスポンスには、以下の情報が含まれます。
+ リクエストで渡された値 (割り当てた名前を含む)。
+ 作成時間などのデータ。
+ `ETag` (`ETVABCEXAMPLE` など)、キーバリューストア名を含む ARN (`arn:aws:cloudfront::123456789012:key-value-store/keyvaluestore1` など) 

  キーバリューストアをプログラムで操作するには、`ETag`、ARN、名前の組み合わせを使用します。

------

## キーバリューストアのステータス
<a name="key-value-store-status"></a>

キーバリューストアを作成する場合、データストアのステータス値は次のようになります。


****  

| 値 | 説明 | 
| --- | --- | 
|  **プロビジョニング**  |  キーバリューストアが作成済みであり、指定したデータソースを CloudFront が処理中です。  | 
|  **Ready**  |  キーバリューストアが作成済みであり、指定したデータソースを CloudFront が正常に処理しました。  | 
|  **インポート失敗**  |  CloudFront は、指定したデータソースを処理できませんでした。このステータスは、ファイルの形式が有効でないか、ファイルのサイズが制限を超えている場合に表示されることがあります。詳細については、「[キーと値のペアのファイル形式](kvs-with-functions-create-s3-kvp.md)」を参照してください。  | 