Tools for を使用した Lambda の例 PowerShell - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Tools for を使用した Lambda の例 PowerShell

次のコード例は、Lambda AWS Tools for PowerShell で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、関連するシナリオやサービス間の例ではアクションのコンテキストが確認できます。

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。このリンクには GitHub、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、Add-LMResourceTag を使用する方法を説明しています。

のツール PowerShell

例 1: 3 つのタグ (Washington、Oregon、California) およびそれぞれに関連付けされた値を、ARN で識別される指定の関数に追加します。

Add-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction" -Tag @{ "Washington" = "Olympia"; "Oregon" = "Salem"; "California" = "Sacramento" }
  • API の詳細については、「 コマンドレットリファレンスTagResource」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Get-LMAccountSetting を使用する方法を説明しています。

のツール PowerShell

例 1: このサンプルは、アカウント制限およびアカウント使用量を比較するために表示されます。

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

出力:

TotalCodeSizeLimit TotalCodeSizeUsed ------------------ ----------------- 80530636800 15078795
  • API の詳細については、「 コマンドレットリファレンスGetAccountSettings」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Get-LMAlias を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、特定の Lambda 関数エイリアスのルーティング設定の重点を取得します。

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

出力:

AdditionalVersionWeights ------------------------ {[1, 0.6]}
  • API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンスGetAlias」の「」を参照してください。

次の例は、Get-LMFunctionConcurrency を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、Lambda 関数の予約済み同時実行数が取得されます

Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *

出力:

ReservedConcurrentExecutions ---------------------------- 100
  • API の詳細については、「 コマンドレットリファレンスGetFunctionConcurrency」の「」を参照してください。 AWS Tools for PowerShell

次の例は、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 の詳細については、「 コマンドレットリファレンスGetFunctionConfiguration」の「」を参照してください。 AWS Tools for PowerShell

次の例は、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 の詳細については、「 コマンドレットリファレンスListFunctions」の「」を参照してください。 AWS Tools for PowerShell

次の例は、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 「 コマンドレットリファレンス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 「 コマンドレットリファレンスGetProvisionedConcurrencyConfig」の「」を参照してください。

次の例は、Get-LMProvisionedConcurrencyConfigList を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、Lambda 関数にプロビジョニングされた同時実行設定のリストを取得します。

Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"
  • API の詳細については、「 コマンドレットリファレンスListProvisionedConcurrencyConfigs」の「」を参照してください。 AWS Tools for PowerShell

次の例は、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 「 コマンドレットリファレンス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 の詳細については、「 コマンドレットリファレンスListVersionsByFunction」の「」を参照してください。 AWS Tools for PowerShell

次の例は、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 の詳細については、「 コマンドレットリファレンスCreateAlias」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Publish-LMFunction を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、 AWS Lambda MyFunction で という名前の新しい C# (dotnetcore1.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 mybucket -Key MyFunctionBinaries.zip -File .\MyFunctionBinaries.zip Publish-LMFunction -Description "My C# Lambda Function" ` -FunctionName MyFunction ` -BucketName mybucket ` -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 「 コマンドレットリファレンスCreateFunction」の「」を参照してください。

次の例は、Publish-LMVersion を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、Lambda 関数コードの既存のスナップショットのバージョンを作成します

Publish-LMVersion -FunctionName "MylambdaFunction123" -Description "Publishing Existing Snapshot of function code as a new version through Powershell"
  • API の詳細については、「 コマンドレットリファレンスPublishVersion」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Remove-LMAlias を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、コマンドに記述された Lambda 関数のエイリアスを削除します。

Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"
  • API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンスDeleteAlias」の「」を参照してください。

次の例は、Remove-LMFunction を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、Lambda 関数の特定のバージョンを削除します。

Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'
  • API の詳細については、「 コマンドレットリファレンスDeleteFunction」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Remove-LMFunctionConcurrency を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、Lambda 関数の関数同時実行数を削除します。

Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"
  • API の詳細については、「 コマンドレットリファレンスDeleteFunctionConcurrency」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Remove-LMPermission を使用する方法を説明しています。

のツール 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 「 コマンドレットリファレンスRemovePermission」の「」を参照してください。

次の例は、Remove-LMProvisionedConcurrencyConfig を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、特定のエイリアスのプロビジョニングされた同時実行設定を削除します。

Remove-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -Qualifier "NewAlias1"
  • API の詳細については、「 コマンドレットリファレンスDeleteProvisionedConcurrencyConfig」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Remove-LMResourceTag を使用する方法を説明しています。

のツール PowerShell

例 1: 提供されたタグを関数から削除します。-Force スイッチが指定されていない限り、cmdlet は続行する前に確認を求めます。タグを削除するため、サービスが 1 回呼び出されます。

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

例 2: 提供されたタグを関数から削除します。-Force スイッチが指定されていない限り、cmdlet は続行する前に確認を求めます。提供されたタグにつき、サービスに 1 回呼び出しが行われます。

"Washington","Oregon","California" | Remove-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"
  • API の詳細については、「 コマンドレットリファレンスUntagResource」の「」を参照してください。 AWS Tools for PowerShell

次の例は、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 の詳細については、「 コマンドレットリファレンスUpdateAlias」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Update-LMFunctionCode を使用する方法を説明しています。

のツール PowerShell

例 1: MyFunction「」という名前の関数を、指定された zip ファイルに含まれる新しいコンテンツで更新します。C# .NET Core Lambda 関数には、zip ファイルはコンパイルされたアセンブリが含まれている必要があります。

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

例 2: この例は前の例と似ていますが、更新されたコードを含む Amazon S3 オブジェクトを使用して関数を更新します。

Update-LMFunctionCode -FunctionName MyFunction -BucketName mybucket -Key UpdatedCode.zip
  • API の詳細については、「 コマンドレットリファレンスUpdateFunctionCode」の「」を参照してください。 AWS Tools for PowerShell

次の例は、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 の詳細については、「 コマンドレットリファレンスUpdateFunctionConfiguration」の「」を参照してください。 AWS Tools for PowerShell

次の例は、Write-LMFunctionConcurrency を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、関数全体の同時実行設定を適用します。

Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100
  • API の詳細については、AWS Tools for PowerShell 「 コマンドレットリファレンスPutFunctionConcurrency」の「」を参照してください。

次の例は、Write-LMProvisionedConcurrencyConfig を使用する方法を説明しています。

のツール PowerShell

例 1: この例では、プロビジョニングされた同時実行設定を関数のエイリアスに追加します。

Write-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -ProvisionedConcurrentExecution 20 -Qualifier "NewAlias1"
  • API の詳細については、「 コマンドレットリファレンスPutProvisionedConcurrencyConfig」の「」を参照してください。 AWS Tools for PowerShell