使用以下工具的 Lambda 示例 PowerShell - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用以下工具的 Lambda 示例 PowerShell

以下代码示例向您展示了如何使用 with Lambda 来执行操作和实现常见场景。 AWS Tools for PowerShell

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 Add-LMResourceTag

用于 PowerShell

示例 1:将三个标签(华盛顿州、俄勒冈州和加利福尼亚州)及其关联值添加到由其标识的指定函数中ARN。

Add-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction" -Tag @{ "Washington" = "Olympia"; "Oregon" = "Salem"; "California" = "Sacramento" }
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考TagResource中的。

以下代码示例演示如何使用 Get-LMAccountSetting

用于 PowerShell

示例 1:本示例是为了比较账户限制与账户使用情况

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

输出:

TotalCodeSizeLimit TotalCodeSizeUsed ------------------ ----------------- 80530636800 15078795
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetAccountSettings中的。

以下代码示例演示如何使用 Get-LMAlias

用于 PowerShell

示例 1:本示例检索了特定 Lambda 函数别名的路由配置权重。

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

输出:

AdditionalVersionWeights ------------------------ {[1, 0.6]}
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetAlias中的。

以下代码示例演示如何使用 Get-LMFunctionConcurrency

用于 PowerShell

示例 1:本示例获取了 Lambda 函数的预留并发

Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *

输出:

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

以下代码示例演示如何使用 Get-LMFunctionConfiguration

用于 PowerShell

示例 1:本示例返回了 Lambda 函数的版本特定配置。

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

输出:

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

以下代码示例演示如何使用 Get-LMFunctionList

用于 PowerShell

示例 1:本示例展示了代码大小已排序的所有 Lambda 函数

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

输出:

FunctionName Runtime Timeout CodeSize ------------ ------- ------- -------- test python2.7 3 243 MylambdaFunction123 python3.8 600 659 myfuncpython1 python3.8 303 675
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListFunctions中的。

以下代码示例演示如何使用 Get-LMPolicy

用于 PowerShell

示例 1:本示例展示了 Lambda 函数的函数策略

Get-LMPolicy -FunctionName test -Select Policy

输出:

{"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"}]}
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetPolicy中的。

以下代码示例演示如何使用 Get-LMProvisionedConcurrencyConfig

用于 PowerShell

示例 1:本示例获取了 Lambda 函数指定别名的预置并发配置。

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

输出:

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

以下代码示例演示如何使用 Get-LMProvisionedConcurrencyConfigList

用于 PowerShell

示例 1:本示例检索了 Lambda 函数的预置并发配置列表。

Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"

以下代码示例演示如何使用 Get-LMResourceTag

用于 PowerShell

示例 1:本示例检索了当前在指定函数上设置的标签及其值。

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

输出:

Key Value --- ----- California Sacramento Oregon Salem Washington Olympia
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListTags中的。

以下代码示例演示如何使用 Get-LMVersionsByFunction

用于 PowerShell

示例 1:本示例返回了 Lambda 函数各个版本的版本特定配置列表。

Get-LMVersionsByFunction -FunctionName "MylambdaFunction123"

输出:

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

以下代码示例演示如何使用 New-LMAlias

用于 PowerShell

示例 1:本示例为指定版本和路由配置创建了新的 Lambda 别名,可指定相应版本收到的调用请求的百分比。

New-LMAlias -FunctionName "MylambdaFunction123" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6} -Description "Alias for version 4" -FunctionVersion 4 -Name "PowershellAlias"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateAlias中的。

以下代码示例演示如何使用 Publish-LMFunction

用于 PowerShell

示例 1:此示例创建了一个以 MyFunction Lambda 命名的新 C#(d AWS otnetcore1.0 运行时)函数,从本地文件系统上的 zip 文件中为该函数提供编译后的二进制文件(可以使用相对路径或绝对路径)。C# Lambda 函数使用名称 AssemblyName:: Namespace 来指定函数的处理程序。 ClassName:: MethodName。您应适当地替换处理程序规范中的程序集名称(不带 .dll 后缀)、命名空间、类名和方法名等部分。新函数将根据提供的值设置环境变量“envvar1”和“envvar2”。

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

