Lambda-Beispiele unter Verwendung von Tools für PowerShell V5 - AWS-SDK-Codebeispiele

Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs verfügbar.

Lambda-Beispiele unter Verwendung von Tools für PowerShell V5

Das folgende Codebeispiel zeigt, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie AWS -Tools für PowerShell V5 mit Lambda nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Servicefunktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anweisungen zum Einrichten und Ausführen des Codes im Kodex finden.

Themen

Aktionen

Die folgenden Codebeispiele zeigen, wie Add-LMResourceTag verwendet wird.

Tools für PowerShell V5

Beispiel 1: Fügt die drei Tags (Washington, Oregon und Kalifornien) und ihre zugehörigen Werte zu der angegebenen Funktion hinzu, die durch ihre ARN identifiziert wird.

Add-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction" -Tag @{ "Washington" = "Olympia"; "Oregon" = "Salem"; "California" = "Sacramento" }
  • Weitere API-Informationen finden Sie unter TagResource in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Get-LMAccountSetting verwendet wird.

Tools für PowerShell V5

Beispiel 1: Dieses Beispiel wird angezeigt, um das Kontolimit und die Kontonutzung zu vergleichen

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

Ausgabe:

TotalCodeSizeLimit TotalCodeSizeUsed ------------------ ----------------- 80530636800 15078795
  • Weitere API-Informationen finden Sie unter GetAccountSettings in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Get-LMAlias verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel werden die Gewichtungen der Routing-Konfiguration für einen bestimmten Lambda-Funktionsalias abgerufen.

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

Ausgabe:

AdditionalVersionWeights ------------------------ {[1, 0.6]}
  • Weitere API-Informationen finden Sie unter GetAlias in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Get-LMFunctionConcurrency verwendet wird.

Tools für PowerShell V5

Beispiel 1: Dieses Beispiel ruft die reservierte Gleichzeitigkeit für die Lambda-Funktion ab

Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *

Ausgabe:

ReservedConcurrentExecutions ---------------------------- 100
  • Weitere API-Informationen finden Sie unter GetFunctionConcurrency in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Get-LMFunctionConfiguration verwendet wird.

Tools für PowerShell V5

Beispiel 1: Dieses Beispiel gibt die versionsspezifische Konfiguration einer Lambda-Funktion zurück.

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

Ausgabe:

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
  • Weitere API-Informationen finden Sie unter GetFunctionConfiguration in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Get-LMFunctionList verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel werden alle Lambda-Funktionen mit sortierter Codegröße angezeigt

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

Ausgabe:

FunctionName Runtime Timeout CodeSize ------------ ------- ------- -------- test python2.7 3 243 MylambdaFunction123 python3.8 600 659 myfuncpython1 python3.8 303 675
  • Weitere API-Informationen finden Sie unter ListFunctions in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Get-LMPolicy verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird die Funktionsrichtlinie der Lambda-Funktion angezeigt

Get-LMPolicy -FunctionName test -Select Policy

Ausgabe:

{"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"}]}
  • Weitere API-Informationen finden Sie unter GetPolicy in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Get-LMProvisionedConcurrencyConfig verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird die bereitgestellte Gleichzeitigkeitskonfiguration für den angegebenen Alias der Lambda-Funktion abgerufen.

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

Ausgabe:

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

Die folgenden Codebeispiele zeigen, wie Get-LMProvisionedConcurrencyConfigList verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird die Liste der bereitgestellten Gleichzeitigkeitskonfigurationen für eine Lambda-Funktion abgerufen.

Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"

Die folgenden Codebeispiele zeigen, wie Get-LMResourceTag verwendet wird.

Tools für PowerShell V5

Beispiel 1: Ruft die Tags und ihre Werte ab, die derzeit für die angegebene Funktion festgelegt sind.

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

Ausgabe:

Key Value --- ----- California Sacramento Oregon Salem Washington Olympia
  • Weitere API-Informationen finden Sie unter ListTags in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Get-LMVersionsByFunction verwendet wird.

Tools für PowerShell V5

Beispiel 1: Dieses Beispiel gibt die Liste der versionsspezifischen Konfigurationen für jede Version der Lambda-Funktion zurück.

Get-LMVersionsByFunction -FunctionName "MylambdaFunction123"

Ausgabe:

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
  • Weitere API-Informationen finden Sie unter ListVersionsByFunction in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie New-LMAlias verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird ein neuer Lambda-Alias für die angegebene Version und Routing-Konfiguration erstellt, um den Prozentsatz der Aufrufe für dieses System anzugeben.

New-LMAlias -FunctionName "MylambdaFunction123" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6} -Description "Alias for version 4" -FunctionVersion 4 -Name "PowershellAlias"
  • Weitere API-Informationen finden Sie unter CreateAlias in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Publish-LMFunction verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird eine neue C#-Funktion (dotnetcore1.0-Laufzeit) mit dem Namen MyFunction in AWS-Lambda erstellt, wobei die kompilierten Binärdateien für die Funktion aus einer Zip-Datei im lokalen Dateisystem bereitgestellt werden (relative oder absolute Pfade können verwendet werden). C# Lambda-Funktionen spezifizieren den Handler für die Funktion unter Verwendung der Bezeichnung AssemblyName::Namespace.ClassName::MethodName. Sie sollten die Teile Assembly-Name (ohne .dll-Suffix), Namespace, Klassenname und Methodenname der Handler-Spezifikation entsprechend ersetzen. Für die neue Funktion werden die Umgebungsvariablen 'envvar1' und 'envvar2' aus den bereitgestellten Werten eingerichtet.

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

