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 l’utilisateur vers une autre URL et renvoie également un en-tête de réponse personnalisé.
Table des matières
Conditions préalables
Pour utiliser CloudFront Functions, vous avez besoin d'une CloudFront distribution. Si vous n'en avez pas, consultez Commencez avec une distribution CloudFront standard.
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 panneau de navigation, choisissez Fonctions, puis Créer une fonction.
-
Sur la page Créer une fonction, pour Nom, entrez un nom de fonction tel que
MyFunctionName. -
(Facultatif) Dans Description, saisissez une description pour la fonction, par exemple,
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; } -
Dans 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 de plus amples informations, veuillez consulter Fonctions de test.
-
Choisissez l’onglet Publier, puis sélectionnez Publier la fonction. Vous devez publier la fonction avant de pouvoir l'associer à votre CloudFront distribution.
-
Vous pouvez ensuite associer la fonction à une distribution ou à un comportement de cache. Sur la
MyFunctionNamepage, choisissez l'onglet Publier.Avertissement
Dans les étapes suivantes, choisissez une distribution ou un comportement de cache utilisé pour les tests. N’associez pas cette fonction de test à une distribution ou un comportement de cache utilisé en production.
-
Choisissez Ajouter une association.
-
Dans la boîte de dialogue Association, choisissez une distribution et/ou un comportement de cache. Pour 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 la table Distributions associées et choisissez Afficher une distribution.
Lorsque l'état de la distribution est Déployé, vous êtes prêt à vérifier que la fonction fonctionne.
Vérification de la fonction
Après avoir déployé la fonction, vous pouvez vérifier qu’elle fonctionne pour votre distribution.
Pour vérifier la fonction
-
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 pour envoyer une demande au nom de domaine de votre distribution.
curl -v https://d111111abcdef8.cloudfront.net/La réponse affiche 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.Exemple
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==