Exemplos de Lambda usando ferramentas para PowerShell - AWS Exemplos de código do SDK

Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples GitHub .

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á.

Exemplos de Lambda usando ferramentas para PowerShell

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o Ferramentas da AWS para PowerShell com o Lambda.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar Add-LMResourceTag.

Ferramentas para PowerShell

Exemplo 1: adiciona as três tags (Washington, Oregon e Califórnia) e seus valores associados à função especificada identificada por seu ARN.

Add-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction" -Tag @{ "Washington" = "Olympia"; "Oregon" = "Salem"; "California" = "Sacramento" }
  • Para obter detalhes da API, consulte TagResourceem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Get-LMAccountSetting.

Ferramentas para PowerShell

Exemplo 1: este exemplo é apresentado para comparar o limite da conta e o uso da conta

Get-LMAccountSetting | Select-Object @{Name="TotalCodeSizeLimit";Expression={$_.AccountLimit.TotalCodeSize}}, @{Name="TotalCodeSizeUsed";Expression={$_.AccountUsage.TotalCodeSize}}

Saída:

TotalCodeSizeLimit TotalCodeSizeUsed ------------------ ----------------- 80530636800 15078795
  • Para obter detalhes da API, consulte GetAccountSettingsem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Get-LMAlias.

Ferramentas para PowerShell

Exemplo 1: este exemplo recupera os pesos da configuração de roteamento para o alias de uma função do Lambda específica.

Get-LMAlias -FunctionName "MylambdaFunction123" -Name "newlabel1" -Select RoutingConfig

Saída:

AdditionalVersionWeights ------------------------ {[1, 0.6]}
  • Para obter detalhes da API, consulte GetAliasem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Get-LMFunctionConcurrency.

Ferramentas para PowerShell

Exemplo 1: este exemplo obtém a simultaneidade reservada para a função do Lambda

Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *

Saída:

ReservedConcurrentExecutions ---------------------------- 100
  • Para obter detalhes da API, consulte GetFunctionConcurrencyem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Get-LMFunctionConfiguration.

Ferramentas para PowerShell

Exemplo 1: este exemplo retorna a configuração específica de versão de uma função do Lambda.

Get-LMFunctionConfiguration -FunctionName "MylambdaFunction123" -Qualifier "PowershellAlias"

Saída:

CodeSha256 : uWOW0R7z+f0VyLuUg7+/D08hkMFsq0SF4seuyUZJ/R8= CodeSize : 1426 DeadLetterConfig : Amazon.Lambda.Model.DeadLetterConfig Description : Verson 3 to test Aliases Environment : Amazon.Lambda.Model.EnvironmentResponse FunctionArn : arn:aws:lambda:us-east-1:123456789012:function:MylambdaFunction123 :PowershellAlias FunctionName : MylambdaFunction123 Handler : lambda_function.launch_instance KMSKeyArn : LastModified : 2019-12-25T09:52:59.872+0000 LastUpdateStatus : Successful LastUpdateStatusReason : LastUpdateStatusReasonCode : Layers : {} MasterArn : MemorySize : 128 RevisionId : 5d7de38b-87f2-4260-8f8a-e87280e10c33 Role : arn:aws:iam::123456789012:role/service-role/lambda Runtime : python3.8 State : Active StateReason : StateReasonCode : Timeout : 600 TracingConfig : Amazon.Lambda.Model.TracingConfigResponse Version : 4 VpcConfig : Amazon.Lambda.Model.VpcConfigDetail
  • Para obter detalhes da API, consulte GetFunctionConfigurationem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Get-LMFunctionList.

Ferramentas para PowerShell

Exemplo 1: este exemplo mostra todas as funções do Lambda com tamanho de código classificado

Get-LMFunctionList | Sort-Object -Property CodeSize | Select-Object FunctionName, RunTime, Timeout, CodeSize

Saída:

FunctionName Runtime Timeout CodeSize ------------ ------- ------- -------- test python2.7 3 243 MylambdaFunction123 python3.8 600 659 myfuncpython1 python3.8 303 675
  • Para obter detalhes da API, consulte ListFunctionsem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Get-LMPolicy.

Ferramentas para PowerShell

Exemplo 1: este exemplo mostra a política de função da função do Lambda

Get-LMPolicy -FunctionName test -Select Policy

Saída:

{"Version":"2012-10-17","Id":"default","Statement":[{"Sid":"xxxx","Effect":"Allow","Principal":{"Service":"sns.amazonaws.com"},"Action":"lambda:InvokeFunction","Resource":"arn:aws:lambda:us-east-1:123456789102:function:test"}]}
  • Para obter detalhes da API, consulte GetPolicyem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Get-LMProvisionedConcurrencyConfig.

Ferramentas para PowerShell

Exemplo 1: este exemplo obtém a configuração de simultaneidade provisionada para o alias especificado da função do Lambda.

C:\>Get-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -Qualifier "NewAlias1"

Saída:

