Esempi per Lambda con Strumenti per PowerShell V4 - Esempi di codice per SDK AWS

Sono disponibili altri esempi per SDK AWS nel repository GitHub della documentazione degli esempi per SDK AWS.

Esempi per Lambda con Strumenti per PowerShell V4

Gli esempi di codice seguenti mostrano come eseguire operazioni e implementare scenari comuni utilizzando AWS Strumenti per PowerShell V4 con Lambda.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

L’esempio di codice seguente mostra come utilizzare Add-LMResourceTag.

Strumenti per PowerShell V4

Esempio 1: aggiunge i tre tag (Washington, Oregon e California) e i relativi valori associati alla funzione specificata identificata dal relativo ARN.

Add-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction" -Tag @{ "Washington" = "Olympia"; "Oregon" = "Salem"; "California" = "Sacramento" }
  • Per informazioni dettagliate sull’API, consulta TagResource nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMAccountSetting.

Strumenti per PowerShell V4

Esempio 1: questo esempio viene visualizzato per confrontare il limite dell’account e l’utilizzo dell’account

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

Output:

TotalCodeSizeLimit TotalCodeSizeUsed ------------------ ----------------- 80530636800 15078795
  • Per informazioni dettagliate sull’API, consulta GetAccountSettings nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMAlias.

Strumenti per PowerShell V4

Esempio 1: questo esempio recupera i pesi di configurazione del routing per uno specifico alias della funzione Lambda.

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

Output:

AdditionalVersionWeights ------------------------ {[1, 0.6]}
  • Per informazioni dettagliate sull’API, consulta GetAlias nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMFunctionConcurrency.

Strumenti per PowerShell V4

Esempio 1: questo esempio ottiene la simultaneità riservata per la funzione Lambda

Get-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -Select *

Output:

ReservedConcurrentExecutions ---------------------------- 100
  • Per informazioni dettagliate sull’API, consulta GetFunctionConcurrency nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMFunctionConfiguration.

Strumenti per PowerShell V4

Esempio 1: questo esempio recupera la configurazione specifica della versione di una funzione Lambda.

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

Output:

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
  • Per informazioni dettagliate sull’API, consulta GetFunctionConfiguration nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMFunctionList.

Strumenti per PowerShell V4

Esempio 1: questo esempio mostra tutte le funzioni Lambda con dimensioni di codice ordinate

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

Output:

FunctionName Runtime Timeout CodeSize ------------ ------- ------- -------- test python2.7 3 243 MylambdaFunction123 python3.8 600 659 myfuncpython1 python3.8 303 675
  • Per informazioni dettagliate sull’API, consulta ListFunctions nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMPolicy.

Strumenti per PowerShell V4

Esempio 1: questo esempio mostra la policy delle funzioni della funzione Lambda

Get-LMPolicy -FunctionName test -Select Policy

Output:

{"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"}]}
  • Per informazioni dettagliate sull’API, consulta GetPolicy nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMProvisionedConcurrencyConfig.

Strumenti per PowerShell V4

Esempio 1: questo esempio ottiene la configurazione di simultaneità fornita per l’alias specificato della funzione Lambda.

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

Output:

AllocatedProvisionedConcurrentExecutions : 0 AvailableProvisionedConcurrentExecutions : 0 LastModified : 2020-01-15T03:21:26+0000 RequestedProvisionedConcurrentExecutions : 70 Status : IN_PROGRESS StatusReason :
  • Per informazioni dettagliate sull’API, consulta GetProvisionedConcurrencyConfig nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMProvisionedConcurrencyConfigList.

Strumenti per PowerShell V4

Esempio 1: questo esempio recupera l’elenco di configurazioni di simultaneità fornita per una funzione Lambda.

Get-LMProvisionedConcurrencyConfigList -FunctionName "MylambdaFunction123"
  • Per informazioni dettagliate sull’API, consulta ListProvisionedConcurrencyConfigs nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMResourceTag.

Strumenti per PowerShell V4

Esempio 1: recupera i tag e i relativi valori attualmente impostati sulla funzione specificata.

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

Output:

Key Value --- ----- California Sacramento Oregon Salem Washington Olympia
  • Per informazioni dettagliate sull’API, consulta ListTags nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Get-LMVersionsByFunction.

Strumenti per PowerShell V4

Esempio 1: questo esempio restituisce l’elenco di configurazioni specifiche della versione per ogni versione della funzione Lambda.

Get-LMVersionsByFunction -FunctionName "MylambdaFunction123"

Output:

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
  • Per informazioni dettagliate sull’API, consulta ListVersionsByFunction nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare New-LMAlias.

Strumenti per PowerShell V4

Esempio 1: questo esempio crea un nuovo alias Lambda per la versione e la configurazione di routing specificate per specificare la percentuale di richieste di invocazione ricevute.

New-LMAlias -FunctionName "MylambdaFunction123" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6} -Description "Alias for version 4" -FunctionVersion 4 -Name "PowershellAlias"
  • Per informazioni dettagliate sull’API, consulta CreateAlias nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Publish-LMFunction.

Strumenti per PowerShell V4

Esempio 1: questo esempio crea una nuova funzione C# (runtime dotnetcore1.0) denominata MyFunction in AWS Lambda, che fornisce i file binari compilati per la funzione da un file zip sul file system locale (è possibile utilizzare percorsi relativi o assoluti). Le funzioni Lambda C# specificano l’handler per la funzione utilizzando la designazione AssemblyName::Namespace.ClassName::MethodName. È necessario sostituire in modo appropriato le parti relative al nome dell’assembly (senza il suffisso .dll), allo spazio dei nomi, al nome della classe e al nome del metodo delle specifiche dell’handler. La nuova funzione avrà le variabili di ambiente ’envvar1’ e ’envvar2’ impostate in base ai valori forniti.

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

