Lambda-Beispiele mit Tools für PowerShell - AWS SDKCode-Beispiele

Weitere AWS SDK Beispiele sind im Repo AWS Doc SDK Examples GitHub verfügbar.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Lambda-Beispiele mit Tools für PowerShell

Die folgenden Codebeispiele zeigen Ihnen, wie Sie AWS Tools for PowerShell mit Lambda Aktionen ausführen und allgemeine Szenarien implementieren.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen in den zugehörigen Szenarien im Kontext sehen.

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

Themen

Aktionen

Das folgende Codebeispiel zeigt die VerwendungAdd-LMResourceTag.

Tools für PowerShell

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

Add-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction" -Tag @{ "Washington" = "Olympia"; "Oregon" = "Salem"; "California" = "Sacramento" }

Das folgende Codebeispiel zeigt die Verwendung. Get-LMAccountSetting

Tools für PowerShell

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

Das folgende Codebeispiel zeigt die Verwendung. Get-LMAlias

Tools für PowerShell

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

Das folgende Codebeispiel zeigt die Verwendung. Get-LMFunctionConcurrency

Tools für PowerShell

Beispiel 1: In diesem Beispiel wird die reservierte Parallelität für die Lambda-Funktion abgerufen

Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *

Ausgabe:

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

Das folgende Codebeispiel zeigt die Verwendung. Get-LMFunctionConfiguration

Tools für PowerShell

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

Das folgende Codebeispiel zeigt die Verwendung. Get-LMFunctionList

Tools für PowerShell

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

Das folgende Codebeispiel zeigt die Verwendung. Get-LMPolicy

Tools für PowerShell

Beispiel 1: In diesem Beispiel wird die Function-Richtlinie 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"}]}

Das folgende Codebeispiel zeigt die Verwendung. Get-LMProvisionedConcurrencyConfig

Tools für PowerShell

Beispiel 1: In diesem Beispiel wird die bereitgestellte Parallelitätskonfiguration 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 :

Das folgende Codebeispiel zeigt die Verwendung. Get-LMProvisionedConcurrencyConfigList

Tools für PowerShell

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

Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"

Das folgende Codebeispiel zeigt die Verwendung. Get-LMResourceTag

Tools für PowerShell

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

Das folgende Codebeispiel zeigt die Verwendung. Get-LMVersionsByFunction

Tools für PowerShell

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

Das folgende Codebeispiel zeigt die Verwendung. New-LMAlias

Tools für PowerShell

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

New-LMAlias -FunctionName "MylambdaFunction123" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6} -Description "Alias for version 4" -FunctionVersion 4 -Name "PowershellAlias"

Das folgende Codebeispiel zeigt die Verwendung. Publish-LMFunction

Tools für PowerShell

Beispiel 1: In diesem Beispiel wird eine neue C#-Funktion (dotnetcore1.0 Runtime) mit dem Namen AWS Lambda erstellt, die die kompilierten Binärdateien für die Funktion aus einer ZIP-Datei MyFunction im lokalen Dateisystem bereitstellt (relative oder absolute Pfade können verwendet werden). C#-Lambda-Funktionen spezifizieren den Handler für die Funktion mit der Bezeichnung AssemblyName: :Namespace. ClassName::. MethodName Sie sollten den Assemblynamen (ohne DLL-Suffix), den Namespace, den Klassennamen und den Methodennamen 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, außer dass die Funktionsbinärdateien zuerst in einen Amazon S3 S3-Bucket hochgeladen werden (der sich in derselben Region wie die beabsichtigte Lambda-Funktion befinden muss) und das resultierende S3-Objekt dann beim Erstellen 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" }

Das folgende Codebeispiel zeigt die Verwendung. Publish-LMVersion

Tools für PowerShell

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

Publish-LMVersion -FunctionName "MylambdaFunction123" -Description "Publishing Existing Snapshot of function code as a new version through Powershell"

Das folgende Codebeispiel zeigt die Verwendung. Remove-LMAlias

Tools für PowerShell

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

Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"

Das folgende Codebeispiel zeigt die Verwendung. Remove-LMFunction

Tools für PowerShell

Beispiel 1: Dieses Beispiel löscht eine bestimmte Version einer Lambda-Funktion

Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'

Das folgende Codebeispiel zeigt die Verwendung. Remove-LMFunctionConcurrency

Tools für PowerShell

Beispiel 1: In diesem Beispiel wird die Function Concurrency der Lambda-Funktion entfernt.

Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"

Das folgende Codebeispiel zeigt die Verwendung. Remove-LMPermission

Tools für PowerShell

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

$policy = Get-LMPolicy -FunctionName "MylambdaFunction123" -Select Policy | ConvertFrom-Json| Select-Object -ExpandProperty Statement Remove-LMPermission -FunctionName "MylambdaFunction123" -StatementId $policy[0].Sid

Das folgende Codebeispiel zeigt die Verwendung. Remove-LMProvisionedConcurrencyConfig

Tools für PowerShell

Beispiel 1: In diesem Beispiel wird die Provisioned Concurrency Configuration für einen bestimmten Alias entfernt.

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

Das folgende Codebeispiel zeigt die Verwendung. Remove-LMResourceTag

Tools für PowerShell

Beispiel 1: Entfernt die bereitgestellten 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 bereitgestellten 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"

Das folgende Codebeispiel zeigt die Verwendung. Update-LMAlias

Tools für PowerShell

Beispiel 1: Dieses Beispiel aktualisiert die Konfiguration einer vorhandenen Lambda-Funktion Alias. Der RoutingConfiguration Wert wird aktualisiert, 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}

Das folgende Codebeispiel zeigt die Verwendung. Update-LMFunctionCode

Tools für PowerShell

Beispiel 1: Aktualisiert die Funktion mit dem Namen 'MyFunction' mit neuem Inhalt, der in der angegebenen ZIP-Datei enthalten ist. Für ein C#. NETKernfunktion von Lambda: Die Zip-Datei sollte die kompilierte Assembly enthalten.

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

Beispiel 2: Dieses Beispiel ähnelt dem vorherigen, verwendet jedoch ein Amazon S3 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

Das folgende Codebeispiel zeigt die Verwendung. Update-LMFunctionConfiguration

Tools für PowerShell

Beispiel 1: Dieses Beispiel aktualisiert die bestehende 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

Das folgende Codebeispiel zeigt die Verwendung. Write-LMFunctionConcurrency

Tools für PowerShell

Beispiel 1: In diesem Beispiel werden die Parallelitätseinstellungen für die gesamte Funktion angewendet.

Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100

Das folgende Codebeispiel zeigt die Verwendung. Write-LMProvisionedConcurrencyConfig

Tools für PowerShell

Beispiel 1: In diesem Beispiel wird dem Alias einer Funktion eine bereitgestellte Parallelitätskonfiguration hinzugefügt

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