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

Há mais exemplos do AWS SDK disponíveis no repositório do GitHub Documento de Exemplos do AWS SDK.

Exemplos do Lambda usando as ferramentas para PowerShell V5

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o Ferramentas da AWS para PowerShell V5 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 V5

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 conhecer os detalhes da API, consulte TagResource na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 conhecer os detalhes da API, consulte GetAccountSettings na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 conhecer os detalhes da API, consulte GetAlias na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 conhecer os detalhes da API, consulte GetFunctionConcurrency na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 conhecer os detalhes da API, consulte GetFunctionConfiguration na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 conhecer os detalhes da API, consulte ListFunctions na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 sobre a API, consulte GetPolicy na Ferramentas da AWS para PowerShell Cmdlet Reference (V5).

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

Ferramentas para PowerShell V5

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 V5

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 V5

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 conhecer os detalhes da API, consulte ListTags na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 conhecer os detalhes da API, consulte ListVersionsByFunction na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 conhecer os detalhes da API, consulte CreateAlias na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

Exemplo 1: este exemplo cria uma nova função em C# (runtime dotnetcore1.0) chamada MyFunction no AWS Lambda, fornecendo os binários compilados para a função com base em um arquivo zip no sistema local de arquivos (é possível usar caminhos relativos ou absolutos). As funções do Lambda em C# especificam o manipulador da função usando a designação AssemblyName::Namespace.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 conhecer os detalhes da API, consulte CreateFunction na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 conhecer os detalhes da API, consulte PublishVersion na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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

Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"
  • Para conhecer os detalhes da API, consulte DeleteAlias na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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

Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'
  • Para conhecer os detalhes da API, consulte DeleteFunction na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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

Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"
  • Para conhecer os detalhes da API, consulte DeleteFunctionConcurrency na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

Exemplo 1: este exemplo remove a política de função para o StatementId especificado de uma função do Lambda.

$policy = Get-LMPolicy -FunctionName "MylambdaFunction123" -Select Policy | ConvertFrom-Json| Select-Object -ExpandProperty Statement Remove-LMPermission -FunctionName "MylambdaFunction123" -StatementId $policy[0].Sid
  • Para conhecer os detalhes da API, consulte RemovePermission na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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 V5

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 conhecer os detalhes da API, consulte UntagResource na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

Exemplo 1: este exemplo atualiza a configuração de um alias de função do Lambda existente. Ele atualiza o valor da configuração de RoutingConfiguration 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 conhecer os detalhes da API, consulte UpdateAlias na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

Exemplo 1: atualiza a função chamada “MyFunction” com o novo conteúdo do 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 conhecer os detalhes da API, consulte UpdateFunctionCode na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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
  • Para conhecer os detalhes da API, consulte UpdateFunctionConfiguration na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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

Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100
  • Para conhecer os detalhes da API, consulte PutFunctionConcurrency na Referência a cmdlets do Ferramentas da AWS para PowerShell (V5).

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

Ferramentas para PowerShell V5

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"