Ausgabe:

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 :

Beispiel 2: Dieses Beispiel ähnelt dem vorherigen, mit dem Unterschied, dass die Funktions-Binärdateien zunächst in einen Amazon S3-Bucket hochgeladen werden (der sich in derselben Region befinden muss wie die vorgesehene Lambda-Funktion) und das resultierende S3-Objekt dann bei der Erstellung der Funktion referenziert wird.

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" }
  • Weitere API-Informationen finden Sie unter CreateFunction in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Publish-LMVersion verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird eine Version für den vorhandenen Snapshot von Lambda-Funktionscode erstellt

Publish-LMVersion -FunctionName "MylambdaFunction123" -Description "Publishing Existing Snapshot of function code as a new version through Powershell"
  • Weitere API-Informationen finden Sie unter PublishVersion in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Remove-LMAlias verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird die im Befehl erwähnte Lambda-Funktion Alias gelöscht.

Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"
  • Weitere API-Informationen finden Sie unter DeleteAlias in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Remove-LMFunction verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird eine bestimmte Version einer Lambda-Funktion gelöscht

Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'
  • Weitere API-Informationen finden Sie unter DeleteFunction in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Remove-LMFunctionConcurrency verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird die Funktionsgleichzeitigkeit der Lambda-Funktion aufgehoben.

Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"
  • Weitere API-Informationen finden Sie unter DeleteFunctionConcurrency in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Remove-LMPermission verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird die Funktionsrichtlinie für die angegebene StatementId einer Lambda-Funktion entfernt.

$policy = Get-LMPolicy -FunctionName "MylambdaFunction123" -Select Policy | ConvertFrom-Json| Select-Object -ExpandProperty Statement Remove-LMPermission -FunctionName "MylambdaFunction123" -StatementId $policy[0].Sid
  • Weitere API-Informationen finden Sie unter RemovePermission in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Remove-LMProvisionedConcurrencyConfig verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird die bereitgestellte Gleichzeitigkeitskonfiguration für einen bestimmten Alias entfernt.

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

Die folgenden Codebeispiele zeigen, wie Remove-LMResourceTag verwendet wird.

Tools für PowerShell V5

Beispiel 1: Entfernt die angegebenen Tags aus einer Funktion. Das Cmdlet fordert Sie zur Bestätigung auf, bevor der Vorgang fortgesetzt wird, sofern der Schalter -Force nicht angegeben ist. Es wird ein einziger Aufruf an den Dienst gesendet, um die Tags zu entfernen.

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

Beispiel 2: Entfernt die angegebenen Tags aus einer Funktion. Das Cmdlet fordert Sie zur Bestätigung auf, bevor der Vorgang fortgesetzt wird, sofern der Schalter -Force nicht angegeben ist. Sobald der Dienst pro bereitgestelltem Tag aufgerufen wurde.

"Washington","Oregon","California" | Remove-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"
  • Weitere API-Informationen finden Sie unter UntagResource in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Update-LMAlias verwendet wird.

Tools für PowerShell V5

Beispiel 1: Dieses Beispiel aktualisiert die Konfiguration einer vorhandenen Lambda-Funktion-Alias. Es aktualisiert den RoutingConfiguration-Wert, sodass 60 % (0,6) des Datenverkehrs auf Version 1 umgestellt werden

Update-LMAlias -FunctionName "MylambdaFunction123" -Description " Alias for version 2" -FunctionVersion 2 -Name "newlabel1" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6}
  • Weitere API-Informationen finden Sie unter UpdateAlias in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Update-LMFunctionCode verwendet wird.

Tools für PowerShell V5

Beispiel 1: Aktualisiert die Funktion mit dem Namen 'MyFunction' mit dem neuen Inhalt, der in der angegebenen Zip-Datei enthalten ist. Für eine C#.NET-Core-Lambda-Funktion sollte die ZIP-Datei die kompilierte Assembly enthalten.

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

Beispiel 2: Dieses Beispiel ähnelt dem vorherigen, verwendet aber ein Amazon S3-Objekt, das den aktualisierten Code enthält, um die Funktion zu aktualisieren.

Update-LMFunctionCode -FunctionName MyFunction -BucketName amzn-s3-demo-bucket -Key UpdatedCode.zip
  • Weitere API-Informationen finden Sie unter UpdateFunctionCode in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Update-LMFunctionConfiguration verwendet wird.

Tools für PowerShell V5

Beispiel 1: Dieses Beispiel aktualisiert die vorhandene Lambda-Funktionskonfiguration

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

Die folgenden Codebeispiele zeigen, wie Write-LMFunctionConcurrency verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel werden die Gleichzeitigkeitseinstellungen für die Funktion als Ganzes angewendet.

Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100
  • Weitere API-Informationen finden Sie unter PutFunctionConcurrency in der AWS -Tools für PowerShell-Cmdlet-Referenz (V5).

Die folgenden Codebeispiele zeigen, wie Write-LMProvisionedConcurrencyConfig verwendet wird.

Tools für PowerShell V5

Beispiel 1: In diesem Beispiel wird dem Alias einer Funktion eine bereitgestellte Gleichzeitigkeitskonfiguration hinzugefügt

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