AWS Lambdamanipulador de funções em PowerShell - AWS Lambda

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Lambdamanipulador de funções em PowerShell

Quando uma função Lambda é invocada, o manipulador do Lambda invoca o script. PowerShell

Quando o PowerShell script é invocado, as seguintes variáveis são predefinidas:

  • $ LambdaInput — Um PSObject que contém a entrada para o manipulador. Essa entrada pode ser os dados do evento (publicados por uma origem de evento) ou uma entrada personalizada fornecida por você, tal como uma string ou qualquer objeto de dados personalizado.

  • $ LambdaContext — Um LambdaContext objeto Amazon.Lambda.Core.I que você pode usar para acessar informações sobre a invocação atual, como o nome da função atual, o limite de memória, o tempo de execução restante e o registro.

Por exemplo, considere o código de PowerShell exemplo a seguir.

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

Esse script retorna a FunctionName propriedade obtida da LambdaContext variável $.

nota

Você precisa usar a #Requires instrução em seus PowerShell scripts para indicar os módulos dos quais seus scripts dependem. Essa declaração executa duas tarefas importantes. 1) Ele comunica a outros desenvolvedores quais módulos o script usa e 2) identifica os módulos dependentes que AWS PowerShell as ferramentas precisam empacotar com o script, como parte da implantação. Para obter mais informações sobre a #Requires declaração em PowerShell, consulte Sobre os requisitos. Para obter mais informações sobre pacotes de PowerShell implantação, consulteImplemente funções PowerShell Lambda com arquivos de arquivos.zip.

Quando sua função PowerShell Lambda usa os AWS PowerShell cmdlets, certifique-se de definir uma #Requires declaração que faça referência ao módulo, que oferece suporte ao PowerShell Core, e não ao AWSPowerShell.NetCore módulo, que só oferece suporte ao AWSPowerShell Windows. PowerShell Além disso, certifique-se de usar a versão 3.3.270.0 ou mais recente do AWSPowerShell.NetCore, que otimiza o processo de importação de cmdlets. Se você usar uma versão mais antiga, haverá mais partidas a frio. Para obter mais informações, consulte AWSFerramentas para PowerShell.

Retorno de dados

Algumas invocações do Lambda são destinadas a retornar dados ao chamador. Por exemplo, se uma invocação tiver ocorrido em resposta a uma solicitação do API Gateway, nossa função do Lambda precisará retornar essa resposta. Para o PowerShell Lambda, o último objeto adicionado ao PowerShell pipeline são os dados de retorno da invocação do Lambda. Se o objeto for uma string, os dados serão retornados no estado em que se encontram. Caso contrário, o objeto será convertido em JSON usando o cmdlet ConvertTo-Json.

Por exemplo, considere a seguinte PowerShell declaração, que é adicionada $PSVersionTable ao PowerShell pipeline:

$PSVersionTable

Após a conclusão do PowerShell script, o último objeto no PowerShell pipeline são os dados de retorno da função Lambda. $PSVersionTableé uma variável PowerShell global que também fornece informações sobre o ambiente em execução.