AWS Lambdagestionnaire de fonctions dans PowerShell - AWS Lambda

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.

AWS Lambdagestionnaire de fonctions dans PowerShell

Lorsqu'une fonction Lambda est invoquée, le gestionnaire Lambda appelle le script. PowerShell

Lorsque le PowerShell script est invoqué, les variables suivantes sont prédéfinies :

  • $ LambdaInput — Un PSObject qui contient l'entrée du gestionnaire. Ces données d'entrée peuvent être des données d'événement (publiées par une source d'événement) ou des données d'entrée personnalisées que vous fournissez, telles qu'une chaîne ou n'importe quel objet de données personnalisé.

  • $ LambdaContext — Un LambdaContext objet Amazon.Lambda.Core.I que vous pouvez utiliser pour accéder aux informations relatives à l'appel en cours, telles que le nom de la fonction en cours, la limite de mémoire, le temps d'exécution restant et la journalisation.

Par exemple, considérez l' PowerShell exemple de code suivant.

#Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'} Write-Host 'Function Name:' $LambdaContext.FunctionName

Ce script renvoie la FunctionName propriété obtenue à partir de la LambdaContext variable $.

Note

Vous devez utiliser l'#Requiresinstruction dans vos PowerShell scripts pour indiquer les modules dont dépendent vos scripts. Cette instruction effectue deux tâches importantes. 1) Il communique aux autres développeurs les modules utilisés par le script, et 2) il identifie les modules dépendants que les AWS PowerShell outils doivent intégrer au script, dans le cadre du déploiement. Pour plus d'informations sur l'#Requiresinstruction dans PowerShell, voir À propos des exigences. Pour plus d'informations sur les packages de PowerShell déploiement, consultezDéployer des fonctions PowerShell Lambda avec des archives de fichiers .zip.

Lorsque votre fonction PowerShell Lambda utilise les AWS PowerShell applets de commande, veillez à définir une #Requires instruction qui fait référence au module, qui prend en charge PowerShell Core, et non au AWSPowerShell.NetCore module, qui ne prend en charge que AWSPowerShell Windows. PowerShell De plus, veillez à utiliser la version 3.3.270.0 ou plus récente de AWSPowerShell.NetCore, qui optimise le processus d'importation d'applet de commande. Si vous utilisez une version plus ancienne, vous connaîtrez des démarrages à froid plus longs. Pour plus d'informations, consultez la section AWSOutils pour PowerShell.

Renvoi de données

Certains appels Lambda sont destinés à renvoyer des données à leur appelant. Par exemple, si un appel répond à une demande web provenant d'API Gateway, notre fonction Lambda doit renvoyer la réponse. Pour PowerShell Lambda, le dernier objet ajouté au PowerShell pipeline est constitué des données renvoyées par l'invocation Lambda. Si l'objet est une chaîne, les données sont renvoyées en l'état. Dans le cas contraire, l'objet est converti en données JSON à l'aide de l'applet de commande ConvertTo-Json.

Par exemple, considérez l' PowerShell instruction suivante, qui $PSVersionTable s'ajoute au PowerShell pipeline :

$PSVersionTable

Une fois le PowerShell script terminé, le dernier objet du PowerShell pipeline correspond aux données renvoyées par la fonction Lambda. $PSVersionTableest une variable PowerShell globale qui fournit également des informations sur l'environnement d'exécution.