

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creazione di funzioni Lambda con PowerShell
<a name="lambda-powershell"></a>

Le sezioni seguenti spiegano come si applicano i modelli di programmazione e i concetti fondamentali comuni quando si crea codice di funzione Lambda. PowerShell

Lambda fornisce le seguenti applicazioni di esempio per: PowerShell
+ [blank-powershell](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/blank-powershell) — Una PowerShell funzione che mostra l'uso della registrazione, delle variabili di ambiente e dell'SDK. AWS 

Prima di iniziare, devi prima configurare un ambiente di sviluppo. PowerShell Per istruzioni su come eseguire questa operazione, consultare [Configurazione di un ambiente di sviluppo PowerShell](powershell-devenv.md).

Per ulteriori informazioni su come utilizzare il AWSLambda PSCore modulo per scaricare PowerShell progetti di esempio dai modelli, creare pacchetti di PowerShell distribuzione e distribuire PowerShell funzioni nel AWS cloud, consulta[Distribuzione delle funzioni Lambda di PowerShell con gli archivi di file .zip](powershell-package.md).

Lambda fornisce i runtime seguenti per i linguaggi .NET:


| Name | Identificatore | Sistema operativo | Data di ritiro | Blocco creazione funzioni | Blocco aggiornamento funzioni | 
| --- | --- | --- | --- | --- | --- | 
|  .NET 10  |  `dotnet10`  |  Amazon Linux 2023  |   14 novembre 2028   |   14 dicembre 2028   |   15 gennaio 2029   | 
|  .NET 9 (solo contenitore)  |  `dotnet9`  |  Amazon Linux 2023  |   10 novembre 2026   |   Non programmato   |   Non programmato   | 
|  .NET 8  |  `dotnet8`  |  Amazon Linux 2023  |   10 novembre 2026   |   10 dicembre 2026   |   11 gennaio 2027   | 

