

# 将键值存储与函数相关联
<a name="kvs-with-functions-associate"></a>

创建密钥值存储后，您可以更新您的函数以将其与键值存储关联。必须进行此关联，才能在该函数中使用该存储中的键值对。以下规则适用：
+ 一个函数只能有一个键值存储。
+ 您可以将同一键值存储与多个函数关联

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

**将键值存储与函数相关联**

1. 通过 [https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions) 登录到 CloudFront 控制台，然后选择**函数**页面。

1. 选择函数名称。

1. 转至**关联 KeyValueStore** 部分，选择**关联现有 KeyValueStore**。

1. 选择包含函数中键值对的键值存储，然后选择**关联 KeyValueStore**。

   CloudFront 会立即将存储与该函数关联。您无需保存此函数。

1. 要指定不同的键值存储，请选择**更新关联的 KeyValueStore**，选择另一个键值存储名称，然后选择**关联 KeyValueStore**。

有关更多信息，请参阅 [更新函数](update-function.md)。

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

**将键值存储与函数相关联**
+ 运行以下命令来更新 `MaxAge` 函数并关联键值存储资源。

  ```
  aws cloudfront update-function \
      --name MaxAge \
      --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::123456789012:key-value-store/8aa76c93-3198-462c-aaf6-example"}]}}' \
      --function-code fileb://function-max-age-v1.js \
      --if-match ETVABCEXAMPLE
  ```
+ 要将键值存储与函数相关联，请指定 `KeyValueStoreAssociations` 参数和键值存储 ARN。
+ 要更改关联，请指定其它键值存储 ARN。
+ 要取消关联，请移除 `KeyValueStoreAssociations` 参数。

有关更多信息，请参阅 [更新函数](update-function.md)。

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

**将键值存储与函数相关联**
+ 使用 [UpdateFunction](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateFunction.html) API 操作。有关更多信息，请参阅 [更新函数](update-function.md)。

------

**备注**  
如果修改键值存储而不更改键值对，或者只修改键值存储中的键值对，则无需再次关联键值存储。您也不需要重新发布该函数。  
不过，我们建议您对函数进行测试，验证它是否能正常工作。有关更多信息，请参阅 [测试函数](test-function.md)。
您可以查看使用特定键值存储的所有函数。在 CloudFront 控制台上，选择键值存储详细信息页面。