

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.

# Amazon CloudFront KeyValueStore
<a name="kvs-with-functions"></a>

CloudFront KeyValueStore est une banque de données de valeurs clés sécurisée, globale et à faible latence qui permet un accès en lecture depuis [CloudFront Functions](cloudfront-functions.md), permettant ainsi une logique personnalisable avancée aux emplacements CloudFront périphériques. 

Vous pouvez ainsi mettre à jour le code de fonction et les données associées à une fonction indépendamment les unes des autres. CloudFront KeyValueStore Cette séparation simplifie le code des fonctions et facilite la mise à jour des données sans qu’il soit nécessaire de déployer des modifications de code. 

**Note**  
Pour être utilisée CloudFront KeyValueStore, votre CloudFront fonction doit utiliser le [JavaScript runtime 2.0](functions-javascript-runtime-20.md).

La procédure générale d’utilisation des paires clé-valeur est la suivante : 
+ Créez un magasin de clés-valeurs et remplissez-le avec un ensemble de paires clé-valeur. Vous pouvez ajouter vos magasins de clés-valeurs à un compartiment Amazon S3 ou les saisir manuellement.
+ Associez les magasins de valeurs clés à votre CloudFront fonction.
+ Dans votre code de fonction, utilisez le nom de la clé pour extraire la valeur associée à la clé ou pour évaluer si une clé existe. Pour plus d’informations sur l’utilisation de paires clé-valeur dans le code de fonction, ainsi que sur les méthodes d’assistance, consultez [Méthodes d’aide pour les magasins de clés-valeurs](functions-custom-methods.md).

## Cas d’utilisation
<a name="key-value-store-use-cases"></a>

Vous pouvez utiliser des paires clé-valeur pour les exemples suivants :
+ **Réécritures ou redirections d'URL** : la paire clé-valeur peut contenir la réécriture ou la redirection URLs . URLs
+ **Tests A/B et indicateurs de fonctionnalités** : vous pouvez créer une fonction pour effectuer des tests en attribuant un pourcentage de trafic à une version spécifique de votre site web. 
+ **Autorisation d’accès** : vous pouvez implémenter un contrôle d’accès pour autoriser ou refuser les demandes en fonction de critères que vous avez définis et des données stockées dans un magasin de clés-valeurs.

## Formats de valeurs pris en charge
<a name="key-value-store-supported-formats"></a>

Vous pouvez stocker la valeur d’une paire clé-valeur dans l’un des formats suivants :
+ String
+ Chaîne codée en octets
+ JSON 

## Sécurité
<a name="key-value-store-security"></a>