**Topics**
+ [Configurazione di un ambiente di sviluppo PowerShell](powershell-devenv.md)
+ [Distribuzione delle funzioni Lambda di PowerShell con gli archivi di file .zip](powershell-package.md)
+ [Definire l'handler della funzione Lambda in PowerShell](powershell-handler.md)
+ [Utilizzo dell'oggetto contestuale Lambda per recuperare le informazioni sulla funzione PowerShell](powershell-context.md)
+ [Registrare e monitorare le funzioni Lambda con Powershell](powershell-logging.md)

# Configurazione di un ambiente di sviluppo PowerShell
<a name="powershell-devenv"></a>

Lambda fornisce un insieme di strumenti e librerie per il runtime PowerShell. Per le istruzioni di installazione, consulta [Lambda Tools for Powershell](https://github.com/aws/aws-lambda-dotnet/tree/master/PowerShell) su GitHub.

Il modulo AWSLambdaPSCore include i seguenti nuovi cmdlet per aiutare a creare e pubblicare funzioni PowerShell Lambda.
+ **Get-AWSPowerShellLambdaTemplate** – Restituisce un elenco di modelli di base.
+ **New-AWSPowerShellLambda** – Crea uno script PowerShell iniziale basato su un modello.
+ **Publish-AWSPowerShellLambda** – Pubblica un dato script PowerShell su Lambda.
+ **New-AWSPowerShellLambdaPackage** – Crea un pacchetto di implementazione Lambda che può essere utilizzato in un sistema CI/CD per l'implementazione.

# Distribuzione delle funzioni Lambda di PowerShell con gli archivi di file .zip
<a name="powershell-package"></a>

Un pacchetto di distribuzione per il runtime PowerShell contiene lo script PowerShell, i moduli PowerShell necessari per lo script PowerShell e gli assembly necessari per ospitare PowerShell Core.

## Creazione di una funzione Lambda
<a name="powershell-package-create"></a>

Per iniziare a scrivere e invocare uno script PowerShell con , è possibile utilizzare il cmdlet `New-AWSPowerShellLambda` per creare un script di inizio in base a un modello. È possibile utilizzare il cmdlet `Publish-AWSPowerShellLambda` per distribuire lo script in Lambda. Quindi è possibile testare lo script utilizzando la riga di comando o la console Lambda.

Per creare un nuovo script PowerShell, caricarlo e testarlo, effettuare le seguenti operazioni:

1. Per visualizzare l'elenco dei modelli disponibili, esegui il comando seguente:

   ```
   PS C:\> Get-AWSPowerShellLambdaTemplate
   
   Template               Description
   --------               -----------
   Basic                  Bare bones script
   CodeCommitTrigger      Script to process AWS CodeCommit Triggers
   ...
   ```

1. Per creare uno script di esempio in base al modello `Basic`, esegui il comando seguente:

   ```
   New-AWSPowerShellLambda -ScriptName MyFirstPSScript -Template Basic
   ```

   Un nuovo file con nome `MyFirstPSScript.ps1` viene creato in una nuova sottodirectory della directory corrente. Il nome della directory viene determinato in base al parametro `-ScriptName`. Puoi utilizzare il parametro `-Directory` per scegliere una directory alternativa.

   Puoi vedere che il nuovo file ha il seguente contenuto:

   ```
   # PowerShell script file to run as a Lambda function
   # 
   # When executing in Lambda the following variables are predefined.
   #   $LambdaInput - A PSObject that contains the Lambda function input data.
   #   $LambdaContext - An Amazon.Lambda.Core.ILambdaContext object that contains information about the currently running Lambda environment.
   #
   # The last item in the PowerShell pipeline is returned as the result of the Lambda function.
   #
   # To include PowerShell modules with your Lambda function, like the AWSPowerShell.NetCore module, add a "#Requires" statement 
   # indicating the module and version.
                   
   #Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'}
   
   # Uncomment to send the input to CloudWatch Logs
   # Write-Host (ConvertTo-Json -InputObject $LambdaInput -Compress -Depth 5)
   ```

1. Per vedere come i messaggi di log dello script PowerShell vengono inviati ad Amazon CloudWatch Logs, rimuovi il commento dalla riga `Write-Host` dello script di esempio.

   Per dimostrare come puoi restituire i dati dalle tue funzioni Lambda, aggiungi una nuova riga alla fine dello script con `$PSVersionTable`. In tal modo `$PSVersionTable` viene aggiunto alla pipeline PowerShell. Al completamento dello script di PowerShell, l'ultimo oggetto nella pipeline PowerShell sono i dati restituiti per la funzione Lambda. `$PSVersionTable` è una variabile globale PowerShell che fornisce inoltre informazioni sull'ambiente di esecuzione.

   Dopo aver apportato le modifiche, le ultime due righe dello script di esempio sono come riportato di seguito:

   ```
   Write-Host (ConvertTo-Json -InputObject $LambdaInput -Compress -Depth 5)
   $PSVersionTable
   ```

1. Dopo la modifica del file `MyFirstPSScript.ps1`, modifica la directory sul percorso dello script. Quindi esegui il seguente comando per pubblicare lo script in Lambda:

   ```
   Publish-AWSPowerShellLambda -ScriptPath .\MyFirstPSScript.ps1 -Name  MyFirstPSScript -Region us-east-2
   ```

   Nota che il parametro `-Name` specifica il nome della funzione Lambda che viene visualizzato nella console Lambda. Puoi utilizzare questa funzione per invocare manualmente lo script.

1. Invoca la funzione utilizzando il comando AWS Command Line Interface (AWS CLI) `invoke`.

   ```
   > aws lambda invoke --function-name MyFirstPSScript out
   ```

# Definire l'handler della funzione Lambda in PowerShell
<a name="powershell-handler"></a>

Quando una funzione Lambda viene invocata, il gestore Lambda richiama lo script PowerShell.

Quando lo script PowerShell viene richiamato, le seguenti variabili sono predefinite:
+  *\$1LambdaInput* – PSObject contenente l'input per il gestore. L'input può essere costituito da dati dell'evento, pubblicati da un'origine eventi, o un input personalizzato che fornisci, ad esempio una stringa o qualsiasi oggetto dati personalizzato. 
+  *\$1LambdaContext* – Un oggetto Amazon.Lambda.Core.ILambdaContext che è possibile utilizzare per accedere alle informazioni sulla chiamata corrente, come il nome della funzione corrente, il limite di memoria, il runtime rimanente e la registrazione. 

A titolo illustrativo, considera l'esempio di codice PowerShell riportato di seguito.

```
#Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'}
Write-Host 'Function Name:' $LambdaContext.FunctionName
```

Questo script restituisce la proprietà FunctionName ottenuta dalla variabile \$1LambdaContext.

**Nota**  
Sei tenuto a usare l'istruzione `#Requires` all'interno dei tuoi script PowerShell per indicare i moduli da cui dipendono gli script. Questa istruzione svolge due attività importanti. 1) Comunica ad altri sviluppatori quali moduli lo script utilizza e 2) identifica i moduli dipendenti richiesti dagli strumenti AWS PowerShell per creare un pacchetto con lo script, come parte della distribuzione. Per ulteriori informazioni sull'istruzione `#Requires` in PowerShell, consulta la pagina relativa alle [informazioni sui requisiti](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_requires?view=powershell-6). Per ulteriori dettagli sui pacchetti di distribuzione PowerShell, consulta [Distribuzione delle funzioni Lambda di PowerShell con gli archivi di file .zip](powershell-package.md).  
Quando la funzione Lambda PowerShell usa i cmdlet PowerShell AWS, assicurati di impostare un'istruzione `#Requires` che fa riferimento al modulo `AWSPowerShell.NetCore` che supporta PowerShell Core e non al modulo `AWSPowerShell` che supporta solo Windows PowerShell. Inoltre, assicurati di utilizzare la versione 3.3.270.0 o più recente di `AWSPowerShell.NetCore` che ottimizza il processo di importazione dei cmdlet. Se usi una versione precedente, sperimenterai partenze a freddo più lunghe. Per ulteriori informazioni, consulta [ Tools for PowerShell AWS](https://aws.amazon.com/powershell/?track=sdk).

## Restituzione dei dati
<a name="powershell-handler-output"></a>

Alcune chiamate Lambda hanno lo scopo di restituire i dati al loro chiamante. Ad esempio, se una chiamata era in risposta a una richiesta web proveniente da API Gateway, la funzione Lambda deve restituire la risposta. Per PowerShell Lambda, l'ultimo oggetto aggiunto alla pipeline PowerShell costituisce i dati restituiti dalla chiamata Lambda. Se l'oggetto è una stringa, i dati vengono restituiti così come sono. In caso contrario, l'oggetto viene convertito in formato JSON utilizzando il cmdlet `ConvertTo-Json`.

Ad esempio, considera la seguente istruzione PowerShell che aggiunge `$PSVersionTable` alla pipeline PowerShell:

```
$PSVersionTable
```

Al termine dello script di PowerShell, l'ultimo oggetto nella pipeline PowerShell sono i dati restituiti per la funzione Lambda. `$PSVersionTable` è una variabile globale PowerShell che fornisce inoltre informazioni sull'ambiente di esecuzione.

# Utilizzo dell'oggetto contestuale Lambda per recuperare le informazioni sulla funzione PowerShell
<a name="powershell-context"></a>

Quando Lambda esegue la tua funzione, passa le informazioni di contesto rendendo una variabile `$LambdaContext` disponibile al [gestore](powershell-handler.md). Questa variabile fornisce i metodi e le proprietà con informazioni sulla chiamata, sulla funzione e sull'ambiente di esecuzione.

**Proprietà del contesto**
+ `FunctionName`: il nome della funzione Lambda.
+ `FunctionVersion`: la [versione](configuration-versions.md) della funzione.
+ `InvokedFunctionArn`: l'Amazon Resource Name (ARN) utilizzato per richiamare la funzione. Indica se l'invoker ha specificato un numero di versione o un alias.
+ `MemoryLimitInMB`: la quantità di memoria allocata per la funzione.
+ `AwsRequestId`: l'identificatore della richiesta di invocazione.
+ `LogGroupName`: il gruppo di log per la funzione.
+ `LogStreamName`: il flusso di log per l'istanza della funzione.
+ `RemainingTime`: il numero di millisecondi rimasti prima del timeout dell'esecuzione.
+ `Identity`: (app per dispositivi mobili) Informazioni relative all'identità Amazon Cognito che ha autorizzato la richiesta.
+ `ClientContext`: (app per dispositivi mobili) Contesto client fornito a Lambda dall'applicazione client.
+ `Logger`: l'[oggetto logger](powershell-logging.md) per la funzione.

Lo snippet di codice PowerShell mostra una funzione semplice dell'handler che stampa alcune informazioni relative al contesto. 

```
#Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'}
Write-Host 'Function name:' $LambdaContext.FunctionName
Write-Host 'Remaining milliseconds:' $LambdaContext.RemainingTime.TotalMilliseconds
Write-Host 'Log group name:' $LambdaContext.LogGroupName
Write-Host 'Log stream name:' $LambdaContext.LogStreamName
```

# Registrare e monitorare le funzioni Lambda con Powershell
<a name="powershell-logging"></a>

AWS Lambda monitora automaticamente le funzioni Lambda per tuo conto e invia i log ad Amazon. CloudWatch La funzione Lambda include un gruppo di log CloudWatch Logs e un flusso di log per ogni istanza della funzione. L'ambiente del runtime Lambda invia i dettagli su ogni richiamo al flusso di log e inoltra i log e l'output del codice della funzione. Per ulteriori informazioni, consulta [Lambda invia automaticamente i log delle funzioni a CloudWatch Logs.](monitoring-cloudwatchlogs.md).

Questa pagina descrive come produrre un output di registro dal codice della funzione Lambda e accedere ai log utilizzando AWS Command Line Interface la console Lambda o la console. CloudWatch 

**Topics**
+ [Creazione di una funzione che restituisce i registri](#powershell-logging-output)
+ [Visualizzazione dei log nella console Lambda](#powershell-logging-console)
+ [Visualizzazione dei log nella console CloudWatch](#powershell-logging-cwconsole)
+ [Visualizzazione dei log utilizzando () AWS Command Line Interface AWS CLI](#powershell-logging-cli)
+ [Eliminazione dei log](#powershell-logging-delete)

## Creazione di una funzione che restituisce i registri
<a name="powershell-logging-output"></a>

[Per generare log dal codice della funzione, è possibile utilizzare i cmdlet in Microsoft. PowerShell.Utility](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility) o qualsiasi modulo di registrazione che scrive su o. `stdout` `stderr` Nell'esempio seguente viene utilizzato `Write-Host`.

**Example [function/Handler.ps1](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/blank-powershell/function/Handler.ps1) – Registrazione**  

```
#Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'}
Write-Host `## Environment variables
Write-Host AWS_LAMBDA_FUNCTION_VERSION=$Env:AWS_LAMBDA_FUNCTION_VERSION
Write-Host AWS_LAMBDA_LOG_GROUP_NAME=$Env:AWS_LAMBDA_LOG_GROUP_NAME
Write-Host AWS_LAMBDA_LOG_STREAM_NAME=$Env:AWS_LAMBDA_LOG_STREAM_NAME
Write-Host AWS_EXECUTION_ENV=$Env:AWS_EXECUTION_ENV
Write-Host AWS_LAMBDA_FUNCTION_NAME=$Env:AWS_LAMBDA_FUNCTION_NAME
Write-Host PATH=$Env:PATH
Write-Host `## Event
Write-Host (ConvertTo-Json -InputObject $LambdaInput -Compress -Depth 3)
```

**Example Formato dei log**  

```
START RequestId: 56639408-xmpl-435f-9041-ac47ae25ceed Version: $LATEST
Importing module ./Modules/AWSPowerShell.NetCore/3.3.618.0/AWSPowerShell.NetCore.psd1
[Information] - ## Environment variables
[Information] - AWS_LAMBDA_FUNCTION_VERSION=$LATEST
[Information] - AWS_LAMBDA_LOG_GROUP_NAME=/aws/lambda/blank-powershell-function-18CIXMPLHFAJJ
[Information] - AWS_LAMBDA_LOG_STREAM_NAME=2020/04/01/[$LATEST]53c5xmpl52d64ed3a744724d9c201089
[Information] - AWS_EXECUTION_ENV=AWS_Lambda_dotnet6_powershell_1.0.0
[Information] - AWS_LAMBDA_FUNCTION_NAME=blank-powershell-function-18CIXMPLHFAJJ
[Information] - PATH=/var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/bin
[Information] - ## Event
[Information] - 
{
    "Records": [
        {
            "messageId": "19dd0b57-b21e-4ac1-bd88-01bbb068cb78",
            "receiptHandle": "MessageReceiptHandle",
            "body": "Hello from SQS!",
            "attributes": {
                "ApproximateReceiveCount": "1",
                "SentTimestamp": "1523232000000",
                "SenderId": "123456789012",
                "ApproximateFirstReceiveTimestamp": "1523232000001"
            },
            ...
END RequestId: 56639408-xmpl-435f-9041-ac47ae25ceed
REPORT RequestId: 56639408-xmpl-435f-9041-ac47ae25ceed	Duration: 3906.38 ms	Billed Duration: 9867 ms	Memory Size: 512 MB	Max Memory Used: 367 MB	Init Duration: 5960.19 ms	
XRAY TraceId: 1-5e843da6-733cxmple7d0c3c020510040	SegmentId: 3913xmpl20999446	Sampled: true
```

Il runtime di .NET registra `START`, `END` e `REPORT` per ogni chiamata. La riga del report fornisce i seguenti dettagli.

**Campi dati della riga REPORT**
+ **RequestId**— L'ID univoco della richiesta per la chiamata.
+ **Durata** – La quantità di tempo che il metodo del gestore della funzione impiega durante l'elaborazione dell'evento.
+ **Durata fatturata** – La quantità di tempo fatturata per la chiamata.
+ **Dimensioni memoria** – La quantità di memoria allocata per la funzione.
+ **Quantità max utilizzata** – La quantità di memoria utilizzata dalla funzione. Quando le invocazioni condividono un ambiente di esecuzione, Lambda riporta la memoria massima utilizzata in tutte le invocazioni. Questo comportamento potrebbe comportare un valore riportato superiore al previsto.
+ **Durata Init** – Per la prima richiesta servita, la quantità di tempo impiegato dal runtime per caricare la funzione ed eseguire il codice al di fuori del metodo del gestore.
+ **XRAY TraceId** [— Per le richieste tracciate, l'ID di traccia.AWS X-Ray](services-xray.md)
+ **SegmentId**— Per le richieste tracciate, l'ID del segmento X-Ray.
+ **Campionato** – Per le richieste tracciate, il risultato del campionamento.

## Visualizzazione dei log nella console Lambda
<a name="powershell-logging-console"></a>

È possibile utilizzare la console Lambda per visualizzare l'output del log dopo aver richiamato una funzione Lambda.

Se il codice può essere testato dall'editor del **codice** incorporato, troverai i log nei **risultati dell’esecuzione**. Quando utilizzi la funzionalità di test della console per richiamare una funzione, troverai l’**output del log** nella sezione **Dettagli**.

## Visualizzazione dei log nella console CloudWatch
<a name="powershell-logging-cwconsole"></a>

Puoi utilizzare la CloudWatch console Amazon per visualizzare i log di tutte le chiamate di funzioni Lambda.

**Per visualizzare i log sulla console CloudWatch**

1. Apri la [pagina Registra gruppi](https://console.aws.amazon.com/cloudwatch/home?#logs:) sulla CloudWatch console.

1. Scegli il gruppo di log per la tua funzione (***your-function-name*/aws/lambda/**).

1. Creare un flusso di log.

Ogni flusso di log corrisponde a un'[istanza della funzione](lambda-runtime-environment.md). Viene visualizzato un flusso di log quando aggiorni la funzione Lambda e quando vengono create istanze aggiuntive per gestire le chiamate simultanee. Per trovare i log per una chiamata specifica, consigliamo di strumentare la funzione con. AWS X-Ray X-Ray registra i dettagli sulla richiesta e il flusso di log nella traccia.

## Visualizzazione dei log utilizzando () AWS Command Line Interface AWS CLI
<a name="powershell-logging-cli"></a>

 AWS CLI È uno strumento open source che consente di interagire con i AWS servizi utilizzando i comandi nella shell della riga di comando. Per completare le fasi riportate in questa sezione, è necessario disporre della [AWS CLI versione 2](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

È possibile utilizzare [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) per recuperare i log per una chiamata utilizzando l'opzione di comando `--log-type`. La risposta include un campo `LogResult` che contiene fino a 4 KB di log con codifica base64 del richiamo.

**Example recuperare un ID di log**  
Nell'esempio seguente viene illustrato come recuperare un *ID di log* dal `LogResult` campo per una funzione denominata `my-function`.  

```
aws lambda invoke --function-name my-function out --log-type Tail
```
Verrà visualizzato l’output seguente:  

```
{
    "StatusCode": 200,
    "LogResult": "U1RBUlQgUmVxdWVzdElkOiA4N2QwNDRiOC1mMTU0LTExZTgtOGNkYS0yOTc0YzVlNGZiMjEgVmVyc2lvb...",
    "ExecutedVersion": "$LATEST"
}
```

**Example decodificare i log**  
Nello stesso prompt dei comandi, utilizzare l'`base64` utilità per decodificare i log. Nell'esempio seguente viene illustrato come recuperare i log codificati in base64 per `my-function`.  

```
aws lambda invoke --function-name my-function out --log-type Tail \
--query 'LogResult' --output text --cli-binary-format raw-in-base64-out | base64 --decode
```
L'**cli-binary-format**opzione è obbligatoria se si utilizza la AWS CLI versione 2. Per rendere questa impostazione come predefinita, esegui `aws configure set cli-binary-format raw-in-base64-out`. Per ulteriori informazioni, consulta la pagina [AWS CLI supported global command line options](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html#cli-configure-options-list) nella *Guida per l'utente di AWS Command Line Interface versione 2*.  
Verrà visualizzato l’output seguente:  

```
START RequestId: 57f231fb-1730-4395-85cb-4f71bd2b87b8 Version: $LATEST
"AWS_SESSION_TOKEN": "AgoJb3JpZ2luX2VjELj...", "_X_AMZN_TRACE_ID": "Root=1-5d02e5ca-f5792818b6fe8368e5b51d50;Parent=191db58857df8395;Sampled=0"",ask/lib:/opt/lib",
END RequestId: 57f231fb-1730-4395-85cb-4f71bd2b87b8
REPORT RequestId: 57f231fb-1730-4395-85cb-4f71bd2b87b8  Duration: 79.67 ms      Billed Duration: 80 ms         Memory Size: 128 MB     Max Memory Used: 73 MB
```
L'utilità `base64` è disponibile su Linux, macOS e [Ubuntu su Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10). Gli utenti macOS potrebbero dover utilizzare `base64 -D`.

**Example Script get-logs.sh**  
Nello stesso prompt dei comandi, utilizzare lo script seguente per scaricare gli ultimi cinque eventi di log. Lo script utilizza `sed` per rimuovere le virgolette dal file di output e rimane in sospensione per 15 secondi in attesa che i log diventino disponibili. L'output include la risposta di Lambda e l'output del comando `get-log-events`.   
Copiare il contenuto del seguente esempio di codice e salvare nella directory del progetto Lambda come `get-logs.sh`.  
L'**cli-binary-format**opzione è obbligatoria se utilizzi la AWS CLI versione 2. Per rendere questa impostazione come predefinita, esegui `aws configure set cli-binary-format raw-in-base64-out`. Per ulteriori informazioni, consulta la pagina [AWS CLI supported global command line options](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html#cli-configure-options-list) nella *Guida per l'utente di AWS Command Line Interface versione 2*.  

```
#!/bin/bash
aws lambda invoke --function-name my-function --cli-binary-format raw-in-base64-out --payload '{"key": "value"}' out
sed -i'' -e 's/"//g' out
sleep 15
aws logs get-log-events --log-group-name /aws/lambda/my-function --log-stream-name stream1 --limit 5
```

**Example (solo) macOS e Linux**  
Nello stesso prompt dei comandi, gli utenti macOS e Linux potrebbero dover eseguire il seguente comando per assicurarsi che lo script sia eseguibile.  

```
chmod -R 755 get-logs.sh
```

**Example recuperare gli ultimi cinque eventi di log**  
Nello stesso prompt dei comandi, eseguire lo script seguente per ottenere gli ultimi cinque eventi di log.  

```
./get-logs.sh
```
Verrà visualizzato l’output seguente:  

```
{
    "StatusCode": 200,
    "ExecutedVersion": "$LATEST"
}
{
    "events": [
        {
            "timestamp": 1559763003171,
            "message": "START RequestId: 4ce9340a-b765-490f-ad8a-02ab3415e2bf Version: $LATEST\n",
            "ingestionTime": 1559763003309
        },
        {
            "timestamp": 1559763003173,
            "message": "2019-06-05T19:30:03.173Z\t4ce9340a-b765-490f-ad8a-02ab3415e2bf\tINFO\tENVIRONMENT VARIABLES\r{\r  \"AWS_LAMBDA_FUNCTION_VERSION\": \"$LATEST\",\r ...",
            "ingestionTime": 1559763018353
        },
        {
            "timestamp": 1559763003173,
            "message": "2019-06-05T19:30:03.173Z\t4ce9340a-b765-490f-ad8a-02ab3415e2bf\tINFO\tEVENT\r{\r  \"key\": \"value\"\r}\n",
            "ingestionTime": 1559763018353
        },
        {
            "timestamp": 1559763003218,
            "message": "END RequestId: 4ce9340a-b765-490f-ad8a-02ab3415e2bf\n",
            "ingestionTime": 1559763018353
        },
        {
            "timestamp": 1559763003218,
            "message": "REPORT RequestId: 4ce9340a-b765-490f-ad8a-02ab3415e2bf\tDuration: 26.73 ms\tBilled Duration: 27 ms \tMemory Size: 128 MB\tMax Memory Used: 75 MB\t\n",
            "ingestionTime": 1559763018353
        }
    ],
    "nextForwardToken": "f/34783877304859518393868359594929986069206639495374241795",
    "nextBackwardToken": "b/34783877303811383369537420289090800615709599058929582080"
}
```

## Eliminazione dei log
<a name="powershell-logging-delete"></a>

I gruppi di log non vengono eliminati automaticamente quando si elimina una funzione. Per evitare di archiviare i log a tempo indeterminato, eliminare il gruppo di log o [configurare un periodo di conservazione](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention) trascorso il quale i log vengono eliminati automaticamente.