Exemplos do Lambda usando as ferramentas para PowerShell V4 - 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 V4

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

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" }
  • Consulte detalhes da API em TagResource na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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
  • Consulte detalhes da API em GetAccountSettings na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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]}
  • Consulte detalhes da API em GetAlias na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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

Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *

Saída:

ReservedConcurrentExecutions ---------------------------- 100
  • Consulte detalhes da API em GetFunctionConcurrency na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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

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

Ferramentas para PowerShell V4

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
  • Consulte detalhes da API em ListFunctions na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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 ver detalhes da API, consulte GetPolicy na Referência de cmdlets do Ferramentas da AWS para PowerShell (V4).

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

Ferramentas para PowerShell V4

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 V4

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 V4

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
  • Consulte detalhes da API em ListTags na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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
  • Consulte detalhes da API em ListVersionsByFunction na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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 os detalhes da API, consulte CreateAlias na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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 ver detalhes da API, consulte CreateFunction na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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"
  • Consulte detalhes da API em PublishVersion na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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

Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"
  • Consulte detalhes da API em DeleteAlias na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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

Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'
  • Consulte detalhes da API em DeleteFunction na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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 V4

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
  • Consulte detalhes da API em RemovePermission na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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 V4

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"
  • Consulte detalhes da API em UntagResource na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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}
  • Consulte detalhes da API em UpdateAlias na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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
  • Consulte detalhes da API em UpdateFunctionCode na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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 V4

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

Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100
  • Consulte detalhes da API em PutFunctionConcurrency na Ferramentas da AWS para PowerShell Cmdlet Reference (V4).

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

Ferramentas para PowerShell V4

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"