Ejemplos de Lambda con Tools for V4 PowerShell - Herramientas de AWS para PowerShell (versión 4)

La Herramientas de AWS para PowerShell versión 5 (V5) está en versión preliminar. Para ver el contenido de la versión 5, que está sujeto a cambios, y probar la nueva versión, consulta la guía del usuario de la versión 5 (versión preliminar). Para obtener información específica sobre los cambios más importantes y la migración a la V5, consulta el tema sobre migración de esa guía.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Lambda con Tools for V4 PowerShell

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso de la Herramientas de AWS para PowerShell V4 con Lambda.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar Add-LMResourceTag.

Herramientas para la PowerShell V4

Ejemplo 1: agrega las tres etiquetas (Washington, Oregon y California) y sus valores asociados a la función especificada identificada por su ARN.

Add-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction" -Tag @{ "Washington" = "Olympia"; "Oregon" = "Salem"; "California" = "Sacramento" }

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMAccountSetting.

Herramientas para la versión 4 PowerShell

Ejemplo 1: en este ejemplo, se muestra para comparar el límite de la cuenta y el uso de la cuenta

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

Salida:

TotalCodeSizeLimit TotalCodeSizeUsed ------------------ ----------------- 80530636800 15078795

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMAlias.

Herramientas para la versión 4 PowerShell

Ejemplo 1: en este ejemplo, se recuperan las ponderaciones de Routing Config para un alias de función de Lambda específico.

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

Salida:

AdditionalVersionWeights ------------------------ {[1, 0.6]}

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMFunctionConcurrency.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo obtiene la simultaneidad reservada para la función de Lambda

Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *

Salida:

ReservedConcurrentExecutions ---------------------------- 100

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMFunctionConfiguration.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo devuelve la configuración específica de la versión de una función de Lambda.

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

Salida:

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

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMFunctionList.

Herramientas para la versión 4 PowerShell

Ejemplo 1: en este ejemplo se muestran todas las funciones de Lambda con un tamaño de código ordenado

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

Salida:

FunctionName Runtime Timeout CodeSize ------------ ------- ------- -------- test python2.7 3 243 MylambdaFunction123 python3.8 600 659 myfuncpython1 python3.8 303 675

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMPolicy.

Herramientas para la versión 4 PowerShell

Ejemplo 1: en este ejemplo se muestra la política de funciones de la función de Lambda

Get-LMPolicy -FunctionName test -Select Policy

Salida:

{"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"}]}

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMProvisionedConcurrencyConfig.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo obtiene la configuración de simultaneidad aprovisionada para el alias especificado de la función de Lambda.

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

Salida:

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

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMProvisionedConcurrencyConfigList.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo obtiene la configuración de simultaneidad aprovisionada para una función de Lambda.

Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMResourceTag.

Herramientas para la versión 4 PowerShell

Ejemplo 1: recupera las etiquetas y sus valores actualmente configurados en la función especificada.

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

Salida:

Key Value --- ----- California Sacramento Oregon Salem Washington Olympia

En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMVersionsByFunction.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo devuelve la lista de configuraciones específicas de la versión para cada versión de la función de Lambda.

Get-LMVersionsByFunction -FunctionName "MylambdaFunction123"

Salida:

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

En el siguiente ejemplo de código, se muestra cómo utilizar New-LMAlias.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo crea un nuevo alias de Lambda para una versión y configuración de enrutamiento específicas a fin de especificar el porcentaje de solicitudes de invocación que recibe.

New-LMAlias -FunctionName "MylambdaFunction123" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6} -Description "Alias for version 4" -FunctionVersion 4 -Name "PowershellAlias"

En el siguiente ejemplo de código, se muestra cómo utilizar Publish-LMFunction.

Herramientas para la versión 4 PowerShell

Ejemplo 1: Este ejemplo crea una nueva función de C# (tiempo de ejecución de dotnetcore1.0) denominada MyFunction AWS Lambda, que proporciona los binarios compilados para la función desde un archivo zip del sistema de archivos local (se pueden utilizar rutas relativas o absolutas). Las funciones Lambda de C# especifican el controlador de la función mediante la designación: :Namespace. AssemblyName ClassName::. MethodName Debe reemplazar adecuadamente las partes del nombre del ensamblado (sin el sufijo .dll), el espacio de nombres, el nombre de la clase y el nombre del método de la especificación del controlador. La nueva función tendrá las variables de entorno 'envvar1' y 'envvar2' configuradas a partir de los valores proporcionados.

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" }

