

# Tutorial: Criar uma função do CloudFront que inclua valores de chave
<a name="functions-tutorial-kvs"></a>

Este tutorial mostra como incluir chave-valor com a função do CloudFront. Os valores de chave fazem parte de um par de chave-valor. Você deve incluir o nome (do par de chave-valor) no código de função. Quando a função for executada, o CloudFront substituirá o nome pelo valor. 

Pares de chave-valor são variáveis contidas em um armazenamento de valores de chave. Ao usar uma chave na função (em vez de valores codificados), a função é mais flexível. É possível alterar o valor da chave sem precisar implantar alterações no código. Os pares de chave-valor também podem reduzir o tamanho da função. Para obter mais informações, consulte [Amazon CloudFront KeyValueStore](kvs-with-functions.md).

**Contents**
+ [Pré-requisitos](#functions-kvs-tutorial-prerequisites)
+ [Criar o armazenamento de valores de chave](#functions-kvs-tutorial-kvs-step)
+ [Adicionar pares de chave-valor ao armazenamento de valores de chave](#add-key-value-pairs-to-store)
+ [Associar o armazenamento de valores de chave à função](#functions-kvs-tutorial-functions-step)
+ [Testar e publicar o código de função](#test-and-publish-function-code)

## Pré-requisitos
<a name="functions-kvs-tutorial-prerequisites"></a>

Se você não conhece as funções do CloudFront Functions e o armazenamento de valores de chave, recomendamos seguir o tutorial em [Tutorial: Criar uma função simples com o CloudFront Functions](functions-tutorial.md).

Depois de concluir esse tutorial, você pode seguir este tutorial para estender a função que você criou. Para este tutorial, recomendamos criar primeiro o armazenamento de valores de chave. 

## Criar o armazenamento de valores de chave
<a name="functions-kvs-tutorial-kvs-step"></a>

Primeiro, crie o armazenamento de valores de chave para usar em sua função.

**Como criar o armazenamentos de valores de chave**

1. Planeje os pares de chave-valor que você deseja incluir na função. Anote os nomes das chaves. Os pares de chave-valor a serem usados em uma função devem estar em um único armazenamento de valores de chave. 

1. Decida-se sobre a ordem do trabalho. Há duas maneiras de proceder:
   + Crie um armazenamento de valores de chave e adicione pares de chave-valor ao armazenamento. Depois, crie (ou modifique) a função e incorpore os nomes das chaves.
   + Ou crie (ou modifique) a função e incorpore os nomes das chaves que deseja usar. Depois, crie um armazenamento de valores de chave e adicione pares de chave-valor.

1. Faça login no Console de gerenciamento da AWS e abra o console do CloudFront em [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. No painel de navegação, selecione **Funções** e, depois, escolha a guia **KeyValueStores**.

1. Selecione **Criar KeyValueStore** e preencha os seguintes campos:
   + Informe um nome e uma descrição (opcional) para o armazenamento. 
   + Deixe o **URI do S3** em branco. Neste tutorial, você inserirá os pares de chave–valor manualmente. 

1. Escolha **Criar**. A página de detalhes do novo armazenamento de chave-valor é exibida. Essa página inclui uma seção de **Pares de chave-valor** que está em branco no momento.

## Adicionar pares de chave-valor ao armazenamento de valores de chave
<a name="add-key-value-pairs-to-store"></a>

Depois, adicione manualmente uma lista de pares de chave-valor ao armazenamento de valores de chave que você criou anteriormente.

**Como adicionar pares de chave-valor ao armazenamento de valores de chave**

1. Na seção **Pares de chave-valor**, selecione **Adicionar pares de chave-valor**. 

1. Selecione **Adicionar par** e, depois, insira uma chave e um valor. Escolha a marca de seleção para confirmar suas alterações e repita essa etapa para adicionar mais.

1. Ao terminar, selecione **Salvar alterações** para salvar os pares de chave-valor no armazenamento de valores de chave. Na caixa de diálogo de confirmação, escolha **Concluído**.

Agora você tem um armazenamento de valores de chave que contém um grupo de pares de chave-valor. 



## Associar o armazenamento de valores de chave à função
<a name="functions-kvs-tutorial-functions-step"></a>

Agora você criou o armazenamento de chave-valor. E criou ou modificou uma função que inclui os nomes das chaves do armazenamento de chave-valor. Agora é possível associar o armazenamento de chave-valor e a função. Você vai criar essa associação de dentro da função. 

**Como associar o armazenamento de valores de chave à função**

1. Selecione **Funções** no painel de navegação. A guia **Funções** é exibida na parte superior, por padrão. 

1. Selecione o nome da função e na seção **KeyValueStore associado**, selecione **Associar KeyValueStore existente**.

1. Selecione o armazenamento de valores de chave e escolha **Associar KeyValueStore**. 

**nota**  
É possível associar somente um armazenamento de valores de chave a cada função.

## Testar e publicar o código de função
<a name="test-and-publish-function-code"></a>

Depois de associar o armazenamento de valores de chave à sua função, você pode testar e publicar o código da função. Sempre é necessário testar o código da função toda vez que o modificar, inclusive ao fazer o seguinte:
+ Associar o armazenamento de chave-valor à função.
+ Modifique a função e o armazenamento de valores de chave para incluir um novo par de chave-valor.
+ Alterar o valor de um par de chave-valor.

**Como testar e publicar o código da função**

1. Para obter informações sobre como testar uma função, consulte [Testar funções](test-function.md). Verificar se escolheu testar a função no estágio `DEVELOPMENT`.

1. Publique a função quando estiver tudo pronto para usá-la (com os pares de chave-valor novos ou revisados) em um ambiente `LIVE`. 

   Na publicação, o CloudFront copia a versão da função do estágio `DEVELOPMENT` para o estágio ativo. A função tem o novo código e está associada ao armazenamento de chave-valor. (Não há necessidade de realizar a associação novamente, no estágio ativo.)

   Para obter informações sobre como publicar a função, consulte [Publicar as funções](publish-function.md). 