Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Definir o manipulador de funções do Lambda no PowerShell

Modo de foco
Definir o manipulador de funções do Lambda no PowerShell - AWS Lambda

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

Quando o script do PowerShell é 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 objeto Amazon.Lambda.Core.ILambdaContext que você pode usar para acessar informações sobre a invocação atual, como o nome da função atual, limite de memória, tempo de execução restante e registro em log.

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

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

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

nota

É necessário usar a instrução #Requires nos seus scripts do PowerShell para indicar os módulos dos quais os 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 as ferramentas do AWS PowerShell precisam empacotar com o script como parte da implantação. Para obter mais informações sobre a instrução #Requires no PowerShell, consulte About requires. Para obter mais informações sobre os pacotes de implantação do PowerShell, consulte Implantar funções do Lambda para PowerShell com arquivos .zip.

Quando a sua função do Lambda para PowerShell usa cmdlets do AWS PowerShell, certifique-se de definir uma instrução #Requires que faça referência ao módulo AWSPowerShell.NetCore, que oferece suporte ao PowerShell Core e não ao módulo AWSPowerShell, que apenas oferece suporte para o 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 AWS Tools for 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 pipeline do PowerShell 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 instrução PowerShell, que adiciona $PSVersionTable ao pipeline do PowerShell:

$PSVersionTable

Depois que o script PowerShell estiver finalizado, o último objeto no pipeline do PowerShell será os dados de retorno da função do Lambda. $PSVersionTable é uma variável global do PowerShell que também fornece informações sobre o ambiente de execução.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.