Salida:

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 :

Ejemplo 2: este ejemplo es similar al anterior, excepto que los binarios de la función se cargan primero en un bucket de Amazon S3 (que debe estar en la misma región que la función de Lambda prevista) y, a continuación, se hace referencia al objeto de S3 resultante al crear la función.

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" }

En el siguiente ejemplo de código, se muestra cómo utilizar Publish-LMVersion.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo crea una versión para la instantánea existente del código de función de Lambda

Publish-LMVersion -FunctionName "MylambdaFunction123" -Description "Publishing Existing Snapshot of function code as a new version through Powershell"

En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMAlias.

Herramientas para la versión 4 PowerShell

Ejemplo 1: en este ejemplo se elimina el alias de la función de Lambda mencionado en el comando.

Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"

En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMFunction.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo elimina una versión específica de una función de Lambda

Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'

En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMFunctionConcurrency.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo elimina la simultaneidad de funciones de la función de Lambda.

Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"

En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMPermission.

Herramientas para la versión 4 PowerShell

Ejemplo 1: Este ejemplo elimina la política de función para la función Lambda especificada StatementId .

$policy = Get-LMPolicy -FunctionName "MylambdaFunction123" -Select Policy | ConvertFrom-Json| Select-Object -ExpandProperty Statement Remove-LMPermission -FunctionName "MylambdaFunction123" -StatementId $policy[0].Sid

En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMProvisionedConcurrencyConfig.

Herramientas para la versión 4 PowerShell

Ejemplo 1: en este ejemplo se elimina la configuración de simultaneidad aprovisionada para un alias específico.

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

En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMResourceTag.

Herramientas para la versión 4 PowerShell

Ejemplo 1: elimina las etiquetas suministradas de una función. El cmdlet solicitará confirmación antes de continuar, a menos que se especifique el modificador -Force. Se realiza una sola llamada al servicio para eliminar las etiquetas.

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

Ejemplo 2: elimina las etiquetas suministradas de una función. El cmdlet solicitará confirmación antes de continuar, a menos que se especifique el modificador -Force. Una vez realizada la llamada al servicio por etiqueta suministrada.

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

En el siguiente ejemplo de código, se muestra cómo utilizar Update-LMAlias.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo actualiza la configuración de un alias de función de Lambda existente. Actualiza el RoutingConfiguration valor para transferir el 60% (0.6) del tráfico a la versión 1

Update-LMAlias -FunctionName "MylambdaFunction123" -Description " Alias for version 2" -FunctionVersion 2 -Name "newlabel1" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6}

En el siguiente ejemplo de código, se muestra cómo utilizar Update-LMFunctionCode.

Herramientas para la versión 4 PowerShell

Ejemplo 1: actualiza la función denominada 'MyFunction' con el nuevo contenido contenido en el archivo zip especificado. Para una función de Lambda C# .NET Core, el archivo zip debe contener el ensamblaje compilado.

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

Ejemplo 2: este ejemplo es similar al anterior, pero utiliza un objeto de Amazon S3 que contiene el código actualizado para actualizar la función.

Update-LMFunctionCode -FunctionName MyFunction -BucketName amzn-s3-demo-bucket -Key UpdatedCode.zip

En el siguiente ejemplo de código, se muestra cómo utilizar Update-LMFunctionConfiguration.

Herramientas para la versión 4 PowerShell

Ejemplo 1: este ejemplo actualiza la configuración de la función de 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

En el siguiente ejemplo de código, se muestra cómo utilizar Write-LMFunctionConcurrency.

Herramientas para la versión 4 PowerShell

Ejemplo 1: en este ejemplo se aplica la configuración de simultaneidad de la función en su conjunto.

Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100

En el siguiente ejemplo de código, se muestra cómo utilizar Write-LMProvisionedConcurrencyConfig.

Herramientas para la versión 4 PowerShell

Ejemplo 1: en este ejemplo se agrega una configuración de simultaneidad aprovisionada al alias de una función

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