La CloudFront fonction et toutes ses valeurs clés stockent les données sont traitées de manière sécurisée, comme suit :
+ CloudFront chiffre chaque valeur clé stockée au repos et pendant le transit (lors de la lecture ou de l'écriture dans les magasins de valeurs clés) lorsque vous appelez les opérations de l'[CloudFront KeyValueStore](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_Operations_Amazon_CloudFront_KeyValueStore.html)API.
+ Lorsque la fonction est exécutée, CloudFront déchiffre chaque paire clé-valeur en mémoire aux emplacements périphériques. CloudFront 

Pour commencer CloudFront KeyValueStore, consultez les rubriques suivantes. 

**Topics**
+ [Cas d’utilisation](#key-value-store-use-cases)
+ [Formats de valeurs pris en charge](#key-value-store-supported-formats)
+ [Sécurité](#key-value-store-security)
+ [Utilisation de magasins de clés-valeurs](kvs-with-functions-kvs.md)
+ [Utilisation de données clé-valeur](kvs-with-functions-kvp.md)
+ Pour plus d'informations sur la mise en route CloudFront KeyValueStore, consultez le billet de CloudFront KeyValueStore AWS blog « [Présentation d'Amazon](https://aws.amazon.com/blogs/aws/introducing-amazon-cloudfront-keyvaluestore-a-low-latency-datastore-for-cloudfront-functions/) ».

# 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

# Utilisation de données clé-valeur
<a name="kvs-with-functions-kvp"></a>

Cette rubrique décrit comment ajouter des paires clé-valeur à un magasin de clés-valeurs existant. Pour inclure des paires clé-valeur lorsque vous créez initialement le magasin de clés-valeurs, consultez [Création d’un magasin de clés-valeurs](kvs-with-functions-create.md).

**Topics**
+ [Utilisation de paires clé-valeur (console)](#kvs-with-functions-kvp-using-console)
+ [À propos de CloudFront KeyValueStore](#kvs-with-functions-api-describe)
+ [Utilisation des paires clé-valeur (AWS CLI)](#work-with-kvs-cli-keys)
+ [Utilisation des paires clé-valeur (API)](#kvs-with-functions-kvp-using-api)

## Utilisation de paires clé-valeur (console)
<a name="kvs-with-functions-kvp-using-console"></a>

Vous pouvez utiliser la CloudFront console pour travailler avec vos paires clé-valeur.

**Pour utiliser les paires clé-valeur**

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 modifier.

1. Dans la section **Paires clé-valeur**, choisissez **Modifier**. 

1. Vous pouvez ajouter une paire clé-valeur, supprimer une paire clé-valeur ou modifier la valeur d’une paire clé-valeur existante. 

1. Lorsque vous avez terminé, sélectionnez **Enregistrer les modifications**.

## À propos de CloudFront KeyValueStore
<a name="kvs-with-functions-api-describe"></a>

**Astuce**  
L' CloudFront KeyValueStore API est un service mondial qui utilise Signature Version 4A (SigV4A) pour l'authentification. L’utilisation d’informations d’identification temporaires avec SigV4A nécessite des jetons de session de version 2. Pour de plus amples informations, veuillez consulter [Utilisation d'informations d'identification temporaires avec l' CloudFront KeyValueStore API](cloudfront-function-restrictions.md#regional-endpoint-for-key-value-store).

Si vous utilisez le AWS Command Line Interface (AWS CLI) ou votre propre code pour appeler l' CloudFront KeyValueStore API, consultez les sections suivantes. 

Lorsque vous utilisez un magasin de clés-valeurs et ses paires clé-valeur, le service que vous appelez dépend de votre cas d’utilisation :
+ Pour utiliser des paires clé-valeur dans un magasin clé-valeur *existant*, utilisez le CloudFront KeyValueStore service. 
+ Pour inclure des paires clé-valeur dans le magasin clé-valeur lorsque vous créez *initialement* le magasin clé-valeur, utilisez le CloudFront service.

L' CloudFront API et l' CloudFront KeyValueStore API fonctionnent toutes deux. `DescribeKeyValueStore` Vous les appelez pour différentes raisons. Pour comprendre les différences, consultez le tableau suivant.


|  | API CloudFront DescribeKeyValueStore | API CloudFront KeyValueStore DescribeKeyValueStore | 
| --- | --- | --- | 
| Données relatives au magasin de clés-valeurs |  Renvoie des données, telles que l’état et la date à laquelle le magasin de clés-valeurs lui-même a été modifié pour la dernière fois.  |  Renvoie les données relatives au *contenu* de la ressource de stockage : les paires clé-valeur figurant dans le magasin et la taille du contenu.  | 
| Données qui identifient le magasin de clés-valeurs |  Renvoie un `ETag`, l’UUID et l’ARN du magasin de clés-valeurs.  |  Renvoie un `ETag` et l’ARN du magasin de clés-valeurs.  | 

**Remarques**  
Chaque opération DescribeKeyValueStore renvoie un `ETag` *différent*. Les `ETags` ne sont pas interchangeables.
Lorsque vous appelez une opération d’API pour effectuer une action, vous devez spécifier l’`ETag` provenant de l’API appropriée. Par exemple, dans l' CloudFront KeyValueStore[ DeleteKey](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_DeleteKey.html)opération, vous spécifiez `ETag` ce que vous avez renvoyé après l' CloudFront KeyValueStore [https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_DescribeKeyValueStore.html](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_DescribeKeyValueStore.html)opération.
Lorsque vous appelez vos CloudFront fonctions en utilisant CloudFront KeyValueStore, les valeurs du magasin de valeurs clés ne sont ni mises à jour ni modifiées lors de l'appel de la fonction. Les mises à jour sont traitées entre deux invocations d’une fonction.

## Utilisation des paires clé-valeur (AWS CLI)
<a name="work-with-kvs-cli-keys"></a>

Vous pouvez exécuter les AWS Command Line Interface commandes suivantes pour CloudFront KeyValueStore.

**Contents**
+ [Liste des paires clé-valeur](#kvs-cli-list-keys)
+ [Obtention des paires clé-valeur](#kvs-cli-get-keys)
+ [Description d’un magasin de clés-valeurs](#kvs-cli-describe-keys)
+ [Création d’une paire clé-valeur](#kvs-cli-create-keys)
+ [Suppression d’une paire clé-valeur](#kvs-cli-delete-keys)
+ [Mise à jour d’une paire clé-valeur](#kvs-cli-update-key)

### Liste des paires clé-valeur
<a name="kvs-cli-list-keys"></a>

Pour répertorier les paires clé-valeur dans votre magasin de clés-valeurs, exécutez la commande suivante.

```
aws cloudfront-keyvaluestore list-keys \
    --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example
```

**Réponse**

```
{
    "Items": [
        {
            "Key": "key1",
            "Value": "value1"
        }
    ]
}
```

### Obtention des paires clé-valeur
<a name="kvs-cli-get-keys"></a>

Pour obtenir les paires clé-valeur dans votre magasin de clés-valeurs, exécutez la commande suivante.

```
aws cloudfront-keyvaluestore get-key \
    --key=key1 \
    --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example
```

**Réponse**

```
{
    "Key": "key1",
    "Value": "value1",
    "ItemCount": 1,
    "TotalSizeInBytes": 11
}
```

### Description d’un magasin de clés-valeurs
<a name="kvs-cli-describe-keys"></a>

Pour décrire un magasin de clés-valeurs, exécutez la commande suivante.

```
aws cloudfront-keyvaluestore describe-key-value-store \
    --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example
```

**Réponse**

```
{
    "ETag": "KV1F83G8C2ARO7P",
    "ItemCount": 1,
    "TotalSizeInBytes": 11,
    "KvsARN": "arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example",
    "Created": "2024-05-08T07:48:45.381000-07:00",
    "LastModified": "2024-08-05T13:50:58.843000-07:00",
    "Status": "READY"
}
```

### Création d’une paire clé-valeur
<a name="kvs-cli-create-keys"></a>

Pour créer une paire clé-valeur dans votre magasin de clés-valeurs, exécutez la commande suivante.

```
aws cloudfront-keyvaluestore put-key \
    --if-match=KV1PA6795UKMFR9 \
    --key=key2 \
    --value=value2 \
    --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example
```

**Réponse**

```
{
    "ETag": "KV13V1IB3VIYZZH",
    "ItemCount": 3,
    "TotalSizeInBytes": 31
}
```

### Suppression d’une paire clé-valeur
<a name="kvs-cli-delete-keys"></a>

Pour supprimer une paire clé-valeur, exécutez la commande suivante.

```
aws cloudfront-keyvaluestore delete-key \
    --if-match=KV13V1IB3VIYZZH \
    --key=key1 \
    --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example
```

**Sortie**

```
{
    "ETag": "KV1VC38T7YXB528",
    "ItemCount": 2,
    "TotalSizeInBytes": 22
}
```

### Mise à jour d’une paire clé-valeur
<a name="kvs-cli-update-key"></a>

Vous pouvez utiliser la commande `update-keys` pour mettre à jour plusieurs paires clé-valeur. Par exemple, pour supprimer une paire clé-valeur existante et en créer une autre, exécutez la commande suivante.

```
aws cloudfront-keyvaluestore update-keys \
    --if-match=KV2EUQ1WTGCTBG2 \
    --kvs-arn=arn:aws:cloudfront::123456789012:key-value-store/37435e19-c205-4271-9e5c-example \
    --deletes '[{"Key":"key2"}]' \
    --puts '[{"Key":"key3","Value":"value3"}]'
```

**Réponse**

```
{
    "ETag": "KV3AEGXETSR30VB",
    "ItemCount": 3,
    "TotalSizeInBytes": 28
}
```

## Utilisation des paires clé-valeur (API)
<a name="kvs-with-functions-kvp-using-api"></a>

Suivez cette section pour utiliser vos paires clé-valeur par programmation. 

**Contents**
+ [Obtention d’une référence à un magasin de clés-valeurs](#kvs-with-functions-api-ref)
+ [Modification de paires clé-valeur dans un magasin de clés-valeurs](#kvs-with-functions-api-actions)
+ [Exemple de code pour CloudFront KeyValueStore](#example-code-key-value-store)

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

Lorsque vous utilisez l' CloudFront KeyValueStore API pour appeler une opération d'écriture, vous devez spécifier l'ARN et le `ETag` du magasin de valeurs clés. Pour obtenir ces données, procédez comme suit :

**Pour obtenir une 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 obtenir une liste de magasins de clés-valeurs. Recherchez le magasin de clés-valeurs que vous souhaitez modifier. 

1. Utilisez l’[opération d’API CloudFrontKeyValueStore DescribeKeyValueStore](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_DescribeKeyValueStore.html) et indiquez le magasin de clés-valeurs identifié à l’étape précédente.

   La réponse inclut l’ARN et l’`ETag` du magasin de clés-valeurs. 
   + 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/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`
   + Un `ETag` ressemble à l’exemple suivant : 

     `ETVABCEXAMPLE2`

### Modification de paires clé-valeur dans un magasin de clés-valeurs
<a name="kvs-with-functions-api-actions"></a>

Vous pouvez spécifier le magasin de clés-valeurs qui contient la paire clé-valeur que vous souhaitez mettre à jour. 

Consultez les opérations CloudFront KeyValueStore d'API suivantes :
+ [CloudFrontKeyValueStore DeleteKey](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_DeleteKey.html)— Supprime une paire clé-valeur
+ [CloudFrontKeyValueStore GetKey](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_GetKey.html)— Renvoie une paire clé-valeur
+ [CloudFrontKeyValueStore ListKeys](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_ListKeys.html)— Renvoie une liste de paires clé-valeur 
+ [CloudFrontKeyValueStore PutKey](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_PutKey.html)— Vous pouvez effectuer les tâches suivantes :
  + Créer une paire clé-valeur dans un magasin de clés-valeurs en indiquant un nouveau nom de clé et une valeur.
  + Définir une valeur différente dans une paire clé-valeur existante en spécifiant un nom de clé existant et une nouvelle valeur.
+ [CloudFrontKeyValueStore UpdateKeys](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_kvs_UpdateKeys.html)— Vous pouvez effectuer une ou plusieurs des actions suivantes en une seule all-or-nothing opération :
  + Supprimer une ou plusieurs paires clé-valeur
  + Créer une ou plusieurs nouvelles paires clé-valeur
  + Définir une valeur différente dans une ou plusieurs paires clé-valeur existantes

### Exemple de code pour CloudFront KeyValueStore
<a name="example-code-key-value-store"></a>

**Example**  
Le code suivant vous montre comment appeler l’opération d’API `DescribeKeyValueStore` pour un magasin de clés-valeurs.  

```
const {
  CloudFrontKeyValueStoreClient,
  DescribeKeyValueStoreCommand,
} = require("@aws-sdk/client-cloudfront-keyvaluestore");

require("@aws-sdk/signature-v4-crt");

(async () => {
  try {
    const client = new CloudFrontKeyValueStoreClient({
      region: "us-east-1"
    });
    const input = {
      KvsARN: "arn:aws:cloudfront::123456789012:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    };
    const command = new DescribeKeyValueStoreCommand(input);

    const response = await client.send(command);
  } catch (e) {
    console.log(e);
  }
})();
```