

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：建立包含鍵值的 CloudFront 函數
<a name="functions-tutorial-kvs"></a>

本教學課程說明如何使用 CloudFront 函數納入鍵值。鍵值是鍵值對的一部分。您可以在函數程式碼中包含名稱 (來自鍵值對)。函數執行時，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. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

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**。

**注意**  
每個函數只能與一個鍵值存放區建立關聯。

## 測試並發佈函數程式碼
<a name="test-and-publish-function-code"></a>

將鍵值存放區與函數建立關聯後，您可以測試和發佈函數程式碼。每次修改函數程式碼時，應一律對其進行測試，包括執行以下操作時：
+ 將鍵值存放區與函數建立關聯。
+ 修改函數及其鍵值存放區，以包含新的鍵值對。
+ 變更鍵值對的值。

**測試並發佈函數程式碼**

1. 如需有關如何測試函數的詳細資訊，請參閱 [測試函數](test-function.md)。確定您選擇在 `DEVELOPMENT` 階段測試函數。

1. 您準備好在 `LIVE` 環境中使用函數 (搭配新的或修訂的鍵值對) 時，請發佈該函數。

   當您發佈時，CloudFront 會將函數的版本從 `DEVELOPMENT` 階段複製到即時階段。該函數具有新程式碼，並與鍵值存放區相關聯。(在即時階段無需再次執行關聯。)

   如需有關如何發佈函數的詳細資訊，請參閱 [發佈函數](publish-function.md)。