AllocatedProvisionedConcurrentExecutions : 0 AvailableProvisionedConcurrentExecutions : 0 LastModified : 2020-01-15T03:21:26+0000 RequestedProvisionedConcurrentExecutions : 70 Status : IN_PROGRESS StatusReason :

O código de exemplo a seguir mostra como usar Get-LMProvisionedConcurrencyConfigList.

Ferramentas para PowerShell

Exemplo 1: este exemplo recupera a lista de configurações de simultaneidade provisionada para uma função do Lambda.

Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"

O código de exemplo a seguir mostra como usar Get-LMResourceTag.

Ferramentas para PowerShell

Exemplo 1: recupera as tags e seus valores atualmente definidos na função especificada.

Get-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"

Saída:

Key Value --- ----- California Sacramento Oregon Salem Washington Olympia
  • Para obter detalhes da API, consulte ListTagsem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Get-LMVersionsByFunction.

Ferramentas para PowerShell

Exemplo 1: este exemplo retorna a lista de configurações específicas de versão para cada versão da função do Lambda.

Get-LMVersionsByFunction -FunctionName "MylambdaFunction123"

Saída:

FunctionName Runtime MemorySize Timeout CodeSize LastModified RoleName ------------ ------- ---------- ------- -------- ------------ -------- MylambdaFunction123 python3.8 128 600 659 2020-01-10T03:20:56.390+0000 lambda MylambdaFunction123 python3.8 128 5 1426 2019-12-25T09:19:02.238+0000 lambda MylambdaFunction123 python3.8 128 5 1426 2019-12-25T09:39:36.779+0000 lambda MylambdaFunction123 python3.8 128 600 1426 2019-12-25T09:52:59.872+0000 lambda
  • Para obter detalhes da API, consulte ListVersionsByFunctionem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar New-LMAlias.

Ferramentas para PowerShell

Exemplo 1: este exemplo cria um novo alias do Lambda para versão e configuração de roteamento especificadas a fim de indicar o percentual de solicitações de invocação que ele receberá.

New-LMAlias -FunctionName "MylambdaFunction123" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6} -Description "Alias for version 4" -FunctionVersion 4 -Name "PowershellAlias"
  • Para obter detalhes da API, consulte CreateAliasem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Publish-LMFunction.

Ferramentas para PowerShell

Exemplo 1: Este exemplo cria uma nova função C# (dotnetcore1.0 runtime) nomeada no MyFunction AWS Lambda, fornecendo os binários compilados para a função a partir de um arquivo zip no sistema de arquivos local (caminhos relativos ou absolutos podem ser usados). As funções Lambda do C# especificam o manipulador da função usando a designação: :Namespace. AssemblyName ClassName::MethodName. É necessário substituir adequadamente o nome da montagem (sem o sufixo .dll), o namespace, o nome da classe e o nome do método da especificação do manipulador. A nova função terá as variáveis de ambiente “envvar1” e “envvar2” configuradas com base nos valores fornecidos.

Publish-LMFunction -Description "My C# Lambda Function" ` -FunctionName MyFunction ` -ZipFilename .\MyFunctionBinaries.zip ` -Handler "AssemblyName::Namespace.ClassName::MethodName" ` -Role "arn:aws:iam::123456789012:role/LambdaFullExecRole" ` -Runtime dotnetcore1.0 ` -Environment_Variable @{ "envvar1"="value";"envvar2"="value" }

Saída:

CodeSha256 : /NgBMd...gq71I= CodeSize : 214784 DeadLetterConfig : Description : My C# Lambda Function Environment : Amazon.Lambda.Model.EnvironmentResponse FunctionArn : arn:aws:lambda:us-west-2:123456789012:function:ToUpper FunctionName : MyFunction Handler : AssemblyName::Namespace.ClassName::MethodName KMSKeyArn : LastModified : 2016-12-29T23:50:14.207+0000 MemorySize : 128 Role : arn:aws:iam::123456789012:role/LambdaFullExecRole Runtime : dotnetcore1.0 Timeout : 3 Version : $LATEST VpcConfig :

Exemplo 2: este exemplo é semelhante ao anterior, com a exceção de que os binários da função são carregados primeiramente em um bucket do Amazon S3 (que deve estar na mesma região da função do Lambda desejada) e o objeto resultante do S3 será referenciado ao criar a função.

