AWS Lambdacontrolador de funciones en PowerShell - AWS Lambda

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS Lambdacontrolador de funciones en PowerShell

Cuando se invoca una función de Lambda, el controlador de Lambda invoca el script. PowerShell

Cuando se invoca el PowerShell script, las siguientes variables están predefinidas:

  • $ LambdaInput: un PSObject que contiene la entrada del controlador. Esta entrada puede estar formada por datos de eventos (publicados por un origen de eventos) o por una entrada personalizada que proporcione, como una cadena o cualquier objeto de datos personalizado.

  • $ LambdaContext: un LambdaContext objeto de Amazon.Lambda.Core.I que puede utilizar para acceder a la información sobre la invocación actual, como el nombre de la función actual, el límite de memoria, el tiempo de ejecución restante y el registro.

Por ejemplo, considere el siguiente código de ejemplo. PowerShell

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

Este script devuelve la FunctionName propiedad que se obtiene de la LambdaContext variable $.

nota

Debe utilizar la #Requires sentencia en sus PowerShell scripts para indicar los módulos de los que dependen sus scripts. Esta instrucción realiza dos tareas importantes. 1) Comunica a otros desarrolladores qué módulos usa el script y 2) identifica los módulos dependientes que AWS PowerShell las herramientas deben empaquetar con el script, como parte de la implementación. Para obtener más información sobre la #Requires declaración incluida en PowerShell, consulte Acerca de los requisitos. Para obtener más información sobre los paquetes de PowerShell despliegue, consulteImplemente funciones PowerShell Lambda con archivos de archivos.zip.

Cuando la función PowerShell Lambda utilice los AWS PowerShell cmdlets, asegúrese de establecer una #Requires sentencia que haga referencia al módulo, que es compatible con PowerShell Core, y no al AWSPowerShell.NetCore módulo, que solo es compatible con AWSPowerShell Windows. PowerShell Además, asegúrese de utilizar la versión 3.3.270.0 o posterior de AWSPowerShell.NetCore, que optimiza el proceso de importación del cmdlet. Si utiliza una versión anterior, experimentará unos arranques en frío más largos. Para obtener más información, consulte Herramientas para. AWS PowerShell

Devolución de datos

Algunas invocaciones Lambda están destinadas a devolver los datos a la persona que llama. Por ejemplo, si una invocación se hizo en respuesta a una solicitud web procedente de API Gateway, entonces nuestra función de Lambda debe devolver la respuesta. En el caso de PowerShell Lambda, el último objeto que se añade a la PowerShell canalización son los datos devueltos por la invocación de Lambda. Si el objeto es una cadena, los datos se devuelven tal cual. De lo contrario, el objeto se convierte en JSON mediante el uso del cmdlet ConvertTo-Json.

Por ejemplo, consideremos la siguiente PowerShell afirmación, que se suma $PSVersionTable a la canalización: PowerShell

$PSVersionTable

Una vez finalizado el PowerShell script, el último objeto de la PowerShell canalización son los datos de retorno de la función Lambda. $PSVersionTablees una variable PowerShell global que también proporciona información sobre el entorno de ejecución.