输出:

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 :

示例 2:本示例与前例类似,但要先将函数二进制文件上传到 Amazon S3 存储桶(该存储桶必须与预期的 Lambda 函数位于同一区域),然后在创建函数时引用生成的 S3 对象。

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" }
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateFunction中的。

以下代码示例演示如何使用 Publish-LMVersion

用于 PowerShell

示例 1:本示例创建了 Lambda 函数代码的现有快照版本

Publish-LMVersion -FunctionName "MylambdaFunction123" -Description "Publishing Existing Snapshot of function code as a new version through Powershell"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考PublishVersion中的。

以下代码示例演示如何使用 Remove-LMAlias

用于 PowerShell

示例 1:本示例删除了命令中提到的 Lambda 函数别名。

Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteAlias中的。

以下代码示例演示如何使用 Remove-LMFunction

用于 PowerShell

示例 1:本示例删除了特定版本的 Lambda 函数

Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteFunction中的。

以下代码示例演示如何使用 Remove-LMFunctionConcurrency

用于 PowerShell

示例 1:本示例删除了 Lambda 函数的函数并发。

Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"

以下代码示例演示如何使用 Remove-LMPermission

用于 PowerShell

示例 1:此示例删除了 Lambda 函数中指定的 Lambda 函数 StatementId 的函数策略。

$policy = Get-LMPolicy -FunctionName "MylambdaFunction123" -Select Policy | ConvertFrom-Json| Select-Object -ExpandProperty Statement Remove-LMPermission -FunctionName "MylambdaFunction123" -StatementId $policy[0].Sid
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考RemovePermission中的。

以下代码示例演示如何使用 Remove-LMProvisionedConcurrencyConfig

用于 PowerShell

示例 1:本示例删除了特定别名的预置并发配置。

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

以下代码示例演示如何使用 Remove-LMResourceTag

用于 PowerShell

示例 1:本示例从函数中删除了提供的标签。除非指定了 -Force 开关,否则在继续操作之前,cmdlet 会提示您进行确认。调用服务一次,即可删除标签。

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

示例 2:本示例从函数中删除了提供的标签。除非指定了 -Force 开关,否则在继续操作之前,cmdlet 会提示您进行确认。根据提供的标签调用了一次服务。

"Washington","Oregon","California" | Remove-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UntagResource中的。

以下代码示例演示如何使用 Update-LMAlias

用于 PowerShell

示例 1:本示例更新了现有 Lambda 函数别名的配置。它将该 RoutingConfiguration 值更新为将 60% (0.6) 的流量转移到版本 1

Update-LMAlias -FunctionName "MylambdaFunction123" -Description " Alias for version 2" -FunctionVersion 2 -Name "newlabel1" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6}
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateAlias中的。

以下代码示例演示如何使用 Update-LMFunctionCode

用于 PowerShell

示例 1:使用指定 zip 文件中包含的新内容更新名为 MyFunction “” 的函数。对于 C# 来说。 NET核心 Lambda 函数 zip 文件应包含已编译的程序集。

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

示例 2:本示例与前例类似,但使用包含了已更新代码的 Amazon S3 对象来更新函数。

Update-LMFunctionCode -FunctionName MyFunction -BucketName amzn-s3-demo-bucket -Key UpdatedCode.zip
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateFunctionCode中的。

以下代码示例演示如何使用 Update-LMFunctionConfiguration

用于 PowerShell

示例 1:本示例更新了现有 Lambda 函数配置

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

以下代码示例演示如何使用 Write-LMFunctionConcurrency

用于 PowerShell

示例 1:本示例将函数的并发设置作为一个整体应用。

Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100

以下代码示例演示如何使用 Write-LMProvisionedConcurrencyConfig

用于 PowerShell

示例 1:本示例将预置并发配置添加到了函数的别名

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