Output:

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 :

Esempio 2: questo esempio è simile a quello precedente, tranne per il fatto che i binari delle funzioni vengono prima caricati in un bucket Amazon S3 (che deve trovarsi nella stessa regione della funzione Lambda prevista) e l’oggetto S3 risultante viene quindi referenziato durante la creazione della funzione.

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" }
  • Per informazioni dettagliate sull’API, consulta CreateFunction nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Publish-LMVersion.

Strumenti per PowerShell V4

Esempio 1: questo esempio crea una versione per lo snapshot esistente del codice funzione Lambda

Publish-LMVersion -FunctionName "MylambdaFunction123" -Description "Publishing Existing Snapshot of function code as a new version through Powershell"
  • Per informazioni dettagliate sull’API, consulta PublishVersion nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Remove-LMAlias.

Strumenti per PowerShell V4

Esempio 1: questo esempio elimina l’alias della funzione Lambda menzionato nel comando.

Remove-LMAlias -FunctionName "MylambdaFunction123" -Name "NewAlias"
  • Per informazioni dettagliate sull’API, consulta DeleteAlias nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Remove-LMFunction.

Strumenti per PowerShell V4

Esempio 1: questo esempio elimina una versione specifica di una funzione Lambda

Remove-LMFunction -FunctionName "MylambdaFunction123" -Qualifier '3'
  • Per informazioni dettagliate sull’API, consulta DeleteFunction nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Remove-LMFunctionConcurrency.

Strumenti per PowerShell V4

Esempio 1: questo esempio rimuove la simultaneità della funzione dalla funzione Lambda.

Remove-LMFunctionConcurrency -FunctionName "MylambdaFunction123"
  • Per informazioni dettagliate sull’API, consulta DeleteFunctionConcurrency nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Remove-LMPermission.

Strumenti per PowerShell V4

Esempio 1: questo esempio rimuove la policy della funzione per lo StatementID specificato di una funzione Lambda.

$policy = Get-LMPolicy -FunctionName "MylambdaFunction123" -Select Policy | ConvertFrom-Json| Select-Object -ExpandProperty Statement Remove-LMPermission -FunctionName "MylambdaFunction123" -StatementId $policy[0].Sid
  • Per informazioni dettagliate sull’API, consulta RemovePermission nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Remove-LMProvisionedConcurrencyConfig.

Strumenti per PowerShell V4

Esempio 1: questo esempio rimuove la configurazione della simultaneità fornita per un alias specifico.

Remove-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -Qualifier "NewAlias1"
  • Per informazioni dettagliate sull’API, consulta DeleteProvisionedConcurrencyConfig nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Remove-LMResourceTag.

Strumenti per PowerShell V4

Esempio 1: rimuove i tag forniti da una funzione. Il cmdlet richiederà una conferma prima di procedere, a meno che non venga specificato lo switch -Force. Viene effettuata una sola chiamata al servizio per rimuovere i tag.

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

Esempio 2: rimuove i tag forniti da una funzione. Il cmdlet richiederà una conferma prima di procedere, a meno che non venga specificato lo switch -Force. Una volta effettuata la chiamata al servizio per tag fornito.

"Washington","Oregon","California" | Remove-LMResourceTag -Resource "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"
  • Per informazioni dettagliate sull’API, consulta UntagResource nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Update-LMAlias.

Strumenti per PowerShell V4

Esempio 1: questo esempio aggiorna la configurazione di un alias di funzione Lambda esistente. Aggiorna il valore RoutingConfiguration per spostare il 60% (0,6) del traffico alla versione 1

Update-LMAlias -FunctionName "MylambdaFunction123" -Description " Alias for version 2" -FunctionVersion 2 -Name "newlabel1" -RoutingConfig_AdditionalVersionWeight @{Name="1";Value="0.6}
  • Per informazioni dettagliate sull’API, consulta UpdateAlias nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Update-LMFunctionCode.

Strumenti per PowerShell V4

Esempio 1: aggiorna la funzione denominata ‘MyFunction’ con nuovi contenuti nel file zip specificato. Per una funzione Lambda C# .NET Core, il file zip deve contenere l’assembly compilato.

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

Esempio 2: questo esempio è simile a quello precedente ma utilizza un oggetto Amazon S3 contenente il codice aggiornato per aggiornare la funzione.

Update-LMFunctionCode -FunctionName MyFunction -BucketName amzn-s3-demo-bucket -Key UpdatedCode.zip
  • Per informazioni dettagliate sull’API, consulta UpdateFunctionCode nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Update-LMFunctionConfiguration.

Strumenti per PowerShell V4

Esempio 1: questo esempio aggiorna la configurazione della funzione Lambda esistente

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
  • Per informazioni dettagliate sull’API, consulta UpdateFunctionConfiguration nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Write-LMFunctionConcurrency.

Strumenti per PowerShell V4

Esempio 1: questo esempio applica le impostazioni di simultaneità per l’intera funzione.

Write-LMFunctionConcurrency -FunctionName "MylambdaFunction123" -ReservedConcurrentExecution 100
  • Per informazioni dettagliate sull’API, consulta PutFunctionConcurrency nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).

L’esempio di codice seguente mostra come utilizzare Write-LMProvisionedConcurrencyConfig.

Strumenti per PowerShell V4

Esempio 1: questo esempio aggiunge una configurazione di simultaneità fornita all’alias di una funzione

Write-LMProvisionedConcurrencyConfig -FunctionName "MylambdaFunction123" -ProvisionedConcurrentExecution 20 -Qualifier "NewAlias1"
  • Per informazioni dettagliate sull’API, consulta PutProvisionedConcurrencyConfig nella documentazione di riferimento dei cmdlet di AWS Strumenti per PowerShell (V4).