Récupération de données sur les fonctions Lambda qui utilisent un environnement d’exécution obsolète
Lorsqu’un environnement d’exécution Lambda est sur le point d’être obsolète, Lambda vous avertit par e-mail et vous envoie des notifications dans l’AWS Health Dashboard et Trusted Advisor. Ces e-mails et notifications répertorient les versions $LATEST des fonctions utilisant l’environnement d’exécution. Pour répertorier toutes les versions de vos fonctions qui utilisent un environnement d’exécution particulier, vous pouvez utiliser l’AWS Command Line Interface (AWS CLI) ou l’un des kits SDK AWS.
Si un grand nombre de fonctions utilisent un environnement d’exécution destiné à être obsolète, vous pouvez également utiliser l’AWS les kis SDK AWS CLI pour vous aider à prioriser les mises à jour des fonctions les plus fréquemment invoquées.
Reportez-vous aux sections suivantes pour savoir comment utiliser l’AWS et les kits SDK AWS CLI pour collecter des données sur les fonctions qui utilisent un environnement d’exécution particulier.
Liste des versions de fonctions qui utilisent un environnement d’exécution particulier
Pour utiliser l’AWS CLI pour répertorier toutes les versions de vos fonctions qui utilisent un environnement d’exécution particulier, exécutez la commande suivante. Remplacez RUNTIME_IDENTIFIER par le nom du moteur d’exécution qui est obsolète et choisissez votre propre Région AWS. Pour répertorier uniquement les versions de fonction $LATEST, omettez --function-version ALL dans la commande.
aws lambda list-functions --function-version ALL --regionus-east-1--output text --query "Functions[?Runtime=='RUNTIME_IDENTIFIER'].FunctionArn"
Astuce
L’exemple de commande répertorie les fonctions d’une région us-east-1 pour un Compte AWS particulier. Vous devrez répéter cette commande pour chaque région dans laquelle votre compte possède des fonctions et pour chacun de vos Comptes AWS.
Vous pouvez également répertorier les fonctions qui utilisent un environnement d’exécution particulier à l’aide de l’un des kits SDK AWS. L’exemple de code suivant utilise l’AWS SDK pour JavaScript V3 et l’AWS SDK pour Python (Boto3) pour renvoyer une liste des ARN de fonctions utilisant un environnement d’exécution particulier. L’exemple de code renvoie également le groupe de journaux CloudWatch pour chacune des fonctions répertoriées. Vous pouvez utiliser ce groupe de journaux pour trouver la date de la dernière invocation de la fonction. Consultez la section Identification des fonctions les plus fréquemment et les plus récemment invoquées suivante pour plus d’informations.
Pour en savoir plus sur l’utilisation d’un kit SDK AWS pour répertorier vos fonctions à l’aide de l’action ListFunctions, consultez la documentation du kit SDK
Vous pouvez également utiliser la fonctionnalité de requêtes avancées AWS Config pour répertorier toutes les fonctions qui utilisent un environnement d’exécution affecté. Cette requête renvoie uniquement les versions $LATEST de la fonction, mais vous pouvez agréger les requêtes pour répertorier les fonctions dans toutes les régions et plusieurs Comptes AWS avec une seule commande. Pour en savoir plus, consultez la section Interrogation de l’état de configuration actuel des ressources AWS Auto Scaling dans le Guide du développeur AWS Config.
Identification des fonctions les plus fréquemment et les plus récemment invoquées
Si votre Compte AWS contient des fonctions qui utilisent un environnement d’exécution destiné à être obsolète, vous souhaiterez peut-être donner la priorité à la mise à jour des fonctions fréquemment invoquées ou des fonctions qui ont été invoquées récemment.
Si vous ne disposez que de quelques fonctions, vous pouvez utiliser la console CloudWatch Logs pour recueillir ces informations en consultant les flux de journaux de vos fonctions. Pour plus d’informations, consultez Afficher les données du journal envoyées à CloudWatch Logs.
Pour connaître le nombre d’invocations de fonctions récentes, vous pouvez également utiliser les informations des métriques CloudWatch affichées dans la console Lambda. Pour afficher ces informations, procédez comme suit :
-
Ouvrez la page Functions
(Fonctions) de la console Lambda. -
Sélectionnez la fonction dont vous souhaitez consulter les statistiques d’invocation.
-
Choisissez l’onglet Surveiller.
-
Définissez la période pendant laquelle vous souhaitez consulter les statistiques à l’aide du sélecteur de plage de dates. Les invocations récentes sont affichées dans le volet Invocations.
Pour les comptes dotés d’un plus grand nombre de fonctions, il peut être plus efficace de collecter ces données par programmation à l’aide de l’AWS CLI ou de l’un des kits SDK AWS en utilisant les actions d’API DescribeLogStreams et GetMetricStatistics.
Les exemples suivants fournissent des extraits de code utilisant la l’AWS SDK pour JavaScript V3 et l’AWS SDK pour Python (Boto3) pour identifier la date de la dernière invocation d’une fonction particulière et pour déterminer le nombre d’invocations d’une fonction particulière au cours des 14 derniers jours.
Astuce
Vous pouvez trouver le nom du groupe de journaux de votre fonction à l’aide de l’opération d’API ListFunctions. Consultez le code dans Liste des versions de fonctions qui utilisent un environnement d’exécution particulier pour obtenir un exemple montrant la façon de procéder.