Write-S3Object -BucketName amzn-s3-demo-bucket -Key MyFunctionBinaries.zip -File .\MyFunctionBinaries.zip Publish-LMFunction -Description "My C# Lambda Function" ` -FunctionName MyFunction ` -BucketName amzn-s3-demo-bucket ` -Key MyFunctionBinaries.zip ` -Handler "AssemblyName::Namespace.ClassName::MethodName" ` -Role "arn:aws:iam::123456789012:role/LambdaFullExecRole" ` -Runtime dotnetcore1.0 ` -Environment_Variable @{ "envvar1"="value";"envvar2"="value" }
  • Para obter detalhes da API, consulte CreateFunctionem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Publish-LMVersion.

Ferramentas para PowerShell

Exemplo 1: este exemplo cria uma versão para o snapshot existente do código da função do Lambda

Publish-LMVersion -FunctionName "MylambdaFunction123" -Description "Publishing Existing Snapshot of function code as a new version through Powershell"
  • Para obter detalhes da API, consulte PublishVersionem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Remove-LMAlias.

Ferramentas para PowerShell

Exemplo 1: este exemplo exclui o alias da função do Lambda mencionado no comando.

Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"
  • Para obter detalhes da API, consulte DeleteAliasem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Remove-LMFunction.

Ferramentas para PowerShell

Exemplo 1: este exemplo exclui uma versão específica de uma função do Lambda

Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'
  • Para obter detalhes da API, consulte DeleteFunctionem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Remove-LMFunctionConcurrency.

Ferramentas para PowerShell

Exemplo 1: este exemplo remove a simultaneidade de função da função do Lambda.

Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"

O código de exemplo a seguir mostra como usar Remove-LMPermission.

Ferramentas para PowerShell

Exemplo 1: Este exemplo remove a política de função para a função especificada StatementId de uma função Lambda.

$policy = Get-LMPolicy -FunctionName "MylambdaFunction123" -Select Policy | ConvertFrom-Json| Select-Object -ExpandProperty Statement Remove-LMPermission -FunctionName "MylambdaFunction123" -StatementId $policy[0].Sid
  • Para obter detalhes da API, consulte RemovePermissionem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Remove-LMProvisionedConcurrencyConfig.

Ferramentas para PowerShell

Exemplo 1: este exemplo remove a configuração de simultaneidade provisionada para um alias específico.

Remove-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -Qualifier "NewAlias1"

O código de exemplo a seguir mostra como usar Remove-LMResourceTag.

Ferramentas para PowerShell

Exemplo 1: remove as tags fornecidas de uma função. A menos que a opção -Force esteja especificada, o cmdlet solicitará a confirmação antes de continuar. Uma única chamada será feita para o serviço a fim de remover as tags.

Remove-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction" -TagKey "Washington","Oregon","California"

Exemplo 2: remove as tags fornecidas de uma função. A menos que a opção -Force esteja especificada, o cmdlet solicitará a confirmação antes de continuar. Isso acontece porque a chamada para o serviço é feita pela tag fornecida.

"Washington","Oregon","California" | Remove-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"
  • Para obter detalhes da API, consulte UntagResourceem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Update-LMAlias.

Ferramentas para PowerShell

Exemplo 1: este exemplo atualiza a configuração de um alias de função do Lambda existente. Ele atualiza o RoutingConfiguration valor para transferir 60% (0,6) do tráfego para a versão 1

Update-LMAlias -FunctionName "MylambdaFunction123" -Description " Alias for version 2" -FunctionVersion 2 -Name "newlabel1" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6}
  • Para obter detalhes da API, consulte UpdateAliasem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Update-LMFunctionCode.

Ferramentas para PowerShell

Exemplo 1: atualiza a função chamada 'MyFunction' com o novo conteúdo contido no arquivo zip especificado. Para uma função do Lambda em C# .NET Core, o arquivo zip deve conter a montagem compilada.

Update-LMFunctionCode -FunctionName MyFunction -ZipFilename .\UpdatedCode.zip

Exemplo 2: este exemplo é semelhante ao anterior, mas usa um objeto do Amazon S3 contendo o código atualizado para atualizar a função.

Update-LMFunctionCode -FunctionName MyFunction -BucketName amzn-s3-demo-bucket -Key UpdatedCode.zip
  • Para obter detalhes da API, consulte UpdateFunctionCodeem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Update-LMFunctionConfiguration.

Ferramentas para PowerShell

Exemplo 1: este exemplo atualiza a configuração da função do Lambda existente

Update-LMFunctionConfiguration -FunctionName "MylambdaFunction123" -Handler "lambda_function.launch_instance" -Timeout 600 -Environment_Variable @{ "envvar1"="value";"envvar2"="value" } -Role arn:aws:iam::123456789101:role/service-role/lambda -DeadLetterConfig_TargetArn arn:aws:sns:us-east-1: 123456789101:MyfirstTopic

O código de exemplo a seguir mostra como usar Write-LMFunctionConcurrency.

Ferramentas para PowerShell

Exemplo 1: este exemplo aplica as configurações de simultaneidade para a função de maneira geral.

Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100
  • Para obter detalhes da API, consulte PutFunctionConcurrencyem Referência de Ferramentas da AWS para PowerShell cmdlet.

O código de exemplo a seguir mostra como usar Write-LMProvisionedConcurrencyConfig.

Ferramentas para PowerShell

Exemplo 1: este exemplo adiciona uma configuração de simultaneidade provisionada ao alias de uma função

Write-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -ProvisionedConcurrentExecution 20 -Qualifier "NewAlias1"