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
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetFunctionConcurrency中的。
-
以下代码示例演示如何使用 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
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetFunctionConfiguration中的。
-
以下代码示例演示如何使用 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 :
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetProvisionedConcurrencyConfig中的。
-
以下代码示例演示如何使用 Get-LMProvisionedConcurrencyConfigList
。
- 用于 PowerShell
-
示例 1:本示例检索了 Lambda 函数的预置并发配置列表。
Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListProvisionedConcurrencyConfigs中的。
-
以下代码示例演示如何使用 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
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListVersionsByFunction中的。
-
以下代码示例演示如何使用 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"
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteFunctionConcurrency中的。
-
以下代码示例演示如何使用 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"
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteProvisionedConcurrencyConfig中的。
-
以下代码示例演示如何使用 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
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateFunctionConfiguration中的。
-
以下代码示例演示如何使用 Write-LMFunctionConcurrency
。
- 用于 PowerShell
-
示例 1:本示例将函数的并发设置作为一个整体应用。
Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考PutFunctionConcurrency中的。
-
以下代码示例演示如何使用 Write-LMProvisionedConcurrencyConfig
。
- 用于 PowerShell
-
示例 1:本示例将预置并发配置添加到了函数的别名
Write-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -ProvisionedConcurrentExecution 20 -Qualifier "NewAlias1"
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考PutProvisionedConcurrencyConfig中的。
-