文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Tools for PowerShell 的 Lambda 範例
下列程式碼範例示範如何搭配 AWS Tools for PowerShell Lambda 使用 來執行動作和實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然 動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 Add-LMResourceTag
。
- for PowerShell 工具
-
範例 1:將三個標籤 (Washington、Oregon 和 California) 及其相關聯的值新增至其 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
。
- for 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
。
- for PowerShell 工具
-
範例 1:此範例會擷取特定 Lambda 函數別名的路由組態權重。
Get-LMAlias -FunctionName "MylambdaFunction123" -Name "newlabel1" -Select RoutingConfig
輸出:
AdditionalVersionWeights ------------------------ {[1, 0.6]}
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 GetAlias。
-
下列程式碼範例示範如何使用 Get-LMFunctionConcurrency
。
- for PowerShell 工具
-
範例 1:此範例會取得 Lambda 函數的預留並行
Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *
輸出:
ReservedConcurrentExecutions ---------------------------- 100
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 GetFunctionConcurrency。
-
下列程式碼範例示範如何使用 Get-LMFunctionConfiguration
。
- for 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
。
- for 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
。
- for 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
。
- for 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
。
- for PowerShell 工具
-
範例 1:此範例會擷取 Lambda 函數的佈建並行組態清單。
Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 ListProvisionedConcurrencyConfigs。
-
下列程式碼範例示範如何使用 Get-LMResourceTag
。
- for 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
。
- for 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
。
- for 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
。
- for PowerShell 工具
-
範例 1:此範例會建立新的 C# (dotnetcore1.0 執行期) 函數,命名為 AWS Lambda 中的 MyFunction ,提供從本機檔案系統上的 zip 檔案 (可使用相對或絕對路徑) 編譯的函數二進位。C# Lambda 函數會使用 designation 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
。
- for 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
。
- for PowerShell 工具
-
範例 1:此範例會刪除 命令中提到的 Lambda 函數別名。
Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 DeleteAlias。
-
下列程式碼範例示範如何使用 Remove-LMFunction
。
- for PowerShell 工具
-
範例 1:此範例會刪除 Lambda 函數的特定版本
Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 DeleteFunction。
-
下列程式碼範例示範如何使用 Remove-LMFunctionConcurrency
。
- for PowerShell 工具
-
範例 1:此範例會移除 Lambda 函數的函數並行。
Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 DeleteFunctionConcurrency。
-
下列程式碼範例示範如何使用 Remove-LMPermission
。
- for PowerShell 工具
-
範例 1:此範例會移除 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
。
- for PowerShell 工具
-
範例 1:此範例會移除特定別名的佈建並行組態。
Remove-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -Qualifier "NewAlias1"
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 DeleteProvisionedConcurrencyConfig。
-
下列程式碼範例示範如何使用 Remove-LMResourceTag
。
- for 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
。
- for 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
。
- for PowerShell 工具
-
範例 1:將名為 'MyFunction' 的函數更新為包含在指定 zip 檔案中的新內容。對於 C# .NET 壓縮檔案應包含編譯組件的核心 Lambda 函數。
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
。
- for 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
。
- for PowerShell 工具
-
範例 1:此範例會套用函數的整體並行設定。
Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 PutFunctionConcurrency。
-
下列程式碼範例示範如何使用 Write-LMProvisionedConcurrencyConfig
。
- for PowerShell 工具
-
範例 1:此範例會將佈建並行組態新增至函數的別名
Write-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -ProvisionedConcurrentExecution 20 -Qualifier "NewAlias1"
-
如需 API 詳細資訊,請參閱 AWS Tools for PowerShell Cmdlet 參考中的 PutProvisionedConcurrencyConfig。
-