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.
Tutoriel : Création d'une fonction simple avec CloudFront Functions
Ce didacticiel explique comment démarrer avec CloudFront Functions. Vous pouvez créer une fonction simple qui redirige le lecteur vers une autre URL et qui renvoie également un en-tête de réponse personnalisé.
Table des matières
Prérequis
Pour utiliser CloudFront Functions, vous avez besoin d'une CloudFront distribution. Si vous n'en avez pas, consultez Commencez avec une CloudFront distribution de base.
Créer la fonction
Vous pouvez utiliser la CloudFront console pour créer une fonction simple qui redirige le lecteur vers une autre URL et renvoie également un en-tête de réponse personnalisé.
Pour créer une CloudFront fonction
Connectez-vous à la CloudFront console AWS Management Console et ouvrez-la à l'adressehttps://console.aws.amazon.com/cloudfront/v4/home
. -
Dans le volet de navigation, choisissez Functions, puis Create function.
-
Sur la page Créer une fonction, pour Nom, entrez un nom de fonction tel que
MyFunctionName
. -
(Facultatif) Dans Description, entrez une description de la fonction, telle que
Simple test function
. -
Pour Runtime, conservez la JavaScript version sélectionnée par défaut.
-
Choisissez Créer une fonction.
-
Copiez le code de fonction suivant. Ce code de fonction redirige l'utilisateur vers une URL différente et renvoie également un en-tête de réponse personnalisé.
function handler(event) { // NOTE: This example function is for a viewer request event trigger. // Choose viewer request for event trigger when you associate this function with a distribution. var response = { statusCode: 302, statusDescription: 'Found', headers: { 'cloudfront-functions': { value: 'generated-by-CloudFront-Functions' }, 'location': { value: 'https://aws.amazon.com/cloudfront/' } } }; return response; }
-
Pour le code de fonction, collez le code dans l'éditeur de code pour remplacer le code par défaut.
-
Sélectionnez Enregistrer les modifications.
-
(Facultatif) Vous pouvez tester la fonction avant de la publier. Ce didacticiel ne décrit pas comment tester une fonction. Pour plus d’informations, consultez Fonctions de test.
-
Choisissez l'onglet Publier, puis choisissez la fonction Publier. Vous devez publier la fonction avant de pouvoir l'associer à votre CloudFront distribution.
-
Vous pouvez ensuite associer la fonction à un comportement de distribution ou de cache. Sur la
MyFunctionName
page, choisissez l'onglet Publier.Avertissement
Dans les étapes suivantes, choisissez une distribution ou un comportement de cache à utiliser pour les tests. N'associez pas cette fonction de test à un comportement de distribution ou de cache utilisé en production.
-
Choisissez Ajouter une association.
-
Dans la boîte de dialogue Associer, choisissez une distribution et/ou un comportement de cache. Pour le type d'événement, conservez la valeur par défaut.
-
Choisissez Ajouter une association.
La table Distributions associées indique la distribution associée.
-
Attendez quelques minutes pour que la distribution associée termine son déploiement. Pour vérifier le statut de la distribution, sélectionnez la distribution dans le tableau des distributions associées, puis choisissez Afficher la distribution.
Lorsque l'état de la distribution est Déployé, vous êtes prêt à vérifier que la fonction fonctionne.
Vérifiez le fonctionnement
Après avoir déployé la fonction, vous pouvez vérifier qu'elle fonctionne pour votre distribution.
Pour vérifier le fonctionnement
-
Dans votre navigateur Web, accédez au nom de domaine de votre distribution (par exemple,
https://d111111abcdef8.cloudfront.net
).La fonction renvoie une redirection vers le navigateur, de sorte que le navigateur ouvre automatiquement
https://aws.amazon.com/cloudfront/
. -
Dans une fenêtre de ligne de commande, vous pouvez utiliser un outil tel que curl l'envoi d'une demande au nom de domaine de votre distribution.
curl -v https://d111111abcdef8.cloudfront.net/
Dans la réponse, vous pouvez voir la réponse de redirection (
302 Found
) et les en-têtes de réponse personnalisés ajoutés par la fonction. Votre réponse peut ressembler à l'exemple suivant.curl -v https://d111111abcdef8.cloudfront.net/ > GET / HTTP/1.1 > Host: d111111abcdef8.cloudfront.net > User-Agent: curl/7.64.1 > Accept: */* > < HTTP/1.1 302 Found < Server: CloudFront < Date: Tue, 16 Mar 2021 18:50:48 GMT < Content-Length: 0 < Connection: keep-alive < Location: https://aws.amazon.com/cloudfront/ < Cloudfront-Functions: generated-by-CloudFront-Functions < X-Cache: FunctionGeneratedResponse from cloudfront < Via: 1.1 3035b31bddaf14eded329f8d22cf188c.cloudfront.net (CloudFront) < X-Amz-Cf-Pop: PHX50-C2 < X-Amz-Cf-Id: ULZdIz6j43uGBlXyob_JctF9x7CCbwpNniiMlmNbmwzH1YWP9FsEHg==