

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar um filtro de dados
<a name="creating-data-filters"></a>

Você pode criar um ou mais filtros de dados para cada tabela do catálogo de dados.

**Para criar um filtro de dados para uma tabela do catálogo de dados (console)**

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

   Assine como administrador do data lake, proprietário da tabela de destino ou entidade principal que tenha uma permissão do Lake Formation na tabela de destino.

1. No painel de navegação, em **catálogo de dados**, escolha **Filtros de dados**.

1. Na página **Filtros de dados**, escolha **Criar novo filtro**.

1. Na caixa de diálogo **Criar filtro de dados**, insira as seguintes informações:
   + Nome do filtro de dados 
   + Banco de dados de destino – especifique o banco de dados que contém a tabela.
   + Tabela de destino 
   + Acesso em nível de coluna – deixe essa opção definida como **Acesso a todas as colunas** para especificar somente a filtragem de linhas. Escolha **Incluir colunas** ou **Excluir colunas** para especificar a filtragem de colunas ou células e, em seguida, especifique as colunas a serem incluídas ou excluídas.

     Colunas aninhadas: se você estiver aplicando o filtro em uma tabela que contenha colunas aninhadas, poderá especificar explicitamente as subestruturas das colunas da estrutura aninhada em um filtro de dados. 

     Ao conceder a permissão SELECT a uma entidade principal nesse arquivador, a entidade principal que executa a consulta a seguir verá apenas os dados de `customer.customerName` e não de `customer.customerId`.

     ```
     SELECT "customer" FROM "example_db"."example_table";
     ```  
![Configurações de acesso em nível de coluna mostrando Incluir colunas selecionadas com 4 de 11 colunas marcadas.](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/nested-column-filter.png)

      Ao conceder permissões à coluna `customer`, a entidade principal recebe o acesso à coluna e aos campos aninhados abaixo da coluna (`customerName` e `customerID`). 
   + Expressão de filtro de linha – insira uma expressão de filtro para especificar a filtragem de linha ou célula. Para obter os tipos de dados e operadores compatíveis, consulte [Suporte PartiQL em expressões de filtro de linha](partiql-support.md). Selecione **Acesso a todas as linhas** para conceder acesso a todos.

     É possível incluir estruturas de coluna parciais de colunas aninhadas em uma expressão de filtro de linha para filtrar linhas que contenham valores específicos.

     Quando uma entidade principal recebe permissões para uma tabela com uma expressão `Select * from example_nestedtable where customer.customerName <>'John'` de filtro de linha e o acesso em **nível de coluna** é definido como **Acesso a todas as colunas**, os resultados da consulta mostram somente as linhas em que `customerName <>'John'` é avaliado como verdadeiro.

   A captura de tela a seguir mostra um filtro de dados que implementa a filtragem de células. Nas consultas com base na tabela `orders`, ela nega o acesso à coluna `customer_name` e mostra somente as linhas que têm “pharma” na coluna `product_type`.  
![A janela do filtro de dados contém estes campos, organizados verticalmente: Nome do filtro de dados; Banco de dados de destino; Tabela de destino; Grupo de botões de opção com as opções Acesso a todas as colunas, Incluir colunas e Excluir colunas; Selecionar colunas (lista suspensa); Expressão do filtro de linha (caixa de texto de várias linhas). A opção Excluir colunas é selecionada, a coluna customer_name é selecionada para exclusão e o campo de expressão do filtro de linha contém “product_type='pharma”.](http://docs.aws.amazon.com/pt_br/lake-formation/latest/dg/images/data-filter-sample-pharma.png)

1. Escolha **Criar filtro**.

**Como criar um filtro de dados com políticas de filtro de células em um campo aninhado**

 Esta seção usa o seguinte exemplo de esquema para mostrar como criar um filtro de células de dados: 

```
[
    { 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. Na página **Criar um filtro de dados**, insira um nome para o filtro de dados.

1.  Depois, use o menu suspenso para escolher o nome do banco de dados e o nome da tabela. 

1. Na seção **Acesso em nível de coluna**, selecione Colunas incluídas e uma coluna aninhada (`customer.customerName`).

1. Na seção **Acesso em nível de linha**, selecione a opção **Acesso a todas as linhas**.

1. Escolha **Criar filtro**.

   Ao conceder a permissão `SELECT` nesse filtro, a entidade principal obtém acesso a todas as linhas na coluna `customerName`.

1. Depois, defina outro filtro de dados para o mesmo banco de dados/tabela.

1. Na seção **Acesso em nível de coluna**, selecione Colunas incluídas e outra coluna aninhada (`customer.customerid`).

1. Na seção **Acesso em nível de linha**, escolha **Filtrar linhas** e insira uma **Expressão de filtro de linha** (`customer.customerid <> 5`).

1. Escolha **Criar filtro**.

   Ao conceder a permissão `SELECT` nesse filtro, a entidade principal recebe acesso a todas as linhas no `customerName` e aos campos `customerId`, exceto à célula em que o valor é 5 na coluna `customerId`.