

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à.

# Tutorial di Lambda per oggetti S3
<a name="olap-tutorials"></a>

**Nota**  
A partire dal 7 novembre 2025, S3 Object Lambda è disponibile solo per i clienti esistenti che attualmente utilizzano il servizio e per alcuni AWS partner Partner Network (APN). Per funzionalità simili a Lambda per oggetti S3, consulta [Modifica della disponibilità di Lambda per oggetti Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

I seguenti tutorial presentano end-to-end procedure complete per alcune attività di S3 Object Lambda.

Con S3 Object Lambda puoi aggiungere il tuo codice per elaborare i dati recuperati da S3 prima di restituirli a un'applicazione. Ciascuna delle seguenti esercitazioni modifica i dati man mano che vengono recuperati da Amazon S3, senza modificare l'oggetto esistente o mantenere più copie dei dati. Il primo tutorial spiegherà come aggiungere una AWS Lambda funzione a una richiesta S3 GET per modificare un oggetto recuperato da S3. La seconda esercitazione mostra come utilizzare una funzione Lambda precostituita alimentata da Amazon Comprehend per proteggere le informazioni di identificazione personale (PII) recuperate da S3 prima di restituirle a un'applicazione. La terza esercitazione utilizza Lambda per oggetti S3 per aggiungere una filigrana a un'immagine mentre viene recuperata da Amazon S3.
+ [Tutorial: trasformazione dei dati per l'applicazione con S3 Object Lambda](tutorial-s3-object-lambda-uppercase.md)
+ [Tutorial: rilevamento e oscuramento dei dati PII con S3 Object Lambda e Amazon Comprehend](tutorial-s3-object-lambda-redact-pii.md)
+ [Tutorial: utilizzo di Lambda per oggetti S3 per aggiungere filigrane alle immagini in modo dinamico man mano che vengono recuperate](https://aws.amazon.com/getting-started/hands-on/amazon-s3-object-lambda-to-dynamically-watermark-images/?ref=docs_gateway/amazons3/olap-tutorials.html)

# Tutorial: trasformazione dei dati per l'applicazione con S3 Object Lambda
<a name="tutorial-s3-object-lambda-uppercase"></a>

**Nota**  
A partire dal 7 novembre 2025, S3 Object Lambda è disponibile solo per i clienti esistenti che attualmente utilizzano il servizio e per alcuni AWS partner Partner Network (APN). Per funzionalità simili a Lambda per oggetti S3, consulta [Modifica della disponibilità di Lambda per oggetti Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

Quando archivi dati in Amazon S3, puoi condividerli facilmente per utilizzarli da più applicazioni. Tuttavia, ogni applicazione potrebbe avere requisiti univoci in merito al formato dei dati e richiedere la modifica o l'elaborazione dei dati per un caso d'uso specifico. Ad esempio, un set di dati creato da un'applicazione e-commerce potrebbe includere informazioni personali di identificazione (PII). Quando gli stessi dati vengono elaborati per l'analisi, queste PII non sono necessarie e devono essere oscurate. Tuttavia, se lo stesso set di dati viene utilizzato per una campagna di marketing, potresti dover arricchire i dati con ulteriori dettagli, come informazioni dal database che raccoglie i dati sulla fidelizzazione dei clienti.

Con [S3 Object Lambda](https://aws.amazon.com/s3/features/object-lambda) puoi aggiungere il tuo codice per elaborare i dati recuperati da S3 prima di restituirli a un'applicazione. In particolare, puoi configurare una AWS Lambda funzione e collegarla a un S3 Object Lambda Access Point. Quando un’applicazione invia [richieste GET S3 standard](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) tramite il punto di accesso Lambda per oggetti S3, la funzione Lambda specificata viene invocata per elaborare i dati recuperati dall’origine dati sottostante attraverso il punto di accesso S3 di supporto, quindi il punto di accesso Lambda per oggetti S3 restituisce il risultato trasformato all'applicazione. Puoi creare ed eseguire funzioni Lambda personalizzate, adattando la trasformazione dei dati S3 Object Lambda al tuo specifico caso d'uso, il tutto senza che siano necessarie modifiche alla tua applicazione.

![\[Questo è un diagramma del flusso di lavoro di Lambda per oggetti S3.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/ol-example-image-global.png)


**Obiettivo**  
In questo tutorial imparerai come aggiungere codice personalizzato alle richieste GET S3 standard per modificare l'oggetto richiesto recuperato da S3 in modo che questo soddisfi le esigenze del client o dell'applicazione richiedente. In particolare, apprendi come trasformare in maiuscolo tutto il testo dell’oggetto originale archiviato in un bucket S3 tramite Lambda per oggetti S3. 

**Nota**  
Questo tutorial utilizza il codice Python per trasformare i dati, per esempi utilizzando altri, AWS SDKs consulta [Transform data for your application with S3 Object Lambda nella SDK](https://docs.aws.amazon.com/code-library/latest/ug/lambda_example_cross_ServerlessS3DataTransformation_section.html) Code Examples Library. AWS 

**Topics**
+ [Prerequisiti](#ol-upper-prerequisites)
+ [Fase 1: Creazione di un bucket S3](#ol-upper-step1)
+ [Fase 2: Caricamento di un file nel bucket S3](#ol-upper-step2)
+ [Fase 3: Creazione di un punto di accesso S3](#ol-upper-step3)
+ [Fase 4: Creazione di una funzione Lambda](#ol-upper-step4)
+ [Fase 5: Configurazione di una policy IAM per il ruolo di esecuzione della funzione Lambda](#ol-upper-step5)
+ [Fase 6: Creazione di un punto di accesso Lambda per oggetti S3](#ol-upper-step6)
+ [Fase 7: Visualizzazione dei dati trasformati](#ol-upper-step7)
+ [Fase 8: Pulizia](#ol-upper-step8)
+ [Fasi successive](#ol-upper-next-steps)

## Prerequisiti
<a name="ol-upper-prerequisites"></a>

Prima di iniziare questo tutorial, devi disporre di un account a Account AWS cui accedere come utente AWS Identity and Access Management (IAM) con le autorizzazioni corrette. Devi inoltre installare la versione 3.8 o successiva di Python.

**Topics**
+ [Crea un utente IAM con autorizzazioni nella tua Account AWS (console)](#ol-upper-prerequisites-account)
+ [Installazione di Python 3.8 o versioni successive sul computer locale](#ol-upper-prerequisites-python)

### Crea un utente IAM con autorizzazioni nella tua Account AWS (console)
<a name="ol-upper-prerequisites-account"></a>

Puoi creare un utente IAM per il tutorial. Per completare questo tutorial, il tuo utente IAM deve allegare le seguenti policy IAM per accedere alle AWS risorse pertinenti ed eseguire azioni specifiche. Per ulteriori informazioni su come creare un utente IAM, consulta [Creazione di utenti IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) nella *Guida per l'utente di IAM*.

L'utente IAM richiede le seguenti policy:
+ [AmazonS3 FullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor): concede le autorizzazioni per tutte le azioni di Amazon S3, incluse le autorizzazioni per creare e utilizzare un punto di accesso Object Lambda. 
+ [AWSLambda\$1FullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLambda_FullAccess$jsonEditor)— Concede le autorizzazioni per tutte le azioni Lambda. 
+ [IAMFullAccesso](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMFullAccess$jsonEditor): concede le autorizzazioni a tutte le azioni IAM. 
+ [IAMAccessAnalyzerReadOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMAccessAnalyzerReadOnlyAccess$jsonEditor)— Concede le autorizzazioni per leggere tutte le informazioni di accesso fornite da IAM Access Analyzer. 
+ [CloudWatchLogsFullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchLogsFullAccess$jsonEditor)— Garantisce l'accesso completo ai registri. CloudWatch 

**Nota**  
Per semplicità, questo tutorial crea e utilizza un utente IAM. Dopo aver completato il tutorial, ricordati di [Eliminazione dell'utente IAM](#ol-upper-step8-delete-user). Per l'uso in produzione, consigliamo di seguire le [best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) disponibili nella *Guida per l'utente di IAM*. Come best practice, richiedi agli utenti di utilizzare la federazione con un gestore dell'identità digitale per accedere a AWS utilizzando credenziali temporanee. Un'ulteriore suggerimento derivante dalle best practice è richiedere ai carichi di lavoro di utilizzare credenziali temporanee con ruoli IAM per l'accesso ad AWS. *Per informazioni sull'utilizzo AWS IAM Identity Center per creare utenti con credenziali temporanee, consulta [Guida introduttiva](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) nella Guida per l'AWS IAM Identity Center utente.*   
Per semplicità, questo tutorial utilizza policy gestite AWS di accesso completo. Per l'utilizzo in produzione, è consigliabile invece concedere solo le autorizzazioni minime necessarie per il caso d'uso, in conformità con le [best practice in fatto di sicurezza](security-best-practices.md#security-best-practices-prevent).

### Installazione di Python 3.8 o versioni successive sul computer locale
<a name="ol-upper-prerequisites-python"></a>

Utilizza la procedura seguente per installare Python 3.8 o una versione successiva sul computer locale. Per maggiori istruzioni sull'installazione, consulta la pagina [Download di Python](https://wiki.python.org/moin/BeginnersGuide/Download) nella *Guida per principianti di Python*.

1. Apri il terminale o la shell locale ed esegui il seguente comando per determinare se Python è già installato e, in caso affermativo, la versione installata. 

   ```
   python --version
   ```

1. Se non disponi di Python 3.8 o versioni successive, scarica il [programma di installazione ufficiale](https://www.python.org/downloads/) di Python 3.8 o versioni successive adatto al computer locale. 

1. Esegui il programma di installazione facendo doppio clic sul file scaricato e segui i passaggi per completare l'installazione. 

   Per **utenti Windows**: scegli **Add Python 3.X to PATH (Aggiungi Python 3.X a [percorso])** nella procedura guidata di installazione prima di scegliere **Install Now (Installa adesso)**. 

1. Chiudi e riapri il terminale per riavviarlo. 

1. Per verificare che Python 3.8 o versioni successive sia installato correttamente, esegui il comando seguente. 

   Se sei un **utente macOS**, esegui questo comando: 

   ```
   python3 --version
   ```

   Per **utenti Windows**: esegui questo comando: 

   ```
   python --version
   ```

1. Esegui il seguente comando per verificare che il gestore di pacchetti pip3 sia installato. Se vedi un numero di versione di pip e Python 3.8 o versione successiva nella risposta al comando, significa che il gestore di pacchetti pip3 è installato correttamente.

   ```
   pip --version
   ```

## Fase 1: Creazione di un bucket S3
<a name="ol-upper-step1"></a>

Crea un bucket per archiviare i dati originali che intendi trasformare. 

**Nota**  
I punti di accesso possono essere collegati a un'altra fonte di dati, come un volume Amazon FSx for OpenZFS, tuttavia questo tutorial utilizza un punto di accesso di supporto collegato a un bucket S3.

**Per creare un bucket**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Scegliere **Create bucket (Crea bucket)**. 

   Viene visualizzata la pagina **Create bucket (Crea bucket)**.

1. In **Bucket name** (Nome bucket), inserisci un nome per il bucket (ad esempio **tutorial-bucket**). 

   Per ulteriori informazioni sulle regole di denominazione del bucket in Amazon S3, consulta [Regole di denominazione dei bucket per uso generico](bucketnamingrules.md).

1. Per la **regione**, scegli Regione AWS dove vuoi che risieda il bucket. 

   Per ulteriori informazioni sulla Regione del bucket, consulta [Panoramica dei bucket per uso generico](UsingBucket.md).

1. In **Block Public Access settings for this bucket** (Blocca le impostazioni di accesso pubblico per questo bucket), mantieni le impostazioni predefinite (è abilitato **Block *all *public access** (Blocca tutto l'accesso pubblico). 

   È consigliabile di lasciare abilitate tutte le impostazioni di blocco dell'accesso pubblico, a meno che non abbia bisogno di disattivarne una o più per il caso d'uso. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

1. Mantieni le impostazioni rimanenti impostate sui valori di default. 

   (Facoltativo) Se desideri configurare ulteriori impostazioni del bucket per il tuo caso d'uso specifico, consulta [Creazione di un bucket per uso generico](create-bucket-overview.md).

1. Seleziona **Crea bucket**.

## Fase 2: Caricamento di un file nel bucket S3
<a name="ol-upper-step2"></a>

Carica il file di testo nel bucket S3. Questo file di testo contiene i dati originali che trasformerai in maiuscolo più avanti in questo tutorial. 

Ad esempio, puoi caricare un file `tutorial.txt` che contiene il testo seguente:

```
Amazon S3 Object Lambda Tutorial:
You can add your own code to process data retrieved from S3 before 
returning it to an application.
```

**Per caricare un file in un bucket**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Buckets** (Bucket) scegli il nome del bucket creato nella [Fase 1](#ol-upper-step1) (ad esempio,**tutorial-bucket**) in cui caricare il file.

1. Nella scheda **Oggetti** del bucket seleziona **Carica**.

1. Nella pagina **Upload** (Caricamento), sotto **Files and Folders** (File e cartelle) scegli **Add Files** (Aggiungi file).

1. Seleziona un file da caricare, quindi scegli **Apri**. Ad esempio, puoi caricare il file di esempio `tutorial.txt` menzionato in precedenza.

1. Scegli **Carica**.

## Fase 3: Creazione di un punto di accesso S3
<a name="ol-upper-step3"></a>

Per utilizzare un punto di accesso Lambda per oggetti S3 per accedere e trasformare i dati originali, devi creare un punto di accesso S3 e associarlo al bucket S3 creato nella [Fase 1](#ol-upper-step1). Il punto di accesso deve trovarsi nello Regione AWS stesso punto in cui si trovano gli oggetti che desideri trasformare.

Più avanti in questo tutorial, utilizzerai questo punto di accesso come punto di accesso di supporto per il tuo punto di accesso Lambda per oggetti. 

**Per creare un punto di accesso**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Access Points** (Punti di accesso).

1. Nella pagina **Punto di accesso**, scegli **Crea punto di accesso**.

1. Nel campo **Nome del punto di accesso**, inserisci il nome (ad esempio, **tutorial-access-point**) del punto di accesso.

   Per ulteriori informazioni sulla denominazione dei punti di accesso, consulta [Regole di denominazione dei punti di accesso](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. Nel campo **Origine dati** inserisci il nome del bucket creato nella [Fase 1](#ol-upper-step1) (ad esempio, **tutorial-bucket**). S3 allega quindi il punto di accesso a questo bucket. 

   (Facoltativo) Puoi scegliere **Browse S3** (Sfoglia S3) per sfogliare e cercare i bucket nell'account. Se scegli **Browse S3** (Sfoglia S3), scegli il bucket desiderato e scegli **Choose path** (Scegli percorso) per popolare il campo **Bucket name** (Nome bucket) con il nome del bucket.

1. In **Network origin** (Origine rete), scegli **Internet**. 

   Per ulteriori informazioni sulle origini della rete per i punti di accesso, consulta [Creazione di access point limitati a un cloud privato virtuale](access-points-vpc.md).

1. Tutte le impostazioni di blocco dell'accesso pubblico sono abilitate per impostazione predefinita per il punto di accesso. È consigliabile lasciare abilitato **Block *all* public access** (Blocca tutto l'accesso pubblico).

   Per ulteriori informazioni, consulta [Gestione dell’accesso pubblico ai punti di accesso per bucket per uso generico](access-points-bpa-settings.md).

1. Per tutte le altre impostazioni del punto di accesso, mantieni i valori di default.

   (Facoltativo) Puoi modificare le impostazioni del punto di accesso per supportare il caso d'uso. Per questo tutorial, ti consigliamo di mantenere le impostazioni di default. 

   (Facoltativo) Se è necessario gestire l'accesso al punto di accesso, puoi specificare una policy per il punto di accesso. Per ulteriori informazioni, consulta [Esempi di policy per i punti di accesso](access-points-policies.md#access-points-policy-examples). 

1. Scegli **Crea punto di accesso**.

## Fase 4: Creazione di una funzione Lambda
<a name="ol-upper-step4"></a>

Per trasformare i dati originali, crea una funzione Lambda utilizzabile con il punto di accesso Lambda per oggetti S3. 

**Topics**
+ [Scrittura del codice della funzione Lambda e creazione di un pacchetto di implementazione in un ambiente virtuale](#ol-upper-step4-write-lambda)
+ [Creare una funzione Lambda con un ruolo di esecuzione (console)](#ol-upper-step4-create-function)
+ [Implementa il codice della tua funzione Lambda con gli archivi in file .zip e configura la funzione Lambda (console)](#ol-upper-step4-deploy-function)

### Scrittura del codice della funzione Lambda e creazione di un pacchetto di implementazione in un ambiente virtuale
<a name="ol-upper-step4-write-lambda"></a>

1. Sul computer locale, crea una cartella denominata `object-lambda` per l'ambiente virtuale da utilizzare più avanti in questo tutorial.

1. Nella cartella `object-lambda`, crea un file con una funzione Lambda che modifica tutto il testo dell'oggetto originale in maiuscolo. Ad esempio, puoi utilizzare la seguente funzione scritta in Python. Salva questa funzione in un file denominato `transform.py`. 

   ```
   import boto3
   import requests
   from botocore.config import Config
   
   # This function capitalizes all text in the original object
   def lambda_handler(event, context):
       object_context = event["getObjectContext"]
       # Get the presigned URL to fetch the requested original object 
       # from S3
       s3_url = object_context["inputS3Url"]
       # Extract the route and request token from the input context
       request_route = object_context["outputRoute"]
       request_token = object_context["outputToken"]
       
       # Get the original S3 object using the presigned URL
       response = requests.get(s3_url)
       original_object = response.content.decode("utf-8")
   
       # Transform all text in the original object to uppercase
       # You can replace it with your custom code based on your use case
       transformed_object = original_object.upper()
   
       # Write object back to S3 Object Lambda
       s3 = boto3.client('s3', config=Config(signature_version='s3v4'))
       # The WriteGetObjectResponse API sends the transformed data
       # back to S3 Object Lambda and then to the user
       s3.write_get_object_response(
           Body=transformed_object,
           RequestRoute=request_route,
           RequestToken=request_token)
   
       # Exit the Lambda function: return the status code  
       return {'status_code': 200}
   ```
**Nota**  
La precedente funzione Lambda di esempio carica l'intero oggetto richiesto in memoria prima di trasformarlo e restituirlo al client. In alternativa, puoi trasmettere l'oggetto da S3 per evitare di caricare l'intero oggetto in memoria. Questo approccio può essere utile quando lavori con oggetti di grandi dimensioni. Per ulteriori informazioni sullo streaming delle risposte con i punti di accesso Lambda per oggetti, consulta gli esempi di streaming in [Utilizzo di richieste `GetObject` in Lambda](olap-writing-lambda.md#olap-getobject-response).

   Quando scrivi una funzione Lambda utilizzabile con un punto di accesso Lambda per oggetti S3, la funzione si basa sul contesto dell'evento di input che Lambda per oggetti S3 fornisce alla funzione stessa. Il contesto dell'evento fornisce informazioni relative alla richiesta eseguita nell'evento inviato da Lambda per oggetti S3 a Lambda. e che contiene i parametri utilizzati per crearla.

   I campi utilizzati per creare la funzione Lambda precedente sono i seguenti: 

   Il campo `getObjectContext` si riferisce ai dettagli di ingresso e uscita per le connessioni ad Amazon S3 e S3 Object Lambda. Ha i seguenti campi:
   + `inputS3Url`: un URL prefirmato che la funzione Lambda può utilizzare per scaricare l'oggetto originale dal punto di accesso di supporto. Utilizzando un URL prefirmato, la funzione Lambda non ha bisogno di avere le autorizzazioni di lettura di Amazon S3 per recuperare l'oggetto originale e può accedere solo all'oggetto elaborato da ogni chiamata.
   + `outputRoute`: un token di routing che viene aggiunto all'URL di S3 Object Lambda quando la funzione Lambda richiama `WriteGetObjectResponse` per reinviare l'oggetto trasformato.
   + `outputToken`: un token utilizzato da S3 Object Lambda per associare la chiamata `WriteGetObjectResponse` al chiamante originale quando reinvia l'oggetto trasformato.

   Per ulteriori informazioni su tutti i campi del contesto dell'evento, consulta [Formato e utilizzo del contesto degli eventi](olap-event-context.md) e [Scrittura di funzioni Lambda per i punti di accesso Lambda per oggetti S3](olap-writing-lambda.md).

1. Nel terminale locale, inserisci il seguente comando per installare il pacchetto `virtualenv`:

   ```
   python -m pip install virtualenv
   ```

1. Nel terminale locale, apri la cartella `object-lambda` creata in precedenza e inserisci il seguente comando per creare e inizializzare un nuovo ambiente virtuale denominato `venv`.

   ```
   python -m virtualenv venv
   ```

1. Per attivare l'ambiente virtuale, inserire il seguente comando per eseguire il file `activate` dalla cartella dell'ambiente:

   Se sei un **utente macOS**, esegui questo comando:

   ```
   source venv/bin/activate
   ```

   Per **utenti Windows**: esegui questo comando:

   ```
   .\venv\Scripts\activate
   ```

   Il prompt dei comandi si modifica per mostrare **(venv)**, indicando che l'ambiente virtuale è attivo.

1. Per installare le librerie richieste, esegui i seguenti comandi riga per riga nell'ambiente virtuale `venv`.

   Questi comandi installano versioni aggiornate delle dipendenze della funzione Lambda `lambda_handler`. Queste dipendenze sono gli SDK per Python (Boto3) AWS e il modulo delle richieste.

   ```
   pip3 install boto3
   ```

   ```
   pip3 install requests
   ```

1. Per disattivare l'ambiente virtuale, esegui il comando seguente:

   ```
   deactivate
   ```

1. Per creare un pacchetto di implementazione con le librerie installate come file `.zip` denominato `lambda.zip` alla root della directory `object-lambda`, eseguire i seguenti comandi riga per riga nel terminale locale.
**Suggerimento**  
È possibile che i seguenti comandi debbano essere regolati per funzionare in un ambiente specifico. Ad esempio, una libreria potrebbe essere visualizzata in `site-packages` o `dist-packages` e la prima cartella potrebbe essere `lib` o `lib64`. Inoltre, la cartella `python` potrebbe essere denominata con una versione di Python diversa. Per localizzare un pacchetto specifico, utilizza il comando `pip show`.

   Se sei un **utente macOS**, esegui questi comandi:

   ```
   cd venv/lib/python3.8/site-packages 
   ```

   ```
   zip -r ../../../../lambda.zip .
   ```

   Se sei un **utente Windows**, esegui questi comandi:

   ```
   cd .\venv\Lib\site-packages\ 
   ```

   ```
   powershell Compress-Archive * ../../../lambda.zip
   ```

   L'ultimo comando salva il pacchetto di implementazione nella directory principale della directory `object-lambda`.

1. Aggiungere il file del codice della funzione `transform.py` alla root del pacchetto di implementazione.

   Se sei un **utente macOS**, esegui questi comandi:

   ```
   cd ../../../../ 
   ```

   ```
   zip -g lambda.zip transform.py
   ```

   Se sei un **utente Windows**, esegui questi comandi: 

   ```
   cd ..\..\..\
   ```

   ```
   powershell Compress-Archive -update transform.py lambda.zip
   ```

   Dopo aver completato questa fase, si dovrà avere la seguente struttura della directory:

   ```
   lambda.zip$
     │ transform.py
     │ __pycache__
     | boto3/
     │ certifi/
     │ pip/
     │ requests/
     ...
   ```

### Creare una funzione Lambda con un ruolo di esecuzione (console)
<a name="ol-upper-step4-create-function"></a>

1. Accedi a Console di gestione AWS e apri la AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

   

1. Nel pannello di navigazione a sinistra, scegli **Functions (Funzioni)**.

1. Selezionare **Create function (Crea funzione)**.

1. Scegli **Author from scratch** (Crea da zero).

1. In **Basic information (Informazioni di base)** eseguire queste operazioni:

   1. Nel campo **Function name (Nome funzione)**, immettere **tutorial-object-lambda-function**.

   1. In **Runtime (Runtime)**, scegli **Python 3.8** o una versione successiva.

1. Espandi la sezione **Change default execution role (Cambia ruolo di esecuzione predefinito)**. In **Execution role (Ruolo di esecuzione)**, scegli **Create a new role with basic Lambda permissions (Crea un nuovo ruolo con le autorizzazioni Lambda di base)**.

   Nel [passaggio 5](#ol-upper-step5) più avanti di questo tutorial, colleghi **AmazonS3** al ruolo di esecuzione di ObjectLambdaExecutionRolePolicy questa funzione Lambda. 

1. Mantieni le impostazioni rimanenti impostate sui valori predefiniti.

1. Scegli **Crea funzione**.

### Implementa il codice della tua funzione Lambda con gli archivi in file .zip e configura la funzione Lambda (console)
<a name="ol-upper-step4-deploy-function"></a>

1. Nella AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), scegli **Funzioni nel riquadro di navigazione** a sinistra. 

1. Scegli la funzione Lambda creata in precedenza (ad esempio, **tutorial-object-lambda-function**). 

1. Nella pagina dei dettagli della funzione Lambda, scegli la scheda **Code (Codice)**. Nella sezione **Code source (Origine codice)**, scegli **Upload from (Carica da)** e quindi **.zip file (file .zip)**.

1. Scegli **Upload (Carica)** per selezionare il file `.zip` locale.

1. Scegli il file `lambda.zip` creato in precedenza, quindi scegli **Open (Apri)**.

1. Scegli **Save** (Salva).

1. Nel pannello **Runtime settings (Impostazioni runtime)**, scegli **Edit (Modifica)**. 

1. Nella pagina **Edit runtime settings (Modifica impostazioni runtime)**, verifica che **Runtime (Runtime)** sia impostato su **Python 3.8** o una versione successiva. 

1. Per indicare al runtime Lambda quale metodo gestore richiamare nel codice della funzione Lambda, inserisci **transform.lambda\$1handler** in **Handler (Gestore)**.

   Quando si configura una funzione in Python, il valore dell’impostazione del gestore è costituito dal nome del file e dal nome del modulo del gestore esportato, separati da un punto. Ad esempio, `transform.lambda_handler` richiama il metodo `lambda_handler` definito nel file `transform.py`.

1. Scegli **Save** (Salva).

1. (Facoltativo) Nella pagina dei dettagli della funzione Lambda, scegli la scheda **Configuration (Configurazione)**. Nel pannello di navigazione a sinistra, scegli **General configuration (Configurazione generale)**, quindi scegli **Edit (Modifica)**. Nel campo **Timeout** inserisci **1** min **0** sec. Mantieni le impostazioni rimanenti sui valori predefiniti e scegli **Save (Salva)**.

   Il **Timeout** è la quantità di tempo consentita da Lambda per l'esecuzione di una funzione per una chiamata prima di arrestarla. Il valore predefinito è 3 secondi. La durata massima per una funzione Lambda utilizzata da S3 Object Lambda è di 60 secondi. I prezzi si basano sulla quantità di memoria configurata e sulla quantità di tempo di esecuzione del codice.

## Fase 5: Configurazione di una policy IAM per il ruolo di esecuzione della funzione Lambda
<a name="ol-upper-step5"></a>

Per abilitare la funzione Lambda a fornire dati personalizzati e intestazioni di risposta al chiamante `GetObject`, il ruolo di esecuzione della funzione Lambda deve disporre delle autorizzazioni IAM per chiamare l'API `WriteGetObjectResponse`.

**Allegare una policy IAM al ruolo della funzione Lambda**



1. Nella AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), scegli **Funzioni** nel riquadro di navigazione a sinistra. 

1. Scegli la funzione creata nella [Fase 4](#ol-upper-step4) (ad esempio, **tutorial-object-lambda-function**).

1. Nella pagina dei dettagli della funzione Lambda, scegli la scheda **Configuration (Configurazione)**, quindi scegli **Permissions (Autorizzazioni)** nel pannello di navigazione a sinistra. 

1. In **Execution role (Ruolo di esecuzione)** scegli il collegamento **Role Name (Nome ruolo)**. Si apre la console IAM. 

1. Nella pagina **Summary** (Riepilogo) della console IAM del ruolo di esecuzione della funzione Lambda, seleziona la scheda **Permissions** (Autorizzazioni). Quindi, nel menu **Add Permissions** (Aggiungi autorizzazioni), scegli **Attach policies** (Collega policy).

1. Nella pagina **Attach permissions (Allega autorizzazioni)** inserisci **AmazonS3ObjectLambdaExecutionRolePolicy** nella casella di ricerca per filtrare l'elenco di policy. Seleziona la casella di controllo accanto al nome della politica **AmazonS3 ObjectLambdaExecutionRolePolicy**. 

1. Scegli **Collega policy**. 

## Fase 6: Creazione di un punto di accesso Lambda per oggetti S3
<a name="ol-upper-step6"></a>

Un punto di accesso Lambda per oggetti S3 offre la flessibilità di richiamare una funzione Lambda direttamente da una richiesta GET S3 in modo che la funzione possa elaborare i dati recuperati da un punto di accesso S3. Quando crei e configuri un punto di accesso Lambda per oggetti S3, devi specificare la funzione Lambda da richiamare e fornire il contesto dell'evento in formato JSON come parametri personalizzati utilizzabili da Lambda.

**Per creare un punto di accesso Lambda per oggetti S3**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione sinistro, scegli **Punti di accesso Lambda dell'oggetto**.

1. Nella pagina **Object Lambda Access Points** (Punti di accesso Object Lambda), scegli **Create Object Lambda Access Point** (Crea punto di accesso Object Lambda).

1. In **Nome del punto di accesso per le espressioni Lambda dell'oggetto** immetti il nome che desideri utilizzare per il punto di accesso Lambda per oggetti (per esempio, **tutorial-object-lambda-accesspoint**). 

1. Per **Punto di accesso di supporto**, immetti o cerca il punto di accesso standard creato al [punto 3](#ol-upper-step3) (ad esempio, **tutorial-access-point**), quindi seleziona **Scegli punto di accesso di supporto**. 

1. Per **S3 APIs**, per recuperare gli oggetti dal bucket S3 per l'elaborazione della funzione Lambda, seleziona. **GetObject**

1. In **Invoke Lambda function (Chiama una funzione Lambda)** per questo tutorial puoi scegliere una delle due opzioni seguenti. 
   + Seleziona **Scegli tra le funzioni nel tuo account**, dopodiché scegli la funzione Lambda creata nella [Fase 4](#ol-upper-step4) (ad esempio, **tutorial-object-lambda-function**) dall’elenco a discesa **Funzione Lambda**.
   + Scegli **Inserisci ARN**, quindi inserisci il nome della risorsa Amazon (ARN) della funzione Lambda creata nella [Fase 4](#ol-upper-step4).

1. In **Lambda function version (Versione delle funzioni Lambda)**, scegli **\$1LATEST** (l'ultima versione della funzione Lambda creata nella [Fase 4](#ol-upper-step4)).

1. (Facoltativo) Se hai bisogno che la tua funzione Lambda riconosca ed elabori le richieste GET con intestazioni con intervalli e numeri di parte, seleziona **Lambda function supports requests using range (La funzione Lambda supporta le richieste che utilizzano l'intervallo)** e **Lambda function supports requests using part numbers (La funzione Lambda supporta le richieste che utilizzano numeri di parte)**. Altrimenti, deseleziona queste due caselle di controllo.

   Per ulteriori informazioni sull'utilizzo di intervalli o numeri di parte con Lambda per oggetti S3, consulta [Utilizzo delle intestazioni Range e partNumber](range-get-olap.md).

1. (Facoltativo) In **Payload - *optional* (Payload - facoltativo)**, aggiungi il testo JSON per fornire alla tua funzione Lambda ulteriori informazioni.

   Un payload è un testo JSON opzionale che puoi fornire alla tua funzione Lambda come input per tutte le chiamate provenienti da uno specifico punto di accesso Lambda per oggetti S3. Per personalizzare il comportamento di più punti di accesso Lambda per oggetti che invocano la stessa funzione Lambda, puoi configurare i payload con parametri diversi, estendendo così la flessibilità della funzione stessa.

   Per ulteriori informazioni sul payload, consulta [Formato e utilizzo del contesto degli eventi](olap-event-context.md).

1. (Facoltativo) In **Parametri di richiesta - *facoltativo***, scegli **Disabilita** o **Abilita** per aggiungere il monitoraggio Amazon S3 al punto di accesso Lambda per oggetti. Le metriche delle richieste vengono fatturate alla tariffa standard di Amazon CloudWatch . Per ulteriori informazioni, consultare [Prezzi di CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

1. In **Policy del punto di accesso per le espressioni Lambda dell'oggetto - *opzionale*** mantieni l'impostazione predefinita. 

   (Facoltativo) Puoi impostare una policy delle risorse. Questa policy delle risorse fornisce all'API `GetObject` l'autorizzazione per utilizzare il punto di accesso Lambda per oggetti specificato.

1. Mantieni le impostazioni rimanenti sui valori predefiniti, quindi scegli **Crea punto di accesso per le espressioni Lambda dell'oggetto**.

## Fase 7: Visualizzazione dei dati trasformati
<a name="ol-upper-step7"></a>

S3 Object Lambda è ora pronto a trasformare i tuoi dati per il tuo caso d'uso. In questo tutorial, S3 Object Lambda trasforma tutto il testo dell'oggetto in maiuscolo.

**Topics**
+ [Visualizzazione dei dati trasformati nel punto di accesso Lambda per oggetti S3](#ol-upper-step7-check-data)
+ [Esegui uno script Python per stampare i dati originali e trasformati](#ol-upper-step7-python-print)

### Visualizzazione dei dati trasformati nel punto di accesso Lambda per oggetti S3
<a name="ol-upper-step7-check-data"></a>

Quando si richiede di recuperare un file attraverso il proprio punto di accesso Lambda per oggetti S3, si effettua una chiamata API `GetObject` a Lambda per oggetti S3. S3 Object Lambda richiama la funzione Lambda per trasformare i dati, dopodiché restituisce i dati trasformati come risposta alla chiamata API `GetObject` S3 standard.

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Object Lambda Access Points (Punti di accesso Object Lambda)**.

1. Nella pagina **Punti di accesso Lambda dell'oggetto** scegli il punto di accesso Lambda per oggetti S3 creato nella [Fase 6](#ol-upper-step6) (ad esempio, **tutorial-object-lambda-accesspoint**).

1. Nella scheda **Oggetti** del punto di accesso Lambda per oggetti S3, seleziona il file con lo stesso nome (ad esempio, `tutorial.txt`) di quello che hai caricato nel bucket S3 nella [Fase 2](#ol-upper-step2). 

   Questo file deve contenere tutti i dati trasformati.

1. Per visualizzare i dati trasformati, scegli **Open (Apri)** o **Download (Scarica)**.

### Esegui uno script Python per stampare i dati originali e trasformati
<a name="ol-upper-step7-python-print"></a>

Puoi utilizzare S3 Object Lambda con le tue applicazioni esistenti. A tale scopo, aggiorna la configurazione dell'applicazione in modo da utilizzare l'ARN del nuovo punto di accesso Lambda per oggetti S3 creato nella [Fase 6](#ol-upper-step6) per recuperare i dati da S3.

Il seguente script Python di esempio stampa sia i dati originali dal bucket S3 sia i dati trasformati dal punto di accesso Lambda per oggetti S3. 

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Object Lambda Access Points (Punti di accesso Object Lambda)**.

1. Nella pagina **Punti di accesso Lambda dell'oggetto** scegli il pulsante di opzione a sinistra del punto di accesso Lambda per oggetti S3 creato nella [Fase 6](#ol-upper-step6) (ad esempio, **tutorial-object-lambda-accesspoint**).

1. Scegli **Copy ARN** (Copia ARN).

1. Salva l'ARN per utilizzarlo in un secondo momento.

1. Scrivi uno script Python sul tuo computer locale per stampare sia i dati originali (ad esempio, `tutorial.txt`) dal tuo bucket S3 sia i dati trasformati (ad esempio, `tutorial.txt`) dal punto di accesso Lambda per oggetti S3. Puoi utilizzare il seguente script di esempio. 

   ```
   import boto3
   from botocore.config import Config
   
   s3 = boto3.client('s3', config=Config(signature_version='s3v4'))
   
   def getObject(bucket, key):
       objectBody = s3.get_object(Bucket = bucket, Key = key)
       print(objectBody["Body"].read().decode("utf-8"))
       print("\n")
   
   print('Original object from the S3 bucket:')
   # Replace the two input parameters of getObject() below with 
   # the S3 bucket name that you created in Step 1 and 
   # the name of the file that you uploaded to the S3 bucket in Step 2
   getObject("tutorial-bucket", 
             "tutorial.txt")
   
   print('Object transformed by S3 Object Lambda:')
   # Replace the two input parameters of getObject() below with 
   # the ARN of your S3 Object Lambda Access Point that you saved earlier and
   # the name of the file with the transformed data (which in this case is
   # the same as the name of the file that you uploaded to the S3 bucket 
   # in Step 2)
   getObject("arn:aws:s3-object-lambda:us-west-2:111122223333:accesspoint/tutorial-object-lambda-accesspoint",
             "tutorial.txt")
   ```

1. Salva il tuo script Python con un nome personalizzato (ad esempio, `tutorial_print.py`) nella cartella (ad esempio, `object-lambda`) che hai creato nella [Fase 4](#ol-upper-step4) sul computer locale.

1. Nel terminale locale, esegui il seguente comando dalla root della directory (ad esempio, `object-lambda`) che hai creato nella [Fase 4](#ol-upper-step4).

   ```
   python3 tutorial_print.py
   ```

   Dovresti vedere sia i dati originali sia i dati trasformati (tutto il testo in maiuscolo) attraverso il terminale. Per esempio l'output visualizzato sarà simile al testo seguente.

   ```
   Original object from the S3 bucket:
   Amazon S3 Object Lambda Tutorial:
   You can add your own code to process data retrieved from S3 before 
   returning it to an application.
   
   Object transformed by S3 Object Lambda:
   AMAZON S3 OBJECT LAMBDA TUTORIAL:
   YOU CAN ADD YOUR OWN CODE TO PROCESS DATA RETRIEVED FROM S3 BEFORE 
   RETURNING IT TO AN APPLICATION.
   ```

## Fase 8: Pulizia
<a name="ol-upper-step8"></a>

Se hai trasformato i dati attraverso S3 Object Lambda solo come esercizio di apprendimento, elimina le risorse AWS che hai allocato per non accumulare più addebiti. 

**Topics**
+ [Eliminazione del punto di accesso Lambda per oggetti](#ol-upper-step8-delete-olap)
+ [Eliminazione del punto di accesso S3](#ol-upper-step8-delete-ap)
+ [Eliminazione del ruolo di esecuzione per la funzione Lambda](#ol-upper-step8-delete-lambda-role)
+ [Eliminazione della funzione Lambda](#ol-upper-step8-delete-lambda-function)
+ [Elimina il gruppo di CloudWatch log](#ol-upper-step8-delete-cloudwatch)
+ [Eliminazione del file originale nel bucket S3 di origine](#ol-upper-step8-delete-file)
+ [Eliminazione del bucket S3 di origine](#ol-upper-step8-delete-bucket)
+ [Eliminazione dell'utente IAM](#ol-upper-step8-delete-user)

### Eliminazione del punto di accesso Lambda per oggetti
<a name="ol-upper-step8-delete-olap"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Object Lambda Access Points (Punti di accesso Object Lambda)**.

1. Nella pagina **Punti di accesso Lambda dell'oggetto** scegli il pulsante di opzione a sinistra del punto di accesso Lambda per oggetti S3 creato nella [Fase 6](#ol-upper-step6) (ad esempio, **tutorial-object-lambda-accesspoint**).

1. Scegli **Elimina**.

1. Conferma di voler eliminare il punto di accesso Lambda per oggetti inserendone il nome nel campo di testo che viene visualizzato, quindi scegli **Elimina**.

### Eliminazione del punto di accesso S3
<a name="ol-upper-step8-delete-ap"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Access Points (Punti di accesso)**.

1. Passa al punto di accesso creato nella [Fase 3](#ol-upper-step3) (ad esempio, **tutorial-access-point**), quindi scegli il pulsante di opzione accanto al nome del punto di accesso.

1. Scegli **Elimina**.

1. Conferma di voler eliminare il punto di accesso inserendone il nome nel campo di testo che viene visualizzato, quindi scegli **Delete (Elimina)**.

### Eliminazione del ruolo di esecuzione per la funzione Lambda
<a name="ol-upper-step8-delete-lambda-role"></a>

1. Accedi a Console di gestione AWS e apri la AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Nel pannello di navigazione a sinistra, scegli **Functions (Funzioni)**.

1. Scegli la funzione creata nella [Fase 4](#ol-upper-step4) (ad esempio, **tutorial-object-lambda-function**).

1. Nella pagina dei dettagli della funzione Lambda, scegli la scheda **Configuration (Configurazione)**, quindi scegli **Permissions (Autorizzazioni)** nel pannello di navigazione a sinistra. 

1. In **Execution role (Ruolo di esecuzione)** scegli il collegamento **Role Name (Nome ruolo)**. Si apre la console IAM.

1. Nella pagina **Summary (Riepilogo)** della console IAM del ruolo di esecuzione della funzione Lambda, scegli **Delete role (Elimina ruolo)**.

1. Nella finestra di dialogo **Delete role (Elimina ruolo)**, scegli **Yes, Delete (Sì, elimina)**.

### Eliminazione della funzione Lambda
<a name="ol-upper-step8-delete-lambda-function"></a>

1. Nella AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), scegli **Funzioni** nel riquadro di navigazione a sinistra. 

1. Seleziona la casella di controllo a sinistra del nome della funzione creata nella [Fase 4](#ol-upper-step4) (ad esempio, **tutorial-object-lambda-function**).

1. Scegli **Azioni**, quindi **Elimina**.

1. Nella finestra di dialogo **Delete function (Elimina funzione)**, scegli **Delete (Elimina)**.

### Elimina il gruppo di CloudWatch log
<a name="ol-upper-step8-delete-cloudwatch"></a>

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel pannello di navigazione a sinistra, scegli **Log groups (Gruppi di log)**.

1. Individua il gruppo di log il cui nome termina con la funzione Lambda creata nella [Fase 4](#ol-upper-step4)( ad esempio, **tutorial-object-lambda-function**).

1. Seleziona la casella di controllo a sinistra del nome del gruppo di registri.

1. Scegli **Actions (Operazioni)**, quindi scegli **Delete log group(s) (Elimina gruppi di log)**.

1. Nella finestra di dialogo **Delete log group(s) (Elimina gruppo/i di log)** scegli **Delete (Elimina)**.

### Eliminazione del file originale nel bucket S3 di origine
<a name="ol-upper-step8-delete-file"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets (Bucket)**.

1. Nell'elenco **Bucket name (Nome bucket)** scegli il nome del bucket su cui hai caricato il file originale nella [Fase 2](#ol-upper-step2) (ad esempio, **tutorial-bucket**).

1. Seleziona la casella di controllo a sinistra del nome dell'oggetto da eliminare (ad esempio, `tutorial.txt`).

1. Scegli **Elimina**.

1. Nella pagina **Delete objects (Elimina oggetti)**, nella sezione **Permanently delete objects? (Eliminare definitivamente gli oggetti?)** conferma che desideri eliminare questo oggetto inserendo **permanently delete** nella casella di testo.

1. Scegliere **Delete objects (Elimina oggetti)**.

### Eliminazione del bucket S3 di origine
<a name="ol-upper-step8-delete-bucket"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets (Bucket)**.

1. Nell'elenco **Buckets (Bucket)** seleziona il pulsante di opzione accanto al nome del bucket creato nella [Fase 1](#ol-upper-step1) (ad esempio, **tutorial-bucket**).

1. Scegli **Elimina**.

1. Nella pagina **Delete bucket (Elimina bucket)** conferma che desideri eliminare il bucket inserendone il nome nel campo di testo e quindi scegli **Delete bucket (Elimina bucket)**.

### Eliminazione dell'utente IAM
<a name="ol-upper-step8-delete-user"></a>

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione a sinistra, scegli **Users (Utenti)**, quindi seleziona la casella di controllo accanto al nome utente che desideri eliminare.

1. Nella parte superiore della pagina, scegli **Delete (Elimina)**.

1. Nella sezione **Elimina*user name*?** finestra di dialogo, inserisci il nome utente nel campo di immissione del testo per confermare l'eliminazione dell'utente. Scegli **Elimina**.

## Fasi successive
<a name="ol-upper-next-steps"></a>

Dopo aver completato questo tutorial, puoi personalizzare la funzione Lambda per il tuo caso d'uso in modo da modificare i dati restituiti dalle richieste GET S3 standard.

Di seguito è riportato un elenco di casi d'uso comuni per S3 Object Lambda:
+ Mascheramento dei dati sensibili per la sicurezza e la conformità.

  Per ulteriori informazioni, consulta [Tutorial: rilevamento e oscuramento dei dati PII con S3 Object Lambda e Amazon Comprehend](tutorial-s3-object-lambda-redact-pii.md).
+ Filtraggio di determinate righe di dati per fornire informazioni specifiche.
+ Arricchimento dei dati con informazioni provenienti da altri servizi o database.
+ Conversione tra formati di dati, come la conversione di XML in JSON per la compatibilità delle applicazioni.
+ Compressione o decompressione dei file durante il download.
+ Ridimensionamento delle immagini e creazione della filigrana.

  Per ulteriori informazioni, consulta [Tutorial: utilizzo di S3 Object Lambda per aggiungere filigrane alle immagini in modo dinamico man mano che vengono recuperate](https://aws.amazon.com/getting-started/hands-on/amazon-s3-object-lambda-to-dynamically-watermark-images/?ref=docs_gateway/amazons3/tutorial-s3-object-lambda-uppercase.html).
+ Implementazione di regole di autorizzazione personalizzate per accedere ai dati.

Per ulteriori informazioni su S3 Object Lambda, consulta [Trasformazione di oggetti con S3 Object Lambda](transforming-objects.md).

# Tutorial: rilevamento e oscuramento dei dati PII con S3 Object Lambda e Amazon Comprehend
<a name="tutorial-s3-object-lambda-redact-pii"></a>

**Nota**  
A partire dal 7 novembre 2025, S3 Object Lambda è disponibile solo per i clienti esistenti che attualmente utilizzano il servizio e per alcuni AWS partner Partner Network (APN). Per funzionalità simili a Lambda per oggetti S3, consulta [Modifica della disponibilità di Lambda per oggetti Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html).

Quando utilizzi Amazon S3 per set di dati condivisi per l'accesso di più applicazioni e utenti, è importante limitare le informazioni privilegiate, ad esempio le informazioni personali di identificazione (PII), solo alle entità autorizzate. Ad esempio, quando un'applicazione di marketing utilizza alcuni dati contenenti PII, in primo luogo potrebbe essere necessario mascherare i dati PII per soddisfare i requisiti di privacy dei dati. Inoltre, quando un'applicazione di analisi dei dati utilizza un set di dati di inventario con ordine di produzione, in primo luogo potrebbe essere necessario oscurare le informazioni della carta di credito del cliente per evitare perdite di dati non intenzionali.

Con [S3 Object Lambda](https://aws.amazon.com/s3/features/object-lambda) e una funzione AWS Lambda precostituita basata su Amazon Comprehend, puoi proteggere i dati PII recuperati da S3 prima di restituirli a un'applicazione. Nello specifico, puoi utilizzare la [funzione Lambda](https://aws.amazon.com/lambda/) precostituita come funzione di oscuramento e allegarla a un punto di accesso Lambda per oggetti S3. Quando un’applicazione (ad esempio un’applicazione di analisi) invia [richieste GET S3 standard](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html), queste richieste effettuate tramite il punto di accesso Lambda per oggetti S3 invocano la funzione Lambda di oscuramento predefinita per rilevare e oscurare i dati PII recuperati da un’origine dati sottostante attraverso un punto di accesso S3 di supporto. Quindi, il punto di accesso Lambda per oggetti S3 restituisce il risultato oscurato all'applicazione.

![\[Questo è un diagramma del flusso di lavoro S3 Object Lambda.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/ol-comprehend-image-global.png)


Nel processo, la funzione Lambda precostituita utilizza [Amazon Comprehend,](https://aws.amazon.com/comprehend/) un servizio di elaborazione del linguaggio naturale (NLP, Natural Language Processing), per acquisire variazioni nel modo in cui le PII sono rappresentate, indipendentemente dall'esistenza di PII nel testo (ad esempio in numeri o come combinazione di parole e numeri). Amazon Comprehend può anche utilizzare il contesto del testo per capire se un numero di 4 cifre è un PIN, gli ultimi quattro numeri di un numero di previdenza sociale (SSN) o un anno. Amazon Comprehend elabora qualsiasi file di testo in formato UTF-8 e può proteggere le PII su larga scala senza compromettere la precisione. Per ulteriori informazioni, consulta [Cos'è Amazon Comprehend?](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html) nella *Guida per Developer di Amazon Comprehend*.

**Obiettivo**  
In questo tutorial, imparerai a utilizzare S3 Object Lambda con la funzione Lambda precostituita `ComprehendPiiRedactionS3ObjectLambda`. Questa funzione utilizza Amazon Comprehend per rilevare entità PII. Oscurare quindi queste entità sostituendole con asterischi. Oscurando le PII, si nascondono i dati sensibili, cosa che può contribuire alla sicurezza e alla conformità.

Imparerai anche a usare e configurare una AWS Lambda funzione predefinita per lavorare insieme [AWS Serverless Application Repository](https://aws.amazon.com/serverless/serverlessrepo/)a S3 Object Lambda per una facile implementazione. 

**Topics**
+ [Prerequisiti: creazione di un utente IAM con autorizzazioni](#ol-pii-prerequisites)
+ [Fase 1: Creazione di un bucket S3](#ol-pii-step1)
+ [Fase 2: Caricamento di un file nel bucket S3](#ol-pii-step2)
+ [Fase 3: Creazione di un punto di accesso S3](#ol-pii-step3)
+ [Fase 4: Configurazione e implementazione di una funzione Lambda precostituita](#ol-pii-step4)
+ [Fase 5: Creazione di un punto di accesso Lambda per oggetti S3](#ol-pii-step5)
+ [Fase 6: Utilizzo del punto di accesso Lambda per oggetti S3 per recuperare il file oscurato](#ol-pii-step6)
+ [Fase 7: pulire](#ol-pii-step7)
+ [Fasi successive](#ol-pii-next-steps)

## Prerequisiti: creazione di un utente IAM con autorizzazioni
<a name="ol-pii-prerequisites"></a>

Prima di iniziare questo tutorial, devi disporre di un AWS account a cui puoi accedere come AWS Identity and Access Management utente (utente IAM) con le autorizzazioni corrette.

Puoi creare un utente IAM per il tutorial. Per completare questo tutorial, l'utente IAM deve allegare le seguenti politiche IAM per accedere alle AWS risorse pertinenti ed eseguire azioni specifiche. 

**Nota**  
Per semplicità, questo tutorial crea e utilizza un utente IAM. Dopo aver completato il tutorial, ricordati di [Eliminazione dell'utente IAM](#ol-pii-step8-delete-user). Per l'uso in produzione, consigliamo di seguire le [best practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) disponibili nella *Guida per l'utente di IAM*. Come best practice, richiedi agli utenti di utilizzare la federazione con un gestore dell'identità digitale per accedere a AWS utilizzando credenziali temporanee. Un'ulteriore suggerimento derivante dalle best practice è richiedere ai carichi di lavoro di utilizzare credenziali temporanee con ruoli IAM per l'accesso ad AWS. Per ulteriori informazioni sull'utilizzo AWS IAM Identity Center per creare utenti con credenziali temporanee, consulta Guida [introduttiva](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) nella *Guida per l'AWS IAM Identity Center utente*.   
Per semplicità, questo tutorial utilizza policy di accesso completo. Per l'utilizzo in produzione, è consigliabile invece concedere solo le autorizzazioni minime necessarie per il caso d'uso, in conformità con le [best practice in fatto di sicurezza](security-best-practices.md#security-best-practices-prevent).

Il tuo utente IAM richiede le seguenti politiche AWS gestite:
+ [AmazonS3 FullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor): concede le autorizzazioni per tutte le azioni di Amazon S3, incluse le autorizzazioni per creare e utilizzare un punto di accesso Object Lambda. 
+ [AWSLambda\$1FullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSLambda_FullAccess$jsonEditor)— Concede le autorizzazioni per tutte le azioni Lambda. 
+ [AWSCloudFormationFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AWSCloudFormationFullAccess$serviceLevelSummary)— Concede le autorizzazioni per tutte le azioni. AWS CloudFormation 
+ [IAMFullAccesso](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMFullAccess$jsonEditor): concede le autorizzazioni a tutte le azioni IAM. 
+ [IAMAccessAnalyzerReadOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/IAMAccessAnalyzerReadOnlyAccess$jsonEditor)— Concede le autorizzazioni per leggere tutte le informazioni di accesso fornite da IAM Access Analyzer. 

Puoi allegare direttamente queste policy esistenti durante la creazione di un utente IAM. Per ulteriori informazioni su come creare un utente IAM, consulta [Creazione di utenti IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) nella *Guida per l'utente di IAM*.

Inoltre, l'utente IAM richiede una policy gestita dal cliente. Per concedere all'utente IAM le autorizzazioni per tutte le AWS Serverless Application Repository risorse e le azioni, devi creare una policy IAM e allegarla all'utente IAM.

**Per creare e allegare una policy IAM a un utente IAM**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione sinistro, scegli **Policy**.

1. Scegli **Crea policy**. 

1. Nella scheda **Visual editor** (Editor visivo), in **Service** (Servizio), seleziona **Choose a Service** (Scegli un servizio). Poi, scegli **Serverless Application Repository**. 

1. In **Actions** (Operazioni), sotto **Manual actions (Operazioni manuali)**, seleziona **All Serverless Application Repository actions (serverlessrepo:\$1)** (Tutte le operazioni Serverless Application Repository (serverlessrepo:\$1)) per questo tutorial.

   Come best practice di sicurezza, dovresti concedere le autorizzazioni solo alle operazioni e alle risorse necessarie all'utente, in base al tuo caso d'uso. Per ulteriori informazioni, consulta [Best Practice di sicurezza in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) nella *Guida per l'utente di IAM*.

1. In **Resources** (Risorse), scegli **All resources** (Tutte le risorse) per questo tutorial.

   Come best practice, è consigliabile definire le autorizzazioni solo per risorse specifiche in account specifici. In alternativa, puoi concedere un privilegio minimo utilizzando le chiavi di condizione. Per ulteriori informazioni, consulta [Assegnare il privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) nella *Guida per l'utente di IAM*.

1. Scegliere **Next: Tags (Successivo: Tag)**.

1. Scegliere **Next:Review (Successivo: Rivedi)**.

1. Nella pagina **Esamina la policy** digita i valori per **Nome** (ad esempio, **tutorial-serverless-application-repository**) e **Descrizione** (facoltativa) per la policy che stai creando. Esaminare il riepilogo della policy per assicurarsi di aver concesso le autorizzazioni corrette e selezionare **Create policy (Crea policy)** per salvare la nuova policy.

1. Nel riquadro di navigazione a sinistra, seleziona **Users (Utenti)**. Quindi, scegli l'utente IAM per questo tutorial. 

1. Nella pagina **Summary** (Riepilogo) dell'utente scelto, scegli la scheda **Permissions** (Autorizzazioni), quindi scegli **Add permissions** (Aggiungi autorizzazioni).

1. In **Grant permissions** (Concedi autorizzazioni) scegli **Attach existing policies directly** (Collega direttamente le policy esistenti).

1. Seleziona la casella di controllo accanto alla policy creata (ad esempio, **tutorial-serverless-application-repository**) e quindi scegli **Next: Review **(Successivo: Rivedi). 

1. In **Permissions summary** (Riepilogo delle autorizzazioni) esaminare il riepilogo per accertarti di aver allegato la policy desiderata. Quindi seleziona **Add permissions** (Aggiungi autorizzazioni).

## Fase 1: Creazione di un bucket S3
<a name="ol-pii-step1"></a>

Crea un bucket per archiviare i dati originali che intendi trasformare. 

**Nota**  
I punti di accesso possono essere collegati a un'altra fonte di dati, come un volume Amazon FSx for OpenZFS, tuttavia questo tutorial utilizza un punto di accesso di supporto collegato a un bucket S3.

**Per creare un bucket**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Scegliere **Create bucket (Crea bucket)**. 

   Viene visualizzata la pagina **Create bucket (Crea bucket)**.

1. In **Bucket name** (Nome bucket), inserisci un nome per il bucket (ad esempio **tutorial-bucket**). 

   Per ulteriori informazioni sulle regole di denominazione del bucket in Amazon S3, consulta [Regole di denominazione dei bucket per uso generico](bucketnamingrules.md).

1. Per **Regione**, scegli la Regione AWS dove desideri che il bucket risieda. 

   Per ulteriori informazioni sulla Regione del bucket, consulta [Panoramica dei bucket per uso generico](UsingBucket.md).

1. In **Block Public Access settings for this bucket** (Blocca le impostazioni di accesso pubblico per questo bucket), mantieni le impostazioni predefinite (è abilitato **Block *all *public access** (Blocca tutto l'accesso pubblico). 

   È consigliabile di lasciare abilitate tutte le impostazioni di blocco dell'accesso pubblico, a meno che non abbia bisogno di disattivarne una o più per il caso d'uso. Per ulteriori informazioni sul blocco dell'accesso pubblico, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).

1. Mantieni le impostazioni rimanenti impostate sui valori di default. 

   (Facoltativo) Se desideri configurare ulteriori impostazioni del bucket per il tuo caso d'uso specifico, consulta [Creazione di un bucket per uso generico](create-bucket-overview.md).

1. Seleziona **Crea bucket**.

## Fase 2: Caricamento di un file nel bucket S3
<a name="ol-pii-step2"></a>

Carica un file di testo contenente dati PII noti di vario tipo, come nomi, informazioni bancarie, numeri di telefono e SSNs, nel bucket S3, come dati originali dai quali eliminerai le PII più avanti in questo tutorial. 

Ad esempio, puoi caricare il seguente file `tutorial.txt`. Questo è un esempio di file di input di Amazon Comprehend.

```
Hello Zhang Wei, I am John. Your AnyCompany Financial Services, 
LLC credit card account 1111-0000-1111-0008 has a minimum payment 
of $24.53 that is due by July 31st. Based on your autopay settings, 
we will withdraw your payment on the due date from your 
bank account number XXXXXX1111 with the routing number XXXXX0000. 

Your latest statement was mailed to 100 Main Street, Any City, 
WA 98121. 
After your payment is received, you will receive a confirmation 
text message at 206-555-0100. 
If you have questions about your bill, AnyCompany Customer Service 
is available by phone at 206-555-0199 or 
email at support@anycompany.com.
```

**Per caricare un file in un bucket**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Buckets** (Bucket) scegli il nome del bucket creato nella [Fase 1](#ol-pii-step1) (ad esempio,**tutorial-bucket**) in cui caricare il file.

1. Nella scheda **Oggetti** del bucket seleziona **Carica**.

1. Nella pagina **Upload** (Caricamento), sotto **Files and Folders** (File e cartelle) scegli **Add Files** (Aggiungi file).

1. Seleziona un file da caricare, quindi scegli **Apri**. Ad esempio, puoi caricare il file di esempio `tutorial.txt` menzionato in precedenza.

1. Scegli **Carica**.

## Fase 3: Creazione di un punto di accesso S3
<a name="ol-pii-step3"></a>

Per utilizzare un punto di accesso Lambda per oggetti S3 per accedere e trasformare i dati originali, devi creare un punto di accesso S3 e associarlo al bucket S3 creato nella [Fase 1](#ol-pii-step1). Il punto di accesso deve trovarsi nello stesso punto in cui Regione AWS si trovano gli oggetti che desideri trasformare.

Più avanti in questo tutorial, utilizzerai questo punto di accesso come punto di accesso di supporto per il tuo punto di accesso Lambda per oggetti. 

**Per creare un punto di accesso**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Access Points** (Punti di accesso).

1. Nella pagina **Punto di accesso**, scegli **Crea punto di accesso**.

1. Nel campo **Nome del punto di accesso**, inserisci il nome (ad esempio, **tutorial-pii-access-point**) del punto di accesso.

   Per ulteriori informazioni sulla denominazione dei punti di accesso, consulta [Regole di denominazione dei punti di accesso](access-points-restrictions-limitations-naming-rules.md#access-points-names).

1. Nel campo **Origine dati** inserisci il nome del bucket creato nella [Fase 1](#ol-pii-step1) (ad esempio, **tutorial-bucket**). S3 allega quindi il punto di accesso a questo bucket. 

   (Facoltativo) Puoi scegliere **Browse S3** (Sfoglia S3) per sfogliare e cercare i bucket nell'account. Se scegli **Browse S3** (Sfoglia S3), scegli il bucket desiderato e scegli **Choose path** (Scegli percorso) per popolare il campo **Bucket name** (Nome bucket) con il nome del bucket.

1. In **Network origin** (Origine rete), scegli **Internet**. 

   Per ulteriori informazioni sulle origini della rete per i punti di accesso, consulta [Creazione di access point limitati a un cloud privato virtuale](access-points-vpc.md).

1. Tutte le impostazioni di blocco dell'accesso pubblico sono abilitate per impostazione predefinita per il punto di accesso. È consigliabile lasciare abilitato **Block *all* public access** (Blocca tutto l'accesso pubblico). Per ulteriori informazioni, consulta [Gestione dell’accesso pubblico ai punti di accesso per bucket per uso generico](access-points-bpa-settings.md).

1. Per tutte le altre impostazioni del punto di accesso, mantieni i valori di default.

   (Facoltativo) Puoi modificare le impostazioni del punto di accesso per supportare il caso d'uso. Per questo tutorial, ti consigliamo di mantenere le impostazioni di default. 

   (Facoltativo) Se è necessario gestire l'accesso al punto di accesso, puoi specificare una policy per il punto di accesso. Per ulteriori informazioni, consulta [Esempi di policy per i punti di accesso](access-points-policies.md#access-points-policy-examples). 

1. Scegli **Crea punto di accesso**.

## Fase 4: Configurazione e implementazione di una funzione Lambda precostituita
<a name="ol-pii-step4"></a>

Per oscurare i dati PII, configura e implementa la funzione AWS Lambda precostituita `ComprehendPiiRedactionS3ObjectLambda` per l'utilizzo con il punto di accesso Lambda per oggetti S3.

**Per configurare e implementare la funzione Lambda**

1. Accedi a Console di gestione AWS e visualizza la [https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:839782855223:applications/ComprehendPiiRedactionS3ObjectLambda](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:839782855223:applications/ComprehendPiiRedactionS3ObjectLambda)funzione in. AWS Serverless Application Repository

1. In **Application settings** (Impostazioni applicazioni), sotto **Application name** (Nome applicazione), mantieni il valore di default (`ComprehendPiiRedactionS3ObjectLambda`) per questo tutorial.

   (Facoltativo) Puoi inserire il nome che desideri assegnare a questa applicazione. Puoi eseguire questa operazione se prevedi di configurare più funzioni Lambda per esigenze di accesso diverse per lo stesso set di dati condiviso.

1. Per **MaskCharacter**, mantieni il valore predefinito (`*`). Il carattere maschera sostituisce ogni carattere nell'entità PII oscurata. 

1. Perché **MaskMode**, mantieni il valore predefinito (**MASK**). Il **MaskMode**valore specifica se l'entità PII viene oscurata con il `MASK` carattere o il valore. `PII_ENTITY_TYPE`

1. **Per oscurare i tipi di dati specificati, for **PiiEntityTypes**, mantieni il valore predefinito ALL.** Il **PiiEntityTypes**valore specifica i tipi di entità PII da considerare per la redazione. 

   Per ulteriori informazioni sull'elenco dei tipi di entità PII supportati, vedi [Detect Personally Identifiable Information (PII)](https://docs.aws.amazon.com/comprehend/latest/dg/how-pii.html) nella *Guida per Developer di Amazon Comprehend*.

1. Mantieni le impostazioni rimanenti impostate sui valori predefiniti.

   (Facoltativo) Se desideri configurare impostazioni aggiuntive per il caso d'uso specifico, consulta la sezione **File readme** sul lato sinistro della pagina.

1. Selezionare la casella di controllo accanto a **I acknowledge that this app creates custom IAM roles (Confermo che questa app crea ruoli IAM personalizzati)**.

1. Seleziona **Implementa**.

1. Nella pagina della nuova applicazione, sotto **Resources** (Risorse), scegli il **Logical ID (ID logico)** della funzione Lambda implementata per rivedere la funzione nella pagina della funzione Lambda.

## Fase 5: Creazione di un punto di accesso Lambda per oggetti S3
<a name="ol-pii-step5"></a>

Un punto di accesso Lambda per oggetti S3 offre la flessibilità di richiamare una funzione Lambda direttamente da una richiesta GET S3 in modo che la funzione possa oscurare i dati PII recuperati da un punto di accesso S3. Quando crei e configuri un punto di accesso Lambda per oggetti S3, devi specificare la funzione Lambda di oscuramento da richiamare e fornire il contesto dell'evento in formato JSON come parametri personalizzati utilizzabili da Lambda. 

Il contesto dell'evento fornisce informazioni relative alla richiesta eseguita nell'evento inviato da S3 Object Lambda a Lambda. Per ulteriori informazioni su tutti i campi nel contesto dell'evento, consulta [Formato e utilizzo del contesto degli eventi](olap-event-context.md).

**Per creare un punto di accesso Lambda per oggetti S3**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione sinistro, scegli **Punti di accesso Lambda dell'oggetto**.

1. Nella pagina **Object Lambda Access Points** (Punti di accesso Object Lambda), scegli **Create Object Lambda Access Point** (Crea punto di accesso Object Lambda).

1. In **Nome del punto di accesso per le espressioni Lambda dell'oggetto** immetti il nome che desideri utilizzare per il punto di accesso Lambda per oggetti (per esempio, **tutorial-pii-object-lambda-accesspoint**). 

1. Per **Punto di accesso di supporto**, immetti o cerca il punto di accesso standard creato al [punto 3](#ol-pii-step3) (ad esempio, **tutorial-pii-access-point**), quindi seleziona **Scegli punto di accesso di supporto**. 

1. Per **S3 APIs**, per recuperare gli oggetti dal bucket S3 per l'elaborazione della funzione Lambda, seleziona. **GetObject**

1. Per l'**invocazione della funzione Lambda**, si può scegliere una delle due opzioni seguenti per questa esercitazione. 
   + Seleziona **Scegli tra le funzioni nel tuo account**, e scegli la funzione Lambda implementata nella [Fase 4](#ol-pii-step4) (ad esempio, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**) dall’elenco a discesa **Funzione Lambda**.
   + Scegli **Enter ARN (Inserisci ARN)**, quindi inserisci l'Amazon Resource Name (ARN) della funzione Lambda creata nella [Fase 4](#ol-pii-step4).

1. In **Lambda function version** (Versione delle funzioni Lambda), scegli **\$1LATEST** (l'ultima versione della funzione Lambda implementata nella [Fase 4](#ol-pii-step4)).

1. (Facoltativo) Se hai bisogno che la tua funzione Lambda riconosca ed elabori le richieste GET con intestazioni con intervalli e numeri di parte, seleziona **Lambda function supports requests using range** (La funzione Lambda supporta le richieste che utilizzano l'intervallo) e **Lambda function supports requests using part numbers** (La funzione Lambda supporta le richieste che utilizzano numeri di parte). Altrimenti, deseleziona queste due caselle di controllo.

   Per ulteriori informazioni sull'utilizzo di intervalli o numeri di parte con Lambda per oggetti S3, consulta [Utilizzo delle intestazioni Range e partNumber](range-get-olap.md).

1. (Facoltativo) In **Payload - *optional* (Payload - facoltativo)**, aggiungi il testo JSON per fornire alla tua funzione Lambda ulteriori informazioni.

   Un payload è un testo JSON opzionale che puoi fornire alla tua funzione Lambda come input per tutte le chiamate provenienti da uno specifico punto di accesso Lambda per oggetti S3. Per personalizzare il comportamento di più punti di accesso Lambda per oggetti che invocano la stessa funzione Lambda, puoi configurare i payload con parametri diversi, estendendo così la flessibilità della funzione stessa.

   Per ulteriori informazioni sul payload, consulta [Formato e utilizzo del contesto degli eventi](olap-event-context.md).

1. (Facoltativo) In **Parametri di richiesta - *facoltativo***, scegli **Disabilita** o **Abilita** per aggiungere il monitoraggio Amazon S3 al punto di accesso Lambda per oggetti. Le metriche delle richieste vengono fatturate alla tariffa standard di Amazon CloudWatch . Per ulteriori informazioni, consultare [Prezzi di CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

1. In **Policy del punto di accesso per le espressioni Lambda dell'oggetto - *opzionale*** mantieni l'impostazione predefinita. 

   (Facoltativo) Puoi impostare una policy delle risorse. Questa policy delle risorse fornisce all'API `GetObject` l'autorizzazione per utilizzare il punto di accesso Lambda per oggetti specificato.

1. Mantieni le impostazioni rimanenti sui valori di default, quindi scegli**Create Object Lambda Access Point (Crea punto di accesso Object Lambda)**.

## Fase 6: Utilizzo del punto di accesso Lambda per oggetti S3 per recuperare il file oscurato
<a name="ol-pii-step6"></a>

Ora, S3 Object Lambda è pronto a oscurare i dati PII dal file originale. 

**Per utilizzare il punto di accesso Lambda per oggetti S3 per recuperare il file oscurato**

Quando chiedi di recuperare un file tramite il punto di accesso Lambda per oggetti S3, esegui una chiamata API `GetObject` a Lambda per oggetti S3. S3 Object Lambda richiama la funzione Lambda per oscurare i dati PII e restituisce i dati trasformati come risposta alla chiamata API `GetObject` S3 standard.

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Object Lambda Access Points (Punti di accesso Object Lambda)**.

1. Nella pagina **Punti di accesso Lambda dell'oggetto** scegli il punto di accesso Lambda per oggetti S3 creato nella [Fase 5](#ol-pii-step5) (ad esempio, **tutorial-pii-object-lambda-accesspoint**).

1. Nella scheda **Oggetti** del punto di accesso Lambda per oggetti S3, seleziona il file con lo stesso nome (ad esempio, `tutorial.txt`) di quello che hai caricato nel bucket S3 nella [Fase 2](#ol-pii-step2). 

   Questo file deve contenere tutti i dati trasformati.

1. Per visualizzare i dati trasformati, scegli **Open (Apri)** o **Download (Scarica)**.

    Dovresti visualizzare il file oscurato, come mostrato nell'esempio seguente. 

   ```
   Hello *********. Your AnyCompany Financial Services, 
   LLC credit card account ******************* has a minimum payment 
   of $24.53 that is due by *********. Based on your autopay settings, 
   we will withdraw your payment on the due date from your 
   bank account ********** with the routing number *********. 
   
   Your latest statement was mailed to **********************************. 
   After your payment is received, you will receive a confirmation 
   text message at ************. 
   If you have questions about your bill, AnyCompany Customer Service 
   is available by phone at ************ or 
   email at **********************.
   ```

## Fase 7: pulire
<a name="ol-pii-step7"></a>

Se hai oscurato i tuoi dati tramite S3 Object Lambda solo come esercizio di apprendimento, elimina le AWS risorse che hai allocato in modo da non incorrere più in costi. 

**Topics**
+ [Eliminazione del punto di accesso Lambda per oggetti](#ol-pii-step8-delete-olap)
+ [Eliminazione del punto di accesso S3](#ol-pii-step8-delete-ap)
+ [Eliminazione della funzione Lambda](#ol-pii-step8-delete-lambda-function)
+ [Elimina il gruppo di CloudWatch log](#ol-pii-step8-delete-cloudwatch)
+ [Eliminazione del file originale nel bucket S3 di origine](#ol-pii-step8-delete-file)
+ [Eliminazione del bucket S3 di origine](#ol-pii-step8-delete-bucket)
+ [Eliminazione del ruolo IAM per la funzione Lambda](#ol-pii-step8-delete-lambda-role)
+ [Eliminazione dei criteri gestiti dal cliente per l'utente IAM](#ol-pii-step8-delete-function-policy)
+ [Eliminazione dell'utente IAM](#ol-pii-step8-delete-user)

### Eliminazione del punto di accesso Lambda per oggetti
<a name="ol-pii-step8-delete-olap"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Object Lambda Access Points (Punti di accesso Object Lambda)**.

1. Nella pagina **Punti di accesso Lambda dell'oggetto** scegli il pulsante di opzione a sinistra del punto di accesso Lambda per oggetti S3 creato nella [Fase 5](#ol-pii-step5) (ad esempio, **tutorial-pii-object-lambda-accesspoint**).

1. Scegli **Elimina**.

1. Conferma di voler eliminare il punto di accesso Lambda per oggetti inserendone il nome nel campo di testo che viene visualizzato, quindi scegli **Elimina**.

### Eliminazione del punto di accesso S3
<a name="ol-pii-step8-delete-ap"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Access Points (Punti di accesso)**.

1. Passa al punto di accesso creato nella [Fase 3](#ol-pii-step3) (ad esempio, **tutorial-pii-access-point**), quindi scegli il pulsante di opzione accanto al nome del punto di accesso.

1. Scegli **Elimina**.

1. Conferma di voler eliminare il punto di accesso inserendone il nome nel campo di testo che viene visualizzato, quindi scegli **Delete (Elimina)**.

### Eliminazione della funzione Lambda
<a name="ol-pii-step8-delete-lambda-function"></a>

1. Nella AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/), scegli **Funzioni** nel riquadro di navigazione a sinistra. 

1. Scegli la funzione creata nella [Fase 4](#ol-pii-step4) (ad esempio, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**).

1. Scegli **Azioni**, quindi **Elimina**.

1. Nella finestra di dialogo **Delete function (Elimina funzione)**, scegli **Delete (Elimina)**.

### Elimina il gruppo di CloudWatch log
<a name="ol-pii-step8-delete-cloudwatch"></a>

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel pannello di navigazione a sinistra, scegli **Log groups (Gruppi di log)**.

1. Individua il gruppo di registri il cui nome termina con la funzione Lambda creata nella [Fase 4](#ol-pii-step4)( ad esempio, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**).

1. Scegli **Actions (Operazioni)**, quindi scegli **Delete log group(s) (Elimina gruppi di registri)**.

1. Nella finestra di dialogo **Delete log group(s) (Elimina gruppo/i di log)** scegli **Delete (Elimina)**.

### Eliminazione del file originale nel bucket S3 di origine
<a name="ol-pii-step8-delete-file"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets (Bucket)**.

1. Nell'elenco **Bucket name (Nome bucket)** scegli il nome del bucket su cui hai caricato il file originale nella [Fase 2](#ol-pii-step2) (ad esempio, **tutorial-bucket**).

1. Seleziona la casella di controllo a sinistra del nome dell'oggetto da eliminare (ad esempio, `tutorial.txt`).

1. Scegli **Elimina**.

1. Nella pagina **Delete objects (Elimina oggetti)**, nella sezione **Permanently delete objects? (Eliminare definitivamente gli oggetti?)** conferma che desideri eliminare questo oggetto inserendo **permanently delete** nella casella di testo.

1. Scegliere **Delete objects (Elimina oggetti)**.

### Eliminazione del bucket S3 di origine
<a name="ol-pii-step8-delete-bucket"></a>

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets (Bucket)**.

1. Nell'elenco **Buckets (Bucket)** scegli il pulsante di opzione accanto al nome del bucket creato nella [Fase 1](#ol-pii-step1)(ad esempio,**tutorial-bucket**).

1. Scegli **Elimina**.

1. Nella pagina **Delete bucket (Elimina bucket)** conferma che desideri eliminare il bucket inserendone il nome nel campo di testo e quindi scegli **Delete bucket (Elimina bucket)**.

### Eliminazione del ruolo IAM per la funzione Lambda
<a name="ol-pii-step8-delete-lambda-role"></a>

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione a sinistra, scegli **Roles (Ruoli)**, quindi seleziona la casella di controllo accanto al nome del ruolo che desideri eliminare. Il nome del ruolo inizia con il nome della funzione Lambda implementata nella [Fase 4](#ol-pii-step4) (ad esempio, **serverlessrepo-ComprehendPiiRedactionS3ObjectLambda**).

1. Scegli **Elimina**.

1. Nella casella di dialogo **Delete (Elimina)**, inserisci il nome del ruolo nel campo di inserimento del testo per confermare l'eliminazione. Quindi, scegli **Elimina**.

### Eliminazione dei criteri gestiti dal cliente per l'utente IAM
<a name="ol-pii-step8-delete-function-policy"></a>

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione sinistro, scegli **Policy**.

1. Nella pagina **Policies (Policy)** inserisci il nome della policy gestita dal cliente creata nei [Prerequisiti](#ol-pii-prerequisites) (ad esempio, **tutorial-serverless-application-repository**) nella casella di ricerca per filtrare l'elenco di policy. Seleziona il pulsante di opzione accanto al nome della policy che desideri eliminare.

1. Scegli **Azioni**, quindi **Elimina**.

1. Conferma di voler eliminare questa policy inserendone il nome nel campo di testo che viene visualizzato, quindi scegli **Delete (Elimina)**.

### Eliminazione dell'utente IAM
<a name="ol-pii-step8-delete-user"></a>

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione a sinistra, scegli **Users (Utenti)**, quindi seleziona la casella di controllo accanto al nome utente che desideri eliminare.

1. Nella parte superiore della pagina, scegli **Delete (Elimina)**.

1. Nella sezione **Elimina*user name*?** finestra di dialogo, inserisci il nome utente nel campo di immissione del testo per confermare l'eliminazione dell'utente. Scegli **Elimina**.

## Fasi successive
<a name="ol-pii-next-steps"></a>

Dopo aver completato questo tutorial, puoi esplorare altri casi d'uso correlati:
+ Puoi creare più punti di accesso Lambda per oggetti S3 e abilitarli con funzioni Lambda precostituite configurate in modo diverso per oscurare specifici tipi di PII a seconda delle esigenze aziendali di chi accede ai dati. 

  Ogni tipo di utente assume un ruolo IAM e ha accesso solo a un punto di accesso Lambda per oggetti S3 (gestito tramite policy IAM). Quindi, collega ogni funzione Lambda `ComprehendPiiRedactionS3ObjectLambda` configurata per un diverso caso d'uso di oscuramento a un diverso punto di accesso Lambda per oggetti S3. Per ogni punto di accesso Lambda per oggetti S3, puoi disporre di un punto di accesso S3 di supporto per leggere i dati da un bucket S3 che archivia il set di dati condiviso. 

  Per ulteriori informazioni su come creare una policy di bucket S3 che consenta agli utenti di leggere dal bucket solo tramite i punti di accesso S3, consulta [Configurazione delle policy IAM per l'utilizzo degli access point](access-points-policies.md).

  Per ulteriori informazioni su come concedere a un utente l'autorizzazione per accedere alla funzione Lambda, al punto di accesso S3 e al punto di accesso Lambda per oggetti S3, consulta [Configurazione delle policy IAM per i punti di accesso Lambda per oggetti](olap-policies.md).
+ Puoi creare una funzione Lambda personalizzata e utilizzarla in S3 Object Lambda per soddisfare le tue esigenze specifiche relative ai dati.

  Ad esempio, per esplorare vari valori di dati, puoi utilizzare S3 Object Lambda e la funzione Lambda personalizzata che utilizza ulteriori [funzionalità di Amazon Comprehend](https://aws.amazon.com/comprehend/features/), come il riconoscimento delle entità, il riconoscimento delle frasi chiave, l'analisi del sentimento e la classificazione dei documenti, per elaborare i dati. Puoi utilizzare S3 Object Lambda insieme a [Amazon Comprehend Medical](https://aws.amazon.com/comprehend/medical/), un servizio di NLP idoneo per HIPAA, per analizzare ed estrarre i dati in modo contestuale.

  Per ulteriori informazioni su come trasformare i dati con S3 Object Lambda e sulla funzione Lambda personalizzata, consulta [Tutorial: trasformazione dei dati per l'applicazione con S3 Object Lambda](tutorial-s3-object-lambda-uppercase.md).