

# チュートリアル: キー値を含む関数を作成する
<a name="functions-tutorial-kvs"></a>

このチュートリアルでは、CloudFront Function にキー値を含める方法を説明します。キー値はキーと値のペアの一部です。関数コードには (キーと値のペアの) 名前を含めます。関数を実行すると、CloudFront は名前を値に置き換えます。

キーと値のペアはキー値ストアに保存される変数です。関数で (ハードコードされた値の代わりに) キーを使用すると、関数の柔軟性が高まります。キーの値は、コードの変更をデプロイしなくても変更できます。キーと値のペアによって関数のサイズを小さくすることもできます。詳細については、「[Amazon CloudFront KeyValueStore](kvs-with-functions.md)」を参照してください。

**Contents**
+ [前提条件](#functions-kvs-tutorial-prerequisites)
+ [キー値ストアを作成する](#functions-kvs-tutorial-kvs-step)
+ [キー値ストアにキーと値のペアを追加する](#add-key-value-pairs-to-store)
+ [キー値ストアを関数に関連付ける](#functions-kvs-tutorial-functions-step)
+ [関数コードをテストして発行する](#test-and-publish-function-code)

## 前提条件
<a name="functions-kvs-tutorial-prerequisites"></a>

CloudFront Functions の関数とキー値ストアを初めて使用する場合は、「[チュートリアル: CloudFront Functions でシンプルな関数を作成する](functions-tutorial.md)」のチュートリアルに従うことをお勧めします。

そのチュートリアルを完了したら、このチュートリアルに従って、作成した関数を拡張できます。このチュートリアルでは、最初にキー値ストアを作成することをお勧めします。

## キー値ストアを作成する
<a name="functions-kvs-tutorial-kvs-step"></a>

まず、関数で使用するキー値ストアを作成します。

**キー値ストアを作成するには**

1. 関数に含めるキーと値のペアを計画します。キーの名前を書き留めます。1 つの関数で使用するキーと値のペアは、すべてが 1 つのキー値ストア内に存在する必要があります。

1. 作業の順序を決めます。次の 2 通りの方法があります。
   + キー値ストアを作成してキーと値のペアを追加します。次に、関数を作成 (または変更) し、キー名を組み込みます。
   + または、関数を作成 (または変更) し、使用したいキー名を組み込みます。次にキー値ストアを作成し、キーと値のペアを追加します。

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

1. ナビゲーションペインで、**[関数]**、**[KeyValueStores]** タブの順に選択します。

1. **[KeyValueStore を作成]** を選択し、以下のフィールドに入力します。
   + ストアの名前と、オプションの説明を入力します。
   + **[S3 URI]** は空白のままにします。このチュートリアルでは、キーと値のペアを手動で入力します。

1. **[作成]** を選びます。新しいキーバリューストアの詳細ページが表示されます。このページには、現在空欄の **[キーと値のペア]** セクションがあります。

## キー値ストアにキーと値のペアを追加する
<a name="add-key-value-pairs-to-store"></a>

次に、先ほど作成したキー値ストアにキーと値のペアのリストを手動で追加します。

**キー値ストアにキーと値のペアを追加するには**

1. **[キーと値のペア]** セクションで、**[キーと値のペアを追加]** を選択します。

1. **[ペアを追加]** を選択し、キーと値を入力します。チェックマークをオンにして変更を確認します。さらに追加するには、このステップを繰り返します。

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

これで、キーと値のペアのグループがキー値ストアに含まれました。



## キー値ストアを関数に関連付ける
<a name="functions-kvs-tutorial-functions-step"></a>

これで、キー値ストアが作成されました。また、キー値ストアのキー名を含む関数を作成または変更しました。これでキー値ストアと関数を関連付けることができます。その関連付けは関数内から作成します。

**キー値ストアを関数に関連付けるには**

1. ナビゲーションペインで、**[関数]** を選択します。デフォルトでは、**[関数]** タブが一番上に表示されます。

1. 関数名を選択し、**[関連付けられている KeyValueStore]** セクションで、**[既存の KeyValueStore を関連付ける]** を選択します。

1. キー値ストアを選択し、**[KeyValueStore を関連付ける]** を選択します。

**注記**  
各関数に関連付けることができるキー値ストアは 1 つだけです。

## 関数コードをテストして発行する
<a name="test-and-publish-function-code"></a>

キー値ストアを関数に関連付けると、関数コードをテストして発行できます。以下を行う場合を含め、関数コードを変更するたびに必ずテストする必要があります。
+ キー値ストアを関数に関連付ける
+ 関数およびキー値ストアを変更して、新しいキーと値のペアを含めます。
+ キーと値のペアの値を変更する

**関数コードをテストして発行するには**

1. 関数をテストする方法については、「[関数をテストする](test-function.md)」を参照してください。`DEVELOPMENT` ステージで関数のテストを選択するようにしてください。

1. 関数を (新規または更新されたキーと値のペアと共に) `LIVE` 環境で使用する準備が整ったら、関数を発行します。

   発行すると、CloudFront は関数のバージョンを `DEVELOPMENT` ステージからライブステージにコピーします。関数には新しいコードが含まれ、キー値ストアに関連付けられます。(ライブステージで関連付けを再度実行する必要はありません)。

   関数を発行する方法については、「[関数を発行する](publish-function.md)」を参照してください。