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.
Associer des fonctions à des distributions
Pour utiliser une fonction avec une distribution, vous devez associer la fonction à un ou plusieurs comportements de cache dans la distribution. Vous pouvez associer une fonction à plusieurs comportements de cache dans plusieurs distributions..
Vous pouvez associer une fonction avec l’un des éléments suivants :
         
         
         
    - 
            Un comportement de cache existant 
- 
            Nouveau comportement du cache dans une distribution existante 
- 
            Nouveau comportement du cache dans une nouvelle distribution 
 Lorsque vous associez une fonction à un comportement de cache, vous devez choisir un type d'évènement. Le type d'événement détermine le moment où la fonction est  CloudFront  exécutée. 
Vous pouvez choisir les types d'événements suivants :
         
         
    - 
            Demande du visualiseur — La fonction s'exécute lorsqu'elle  CloudFront  reçoit une demande d'un visualiseur. 
- 
            Réponse du visualiseur : la fonction s'exécute avant de  CloudFront  renvoyer une réponse au visualiseur. 
 Vous ne pouvez pas utiliser de types d'événements liés à l'origine (demande d'origine et réponse d'origine) avec  CloudFront  Functions. Vous pouvez plutôt utiliser Lambda @Edge. Pour de plus amples informations, veuillez consulter CloudFront événements pouvant déclencher une fonction Lambda @Edge. 
Avant d'associer une fonction, vous devez la publier à l'étape LIVE.
Vous pouvez associer une fonction à une distribution dans la  CloudFront  console ou à AWS Command Line Interface
(AWS CLI). La procédure suivante montre comment associer une fonction à un comportement de cache existant. 
        - Console
- 
                Pour associer une fonction à un comportement de cache existant- 
                        Connectez-vous à la  CloudFront  console sur https://console.aws.amazon.com/cloudfront/v4/home#/functions et choisissez la page Fonctions. 
- 
                        Choisissez la fonction que vous souhaitez associer. 
- 
                        Sur la page Fonction, choisissez l'onglet Publier. 
- 
                        Choisissez la fonction Publier. 
- 
                        Choisissez Ajouter une association. Dans la boîte de dialogue qui apparaît, choisissez une distribution, un type d'événement et/ou un comportement de cache.  Pour le type d’événement, choisissez le moment où vous souhaitez que cette fonction s’exécute : 
- 
                        Pour enregistrer la configuration, choisissez Ajouter une association. 
 
CloudFront associe la distribution à la fonction. Attendez quelques minutes pour que la distribution associée termine son déploiement. Vous pouvez choisir Afficher la distribution sur la page des détails de la fonction pour vérifier la progression. 
- CLI
- 
                
                Pour associer une fonction à un comportement de cache existant- 
                        Ouvrez une fenêtre de ligne de commande. 
- 
                        Entrez la commande suivante pour enregistrer la configuration de distribution pour la distribution dont vous souhaitez associer le comportement de cache à une fonction. Cette commande enregistre la configuration de distribution dans un fichier nommé dist-config.yaml. Pour utiliser cette commande, procédez comme suit :
 
                             
                             
                        - 
                                Remplacez DistributionID
 
- 
                                Exécutez la commande sur une ligne. Dans l’exemple, des sauts de ligne sont fournis pour rendre l’exemple plus lisible. 
 
 aws cloudfront get-distribution-config \
    --id DistributionID\
    --output yaml > dist-config.yaml
 Lorsque la commande est réussie, aucune sortie n'est renvoyée. AWS CLI  
- 
                        Ouvrez le fichier nommé dist-config.yamlque vous avez créé. Apportez les modifications suivantes au fichier.
 - 
                                Renommez le champ ETagenIfMatch, mais ne modifiez pas la valeur du champ.
 
- 
                                Dans le comportement du cache, recherchez l'objet nommé FunctionAssociations. Mettez à jour cet objet pour ajouter une association de fonctions. La syntaxe YAML pour une association de fonctions ressemble à l'exemple ci-dessous.
 
                                     
                                     
                                - 
                                        L'exemple suivant montre un objet d'évènement de requête utilisateur (déclenchement). Pour utiliser le type d'évènement Réponse utilisateur, remplacez viewer-requestparviewer-response.
 
- 
                                        Remplacez arn:aws:cloudfront::111122223333:function/ExampleFunction
 
 
 FunctionAssociations:
  Items:
    - EventType: viewer-request
      FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction
  Quantity: 1
 
- 
                                Après avoir effectué ces modifications, enregistrez le fichier. 
 
- 
                        Utilisez la commande suivante pour mettre à jour la distribution, en ajoutant l'association de fonctions. Pour utiliser cette commande, procédez comme suit : 
                             
                             
                        - 
                                Remplacez DistributionID
 
- 
                                Exécutez la commande sur une ligne. Dans l’exemple, des sauts de ligne sont fournis pour rendre l’exemple plus lisible. 
 
 aws cloudfront update-distribution \
    --id DistributionID\
    --cli-input-yaml file://dist-config.yaml
 Lorsque la commande réussit, vous voyez une sortie similaire à la suivante, qui décrit la distribution qui vient d'être mise à jour avec l'association de fonctions. L'exemple de sortie suivant est tronqué pour plus de lisibilité. Distribution:
  ARN: arn:aws:cloudfront::111122223333:distribution/EBEDLT3BGRBBW
  ... truncated ...
  DistributionConfig:
    ... truncated ...
    DefaultCacheBehavior:
      ... truncated ...
      FunctionAssociations:
        Items:
        - EventType: viewer-request
          FunctionARN: arn:aws:cloudfront::111122223333:function/ExampleFunction
        Quantity: 1
      ... truncated ...
  DomainName: d111111abcdef8.cloudfront.net
  Id: EDFDVBD6EXAMPLE
  LastModifiedTime: '2021-04-19T22:39:09.158000+00:00'
  Status: InProgress
ETag: E2VJGGQEG1JT8S
 
 
Le Status de la distribution passe à InProgress pendant le redéploiement de la distribution. Lorsque la nouvelle configuration de distribution atteint un emplacement  CloudFront  périphérique, celui-ci commence à utiliser la fonction associée. Lorsque la distribution est entièrement déployée, elle Status redevientDeployed. Cela indique que la  CloudFront  fonction associée est active dans tous les emplacements  CloudFront  périphériques du monde entier. Cela prend généralement quelques minutes.