

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de magasins de clés-valeurs
<a name="kvs-with-functions-kvs"></a>

Vous devez créer un magasin clé-valeur pour contenir les paires clé-valeur que vous souhaitez utiliser dans CloudFront Functions. 

Après avoir créé les magasins de valeurs clés et les paires clé-valeur ajoutées, vous pouvez utiliser les valeurs clés dans votre code de CloudFront fonction. 

Pour commencer, consultez les rubriques suivantes : 

**Topics**
+ [Création d’un magasin de clés-valeurs](kvs-with-functions-create.md)
+ [Association d’un magasin de clés-valeurs à une fonction](kvs-with-functions-associate.md)
+ [Mise à jour d’un magasin de clés-valeurs](kvs-with-functions-edit.md)
+ [Obtention d’une référence à un magasin de clés-valeurs](kvs-with-functions-get-reference.md)
+ [Suppression d’un magasin de clés-valeurs](kvs-with-functions-delete.md)
+ [Format de fichier pour les paires clé-valeur](kvs-with-functions-create-s3-kvp.md)

**Note**  
Le JavaScript runtime 2.0 inclut des méthodes d'assistance pour travailler avec des valeurs clés dans le code de fonction. Pour de plus amples informations, veuillez consulter [Méthodes d’aide pour les magasins de clés-valeurs](functions-custom-methods.md).

# Création d’un magasin de clés-valeurs
<a name="kvs-with-functions-create"></a>



Vous pouvez créer un magasin de clés-valeurs et ses paires clé-valeur en même temps. Vous pouvez également créer un magasin de clés-valeurs vide, puis ajouter des paires clé-valeur ultérieurement. 

**Note**  
Si vous spécifiez votre source de données à partir d’un compartiment Amazon S3, vous devez disposer des autorisations `s3:GetObject` et `s3:GetBucketLocation` pour ce compartiment. Si vous ne disposez pas de ces autorisations, vous ne CloudFront pourrez pas créer correctement votre magasin de valeurs clés.

Décidez si vous souhaitez ajouter des paires clé-valeur en même temps que vous créez le magasin de clés-valeurs. Vous pouvez importer vos paires clé-valeur à l'aide de la CloudFront console, de l' CloudFrontAPI ou. AWS SDKs Toutefois, vous ne pouvez importer votre fichier de paires clé-valeur que lorsque vous créez *initialement* le magasin de clés-valeurs. 

Pour créer un fichier de paires clé-valeur, consultez [Format de fichier pour les paires clé-valeur](kvs-with-functions-create-s3-kvp.md). 

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

**Pour créer un magasin de clés-valeurs**

1. Connectez-vous à la page **Fonctions AWS Management Console et ouvrez-la** dans la CloudFront console à l'adresse[https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions).

1. Choisissez l'**KeyValueStores**onglet, puis sélectionnez **Créer KeyValueStore**.

1. Entrez un nom et une description facultative pour le magasin de clés-valeurs. 

1. Complétez **URI S3** : 
   + Si vous disposez d’un fichier de paires clé-valeur, entrez le chemin d’accès au compartiment Amazon S3 où vous avez stocké le fichier. 
   + Laissez ce champ vide si vous prévoyez d’entrer manuellement les paires clé-valeur. 

1. Choisissez **Créer**. Le magasin de clés-valeurs existe désormais.

   La page de détails du nouveau magasin de clés-valeurs apparaît. Les informations figurant sur cette page incluent l’ID et l’ARN du magasin de clés-valeurs. 
   + L'identifiant est une chaîne de caractères aléatoire unique dans votre Compte AWS. 
   + La syntaxe de l’ARN est la suivante :

     *Compte AWS*`:key-value-store/`*the key value stores ID*

1. Examinez la section **Paires clé-valeur**. Si vous avez importé un fichier, cette section présente quelques paires clé-valeur. Vous pouvez effectuer les opérations suivantes :
   + Si vous avez importé un fichier, vous pouvez également ajouter d’autres valeurs manuellement. 
   + Si vous n’avez pas importé de fichier d’un compartiment Amazon S3 et si vous souhaitez ajouter des paires clé-valeur dès maintenant, vous pouvez passer à l’étape suivante.
   + Vous pouvez ignorer cette étape et ajouter les paires clé-valeur ultérieurement. 

