

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 un filtro dati
<a name="creating-data-filters"></a>

È possibile creare uno o più filtri di dati per ogni tabella del Data Catalog.

**Per creare un filtro dati per una tabella Data Catalog (console)**

1. Apri la console Lake Formation all'indirizzo [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

   Accedi come amministratore del data lake, proprietario della tabella di destinazione o principale che dispone dell'autorizzazione Lake Formation sulla tabella di destinazione.

1. Nel riquadro di navigazione, in **Catalogo dati**, scegli **Filtri dati**.

1. Nella pagina **Filtri dati**, scegli **Crea nuovo filtro**.

1. Nella finestra di dialogo **Crea filtro dati**, inserisci le seguenti informazioni:
   + Nome del filtro dati 
   + Database di destinazione: specifica il database che contiene la tabella.
   + Tabella di destinazione 
   + Accesso a livello di colonna: lascia questa impostazione su **Accesso a tutte le colonne per** specificare solo il filtraggio delle righe. Scegliete **Includi colonne** o **Escludi colonne** per specificare il filtraggio di colonne o celle, quindi specificate le colonne da includere o escludere.

     Colonne nidificate: se applichi il filtro a una tabella che contiene colonne nidificate, puoi specificare in modo esplicito le sottostrutture delle colonne struct nidificate all'interno di un filtro dati. 

     Quando concedi l'autorizzazione SELECT a un principale su questo filer, il principale che esegue la seguente query vedrà solo i dati relativi e non. `customer.customerName` `customer.customerId`

     ```
     SELECT "customer" FROM "example_db"."example_table";
     ```  
![\[Column-level access settings with options to include specific columns and filter rows.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/nested-column-filter.png)

      Quando concedi le autorizzazioni alla `customer` colonna, il principale riceve l'accesso alla colonna e ai campi annidati sotto la colonna (`customerName`e). `customerID` 
   + Espressione di filtro di riga: immettere un'espressione di filtro per specificare il filtraggio di righe o celle. Per i tipi di dati e gli operatori supportati, vedere[Supporto PartiQL nelle espressioni di filtro di riga](partiql-support.md). Scegli **Accesso a tutte le righe** per concedere l'accesso a tutti.

     È possibile includere strutture di colonne parziali provenienti da colonne nidificate in un'espressione di filtro di riga per filtrare le righe che contengono un valore specifico.

     Quando a un'entità vengono concesse le autorizzazioni per una tabella con un'espressione `Select * from example_nestedtable where customer.customerName <>'John'` di filtro di riga e l'accesso a **livello di colonna** è impostato su **Accesso a tutte le colonne**, i risultati della query mostrano solo le righe il cui risultato è true. `customerName <>'John'`

   La schermata seguente mostra un filtro dati che implementa il filtraggio delle celle. Nelle interrogazioni sulla `orders` tabella, nega l'accesso alla `customer_name` colonna e mostra solo le righe che contengono «pharma» nella colonna. `product_type`  
![\[La finestra del filtro dei dati contiene i seguenti campi, disposti verticalmente: Nome del filtro dati; Database di destinazione; Tabella di destinazione; Gruppo di pulsanti di opzione con le opzioni Accesso a tutte le colonne, Includi colonne ed Escludi colonne; Seleziona colonne (elenco a discesa); Espressione del filtro di riga (casella di testo multilinea). L'opzione Escludi colonne è selezionata, la colonna customer_name è selezionata per l'esclusione e il campo di espressione del filtro Row contiene 'product_type='pharma'.\]](http://docs.aws.amazon.com/it_it/lake-formation/latest/dg/images/data-filter-sample-pharma.png)

1. Scegli **Create Filter** (Crea filtro).

**Per creare un filtro dati con politiche di filtro cellulare su un campo annidato**

 Questa sezione utilizza lo schema di esempio seguente per mostrare come creare un filtro di celle di dati: 

```
[
    { name: "customer", type: "struct<customerId:string,customerName:string>" },
    { name: "customerApplication", type: "struct<appId:string>" },
    { name: "product", type: "struct<offer:struct<prodId:string,listingId:string>,type:string>" },
    { name: "purchaseId", type: "string" },
]
```

1. Nella pagina **Crea un filtro dati**, inserisci un nome per il filtro dati.

1.  Successivamente, utilizza il menu a discesa per scegliere il nome del database e il nome della tabella. 

1. Nella sezione **Accesso a livello di colonna**, scegli Colonne incluse e seleziona una colonna nidificata (). `customer.customerName`

1. **Nella sezione **Accesso a livello di riga, scegli l'opzione Accesso** a tutte le righe.**

1. Scegli **Create Filter** (Crea filtro).

   Quando concedi `SELECT` l'autorizzazione per questo filtro, il principale ottiene l'accesso a tutte le righe della `customerName` colonna.

1. Successivamente, definisci un altro filtro dati per lo stesso database/tabella.

1. Nella sezione **Accesso a livello di colonna**, scegli Colonne incluse e seleziona un'altra colonna nidificata (). `customer.customerid`

1. Nella sezione **Accesso a livello di riga**, scegliete **Filtra righe e immettete un'espressione di filtro** di **riga** (). `customer.customerid <> 5`

1. Scegli **Create Filter** (Crea filtro).

   Quando concedete `SELECT` l'autorizzazione per questo filtro, il principale riceve l'accesso a tutte le righe e ai `customerId` campi ad eccezione della cella in cui il valore è 5 nella `customerId` colonna. `customerName`