Se ha publicado la versión 5 (V5) de Herramientas de AWS para PowerShell.
Para empezar a utilizar la nueva versión de Tools para PowerShell, consulte la Guía del usuario de Herramientas de AWS para PowerShell (V5), especialmente el tema sobre la Migración a la V5.
Ejemplos de Lambda con las Herramientas para PowerShell V4
En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar escenarios comunes usando 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.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar Add-LMResourceTag.
- Herramientas para 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" }-
Para obtener información sobre la API, consulte TagResource en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMAccountSetting.
- Herramientas para PowerShell V4
-
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-
Para obtener información sobre la API, consulte GetAccountSettings en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMAlias.
- Herramientas para PowerShell V4
-
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 RoutingConfigSalida:
AdditionalVersionWeights ------------------------ {[1, 0.6]}-
Para obtener información sobre la API, consulte GetAlias en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMFunctionConcurrency.
- Herramientas para PowerShell V4
-
Ejemplo 1: este ejemplo obtiene la simultaneidad reservada para la función de Lambda
Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *Salida:
ReservedConcurrentExecutions ---------------------------- 100-
Para obtener información sobre la API, consulte GetFunctionConcurrency en la Referencia de Cmdlet Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMFunctionConfiguration.
- Herramientas para PowerShell V4
-
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-
Para obtener información sobre la API, consulte GetFunctionConfiguration en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMFunctionList.
- Herramientas para PowerShell V4
-
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, CodeSizeSalida:
FunctionName Runtime Timeout CodeSize ------------ ------- ------- -------- test python2.7 3 243 MylambdaFunction123 python3.8 600 659 myfuncpython1 python3.8 303 675-
Para obtener información sobre la API, consulte ListFunctions en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMPolicy.
- Herramientas para PowerShell V4
-
Ejemplo 1: en este ejemplo se muestra la política de funciones de la función de Lambda
Get-LMPolicy -FunctionName test -Select PolicySalida:
{"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 obtener información sobre la API, consulte GetPolicy en la Referencia de Cmdlet de las Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMProvisionedConcurrencyConfig.
- Herramientas para PowerShell V4
-
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 :-
Para obtener información sobre la API, consulte GetProvisionedConcurrencyConfig en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMProvisionedConcurrencyConfigList.
- Herramientas para PowerShell V4
-
Ejemplo 1: este ejemplo obtiene la configuración de simultaneidad aprovisionada para una función de Lambda.
Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"-
Para obtener información sobre la API, consulte ListProvisionedConcurrencyConfigs en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMResourceTag.
- Herramientas para PowerShell V4
-
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-
Para obtener información sobre la API, consulte ListTags en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-LMVersionsByFunction.
- Herramientas para PowerShell V4
-
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-
Para obtener información sobre la API, consulte ListVersionsByFunction en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar New-LMAlias.
- Herramientas para PowerShell V4
-
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"-
Para obtener información sobre la API, consulte CreateAlias en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Publish-LMFunction.
- Herramientas para PowerShell V4
-
Ejemplo 1: en este ejemplo se crea una nueva función de C# (tiempo de ejecución de dotnetcore1.0) denominada myFunction en 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 de Lambda C# especifican el controlador de la función mediante la designación AssemblyName::Namespace.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" }-
Para obtener información acerca de la API, consulte CreateFunction en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Publish-LMVersion.
- Herramientas para PowerShell V4
-
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"-
Para obtener detalles de la API, consulte PublishVersion en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMAlias.
- Herramientas para PowerShell V4
-
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"-
Para obtener información sobre la API, consulte DeleteAlias en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMFunction.
- Herramientas para PowerShell V4
-
Ejemplo 1: este ejemplo elimina una versión específica de una función de Lambda
Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'-
Para obtener información sobre la API, consulte DeleteFunction en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMFunctionConcurrency.
- Herramientas para PowerShell V4
-
Ejemplo 1: este ejemplo elimina la simultaneidad de funciones de la función de Lambda.
Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"-
Para obtener información sobre la API, consulte DeleteFunctionConcurrency en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMPermission.
- Herramientas para PowerShell V4
-
Ejemplo 1: este ejemplo elimina la política de función para el StatementID especificado de una función de Lambda.
$policy = Get-LMPolicy -FunctionName "MylambdaFunction123" -Select Policy | ConvertFrom-Json| Select-Object -ExpandProperty Statement Remove-LMPermission -FunctionName "MylambdaFunction123" -StatementId $policy[0].Sid-
Para obtener información sobre la API, consulte RemovePermission en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMProvisionedConcurrencyConfig.
- Herramientas para PowerShell V4
-
Ejemplo 1: en este ejemplo se elimina la configuración de simultaneidad aprovisionada para un alias específico.
Remove-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -Qualifier "NewAlias1"-
Para obtener información sobre la API, consulte DeleteProvisionedConcurrencyConfig en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-LMResourceTag.
- Herramientas para PowerShell V4
-
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"-
Para obtener información sobre la API, consulte UntagResource en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Update-LMAlias.
- Herramientas para PowerShell V4
-
Ejemplo 1: este ejemplo actualiza la configuración de un alias de función de Lambda existente. Actualiza el valor de RoutingConfiguration 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}-
Para obtener información sobre la API, consulte UpdateAlias en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Update-LMFunctionCode.
- Herramientas para PowerShell V4
-
Ejemplo 1: actualiza la función denominada “MyFunction” con contenido nuevo 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.zipEjemplo 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-
Para obtener información sobre la API, consulte UpdateFunctionCode en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Update-LMFunctionConfiguration.
- Herramientas para PowerShell V4
-
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-
Para obtener información sobre la API, consulte UpdateFunctionConfiguration en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Write-LMFunctionConcurrency.
- Herramientas para PowerShell V4
-
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-
Para obtener información sobre la API, consulte PutFunctionConcurrency en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Write-LMProvisionedConcurrencyConfig.
- Herramientas para PowerShell V4
-
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"-
Para obtener información sobre la API, consulte PutProvisionedConcurrencyConfig en la Referencia de Cmdlet de Herramientas de AWS para PowerShell (V4).
-