1. Pour ajouter les paires dès maintenant :

   1. Choisissez **Ajouter des paires clé-valeur**. 

   1. Choisissez **Ajouter une paire** et entrez un nom et une valeur. Répétez cette étape pour ajouter d’autres paires.

   1. Lorsque vous avez terminé, choisissez **Enregistrer les modifications** pour enregistrer toutes les paires clé-valeur dans le magasin de clés-valeurs. Dans la boîte de dialogue qui s’affiche, cliquez sur **Terminé**.

1. Pour associer le magasin de clés-valeurs à une fonction dès maintenant, complétez la section **Fonctions associées**. Pour plus d’informations, consultez [Création de fonctions](create-function.md) ou [Mise à jour de fonctions](update-function.md). 

   Vous pouvez également associer la fonction ultérieurement, soit depuis la page de détails de ce magasin de clés-valeurs, soit depuis la page de détails de la fonction.

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

**Pour créer un magasin de clés-valeurs**
+ Exécutez la commande suivante pour créer un magasin de clés-valeurs et importer les paires clé-valeur depuis un compartiment Amazon S3.

  ```
  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
  ```

  **Réponse**

  ```
  {
      "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 ]

**Pour créer un magasin de clés-valeurs**

1. Utilisez l'[CloudFrontCreateKeyValueStore](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateKeyValueStore.html)opération. L’opération prend plusieurs paramètres :
   + Un `name` du magasin de clés-valeurs.
   + Un paramètre `comment` qui inclut un commentaire.
   + Un paramètre `import-source` qui vous permet d’importer des paires clé-valeur à partir d’un fichier stocké dans un compartiment Amazon S3. Vous ne pouvez importer à partir d’un fichier qu’au moment de la création initiale du magasin de clés-valeurs. Pour plus d’informations sur la structure, consultez [Format de fichier pour les paires clé-valeur](kvs-with-functions-create-s3-kvp.md).

La réponse de l’opération inclut les informations suivantes :
+ Les valeurs transmises dans la demande, y compris le nom que vous avez attribué.
+ Des données telles que l’heure de création.
+ Un `ETag` (par exemple, `ETVABCEXAMPLE`), l’ARN qui inclut le nom du magasin de clés-valeurs (par exemple, `arn:aws:cloudfront::123456789012:key-value-store/keyvaluestore1`). 

  Vous utiliserez une combinaison de l’`ETag`, de l’ARN et du nom pour travailler avec le magasin de clés-valeurs par programmation.

------

## États des magasins de clés-valeurs
<a name="key-value-store-status"></a>

Lorsque vous créez un magasin de clés-valeurs, le magasin de données peut présenter les valeurs d’état suivantes.


****  

| Value | Description | 
| --- | --- | 
|  **Approvisionnement**  |  Le magasin de valeurs clés a été créé et CloudFront traite la source de données que vous avez spécifiée.  | 
|  **Prêt**  |  Le magasin de valeurs clés a été créé et a traité CloudFront avec succès la source de données que vous avez spécifiée.  | 
|  **Échec de l’importation**  |  CloudFront n'a pas pu traiter la source de données que vous avez spécifiée. Cet état peut apparaître si le format de votre fichier n’est pas valide ou s’il dépasse la limite de taille. Pour de plus amples informations, veuillez consulter [Format de fichier pour les paires clé-valeur](kvs-with-functions-create-s3-kvp.md).  | 

# Association d’un magasin de clés-valeurs à une fonction
<a name="kvs-with-functions-associate"></a>

Après avoir créé votre magasin de clés-valeurs, vous pouvez mettre à jour votre fonction pour l’associer à votre magasin de clés-valeurs. Vous devez établir cette association pour pouvoir utiliser les paires clé-valeur de ce magasin dans cette fonction. Les règles suivantes s’appliquent :
+ Une fonction peut avoir un seul magasin de clés-valeurs
+ Vous pouvez associer le même magasin de clés-valeurs à plusieurs fonctions

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

**Pour associer un magasin de clés-valeurs à une fonction**

1. Connectez-vous à la CloudFront console à l'adresse [https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions) et sélectionnez la page **Fonctions**.

1. Choisissez le nom de la fonction.

1. Accédez à la KeyValueStore section **Associer** et choisissez **Associer existant KeyValueStore**.

1. **Sélectionnez le magasin clé-valeur qui contient les paires clé-valeur de la fonction, puis choisissez Associer. KeyValueStore**

   CloudFront associe immédiatement le magasin à la fonction. Vous n’avez pas besoin d’enregistrer la fonction.

1. Pour spécifier un autre magasin de valeurs clés, choisissez **Mettre à jour associé KeyValueStore**, sélectionnez un autre nom de magasin de valeurs clés, puis choisissez **Associer KeyValueStore**.

Pour de plus amples informations, veuillez consulter [Mise à jour de fonctions](update-function.md).

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

**Pour associer un magasin de clés-valeurs à une fonction**
+ Exécutez la commande suivante pour mettre à jour la fonction `MaxAge` et associer une ressource de magasin de clés-valeurs.

  ```
  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
  ```
+ Pour associer un magasin de clés-valeurs à une fonction, spécifiez le paramètre `KeyValueStoreAssociations` et l’ARN du magasin de clés-valeurs. 
+ Pour modifier l’association, spécifiez un autre ARN de magasin de clés-valeurs. 
+ Pour supprimer l’association, supprimez le paramètre `KeyValueStoreAssociations`. 

Pour de plus amples informations, veuillez consulter [Mise à jour de fonctions](update-function.md).

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

**Pour associer un magasin de clés-valeurs à une fonction**
+ Utilisez l’opération d’API [UpdateFunction](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateFunction.html). Pour de plus amples informations, veuillez consulter [Mise à jour de fonctions](update-function.md).

------

**Remarques**  
Si vous modifiez un magasin de clés-valeurs sans modifier les paires clé-valeur, ou si vous ne modifiez que les paires clé-valeur dans le magasin, vous n’avez pas besoin d’associer de nouveau le magasin de clés-valeurs. Vous n’avez pas non plus besoin de republier la fonction.  
Toutefois, nous vous recommandons de tester la fonction afin de vérifier qu’elle fonctionne comme prévu. Pour de plus amples informations, veuillez consulter [Fonctions de test](test-function.md).
Vous pouvez afficher toutes les fonctions qui utilisent des magasins de clés-valeurs spécifiques. Sur la CloudFront console, choisissez la page de détails du magasin de valeurs clés. 

# Mise à jour d’un magasin de clés-valeurs
<a name="kvs-with-functions-edit"></a>

Lorsque vous mettez à jour un magasin de clés-valeurs, vous pouvez modifier les paires clé-valeur ou modifier l’association entre le magasin de clés-valeurs et la fonction.

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

**Pour mettre à jour un magasin de clés-valeurs**

1. Connectez-vous à la page **Fonctions AWS Management Console et ouvrez-la** dans la CloudFront console à l'adresse[https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions).

1. Cliquez sur l'onglet **KeyValueStores**.

1.  Sélectionnez le magasin de clés-valeurs que vous souhaitez mettre à jour. 
   + Pour mettre à jour les paires clé-valeur, choisissez **Modifier** dans la section **Paires clé-valeur**. Vous pouvez ajouter ou supprimer n’importe quelle paire clé-valeur. Vous pouvez également modifier la valeur d’une paire clé-valeur existante. Lorsque vous avez terminé, sélectionnez **Enregistrer les modifications**.
   + Pour mettre à jour l’association pour ce magasin de clés-valeurs, choisissez **Accéder aux fonctions**. Pour de plus amples informations, veuillez consulter [Association d’un magasin de clés-valeurs à une fonction](kvs-with-functions-associate.md).

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

**Pour mettre à jour un magasin de clés-valeurs**

1. **Modifier les paires clé-valeur** : vous pouvez ajouter d’autres paires clé-valeur, supprimer une ou plusieurs paires clé-valeur et modifier la valeur d’une paire clé-valeur existante. Pour de plus amples informations, veuillez consulter [Utilisation de données clé-valeur](kvs-with-functions-kvp.md).

1. **Modifier l’association de la fonction pour le magasin de clés-valeurs** : pour mettre à jour l’association de la fonction pour le magasin de clés-valeurs, consultez [Association d’un magasin de clés-valeurs à une fonction](kvs-with-functions-associate.md). 
**Astuce**  
Vous aurez besoin de l’ARN du magasin de clés-valeurs. Pour de plus amples informations, veuillez consulter [Obtention d’une référence à un magasin de clés-valeurs](kvs-with-functions-get-reference.md).

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

**Pour mettre à jour un magasin de clés-valeurs**

1. **Modifier les paires clé-valeur** : vous pouvez ajouter d’autres paires clé-valeur, supprimer une ou plusieurs paires clé-valeur et modifier la valeur d’une paire clé-valeur existante. Pour de plus amples informations, veuillez consulter [Utilisation de données clé-valeur](kvs-with-functions-kvp.md).

1. **Modifier l'association de fonction pour le magasin de valeurs clés** : pour mettre à jour l'association de fonctions pour le magasin de valeurs clés, utilisez l'opération [UpdateFunction](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateFunction.html)API. Pour de plus amples informations, veuillez consulter [Mise à jour de fonctions](update-function.md). 
**Astuce**  
Vous aurez besoin de l’ARN du magasin de clés-valeurs. Pour de plus amples informations, veuillez consulter [Obtention d’une référence à un magasin de clés-valeurs](kvs-with-functions-get-reference.md).

------

# Obtention d’une référence à un magasin de clés-valeurs
<a name="kvs-with-functions-get-reference"></a>

Pour utiliser le magasin de clés-valeurs par programmation, vous avez besoin de l’`ETag` et du nom du magasin de clés-valeurs. 

Pour obtenir les deux valeurs, vous pouvez utiliser le AWS Command Line Interface (AWS CLI) ou l' CloudFront API.

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

**Pour obtenir la référence à un magasin de clés-valeurs**

1. Pour renvoyer une liste des magasins de clés-valeurs, exécutez la commande suivante. Recherchez ensuite le nom du magasin de clés-valeurs que vous souhaitez modifier.

   ```
   aws cloudfront list-key-value-stores
   ```

1. Dans la réponse, recherchez le nom du magasin de clés-valeurs souhaité.

   **Réponse**

   ```
   {
       "KeyValueStoreList": {
           "Items": [
               {
                   "Name": "keyvaluestore3",
                   "Id": "37435e19-c205-4271-9e5c-example3",
                   "ARN": "arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example3",
                   "Status": "READY",
                   "LastModifiedTime": "2024-05-08T14:50:18.876000+00:00"
               },
               {
                   "Name": "keyvaluestore2",
                   "Id": "47970d59-6408-474d-b850-example2",
                   "ARN": "arn:aws:cloudfront::123456789012:key-value-store/47970d59-6408-474d-b850-example2",
                   "Status": "READY",
                   "LastModifiedTime": "2024-05-30T21:06:22.113000+00:00"
               },
               {
                   "Name": "keyvaluestore1",
                   "Id": "8aa76c93-3198-462c-aaf6-example",
                   "ARN": "arn:aws:cloudfront::123456789012:key-value-store/8aa76c93-3198-462c-aaf6-example",
                   "Status": "READY",
                   "LastModifiedTime": "2024-08-06T22:19:30.510000+00:00"
               }
           ]
       }
   }
   ```

1. Exécutez la commande suivante pour renvoyer l’`ETag` du magasin de clés-valeurs spécifié.

   ```
   aws cloudfront describe-key-value-store \
       --name=keyvaluestore1
   ```

   **Réponse**

   ```
   {
       "ETag": "E3UN6WX5RRO2AG",
       "KeyValueStore": {
           "Name": "keyvaluestore1",
           "Id": "8aa76c93-3198-462c-aaf6-example",
           "Comment": "This is an example KVS",
           "ARN": "arn:aws:cloudfront::123456789012:key-value-store/8aa76c93-3198-462c-aaf6-example",
           "Status": "READY",
           "LastModifiedTime": "2024-08-06T22:19:30.510000+00:00"
       }
   }
   ```

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

**Pour obtenir la référence à un magasin de clés-valeurs**

1. Utilisez l’opération d’API [https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListKeyValueStores.html](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListKeyValueStores.html) pour renvoyer une liste de magasins de clés-valeurs. Recherchez le nom du magasin de clés-valeurs que vous souhaitez modifier. 

1. Utilisez l’opération d’API [https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DescribeKeyValueStore.html](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DescribeKeyValueStore.html) et indiquez le nom du magasin de clés-valeurs que vous avez renvoyé à l’étape précédente. 

------

La réponse inclut un UUID, l’ARN du magasin de clés-valeurs et l’`ETag` du magasin de clés-valeurs.
+ Un `ETag`, par exemple `E3UN6WX5RRO2AG`
+ L’UUID est de 128 bits, tel que `8aa76c93-3198-462c-aaf6-example`
+ L'ARN inclut le Compte AWS nombre, la constante `key-value-store` et l'UUID, comme dans l'exemple suivant :

  `arn:aws:cloudfront::123456789012:key-value-store/8aa76c93-3198-462c-aaf6-example`

Pour plus d’informations sur l’opération `DescribeKeyValueStore`, consultez [À propos de CloudFront KeyValueStore](kvs-with-functions-kvp.md#kvs-with-functions-api-describe).

# Suppression d’un magasin de clés-valeurs
<a name="kvs-with-functions-delete"></a>

Vous pouvez supprimer votre boutique de valeurs clés à l'aide de la CloudFront console ou de l'API Amazon.

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

**Pour supprimer un magasin de clés-valeurs**

1. Connectez-vous à la page **Fonctions AWS Management Console et ouvrez-la** dans la CloudFront console à l'adresse[https://console.aws.amazon.com/cloudfront/v4/home#/functions](https://console.aws.amazon.com/cloudfront/v4/home#/functions).

1. Choisissez le nom de la fonction.

1. Dans la KeyValueStore section **Associé**, vérifiez si un magasin de valeurs clés est associé à la fonction. Si tel est le cas, supprimez l'association en choisissant **Dissocier**, KeyValueStore puis en choisissant **Supprimer l'association**.

1. Dans le volet de navigation, choisissez la page **Fonctions**, puis sélectionnez l'**KeyValueStores**onglet. 

1. Sélectionnez le magasin de clés-valeurs que vous souhaitez supprimer, puis choisissez **Supprimer**.

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

**Pour supprimer un magasin de clés-valeurs**

1. Obtenez l’`ETag` et le nom du magasin de clés-valeurs. Pour de plus amples informations, veuillez consulter [Obtention d’une référence à un magasin de clés-valeurs](kvs-with-functions-get-reference.md).

1. Vérifiez si le magasin de clés-valeurs est associé à une fonction. S’il l’est, supprimez l’association. Pour plus d’informations sur ces étapes, consultez [Mise à jour de fonctions](update-function.md).

1. Une fois que vous disposez du nom et de l’`ETag` du magasin clé-valeur et qu’il n’est plus associé à une fonction, vous pouvez le supprimer.

   Exécutez la commande suivante pour supprimer le magasin de clés-valeurs spécifié.

   ```
   aws cloudfront delete-key-value-store \
       --name=keyvaluestore1 \
       --if-match=E3UN6WX5RRO2AG
   ```

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

**Pour supprimer un magasin de clés-valeurs**

1. Obtenez l’`ETag` et le nom du magasin de clés-valeurs. Pour de plus amples informations, veuillez consulter [Obtention d’une référence à un magasin de clés-valeurs](kvs-with-functions-get-reference.md).

1. Vérifiez si le magasin de clés-valeurs est associé à une fonction. S’il l’est, supprimez l’association. Pour plus d’informations sur ces étapes, consultez [Mise à jour de fonctions](update-function.md).

1. Pour supprimer le magasin de valeurs clés, utilisez l'opération CloudFront [https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DeleteKeyValueStore.html](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DeleteKeyValueStore.html)API.

------

# Format de fichier pour les paires clé-valeur
<a name="kvs-with-functions-create-s3-kvp"></a>

Lorsque vous créez un fichier codé en UTF-8, utilisez le format JSON suivant :

```
{
  "data":[
    {
      "key":"key1",
      "value":"value"
    },
    {
      "key":"key2",
      "value":"value"
    }
  ]
}
```

Votre fichier ne peut pas inclure de clés en double. Si vous avez indiqué un fichier invalide dans votre compartiment Amazon S3, vous pouvez mettre le fichier à jour pour supprimer les doublons, puis réessayer de créer votre magasin de clés-valeurs.

Pour de plus amples informations, veuillez consulter [Création d’un magasin de clés-valeurs](kvs-with-functions-create.md).

**Note**  
Le fichier de votre source de données et ses paires clé-valeur présentent les limites suivantes :  
Taille du fichier : 5 Mo
Taille de la clé : 512 caractères
Taille de la valeur : 1024 caractères