# Avro File Reader

{% hint style="info" %}
O **Avro File Reader** é um conector exclusivo do Pipeline Engine v2.
{% endhint %}

O conector **Avro File Reader** permite que você leia arquivos Avro.

Avro é um *framework* para serialização de dados utilizado no ecossistema Hadoop Big Data, conhecido por seu suporte à evolução de *schema* e compactação. Para mais informações, [veja o site oficial](https://avro.apache.org/).

## **Parâmetros**

Dê uma olhada nos parâmetros de configuração do conector. Parâmetros suportados por [expressões Double Braces](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/double-braces/overview) estão marcados com `(DB)`.

### **Aba General**

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>File Name</strong> <code>(DB)</code></td><td>Nome do arquivo Avro a ser lido.</td><td>{{ message.fileName }}</td><td><em>String</em></td></tr><tr><td><strong>Check File Size</strong></td><td>Se habilitado, o valor de <strong>Maximum File Size</strong> é verificado. Caso o tamanho do arquivo seja maior que o especificado, um erro será exibido.</td><td><em>False</em></td><td>Booleano</td></tr><tr><td><strong>Maximum File Size</strong></td><td>Especifica o tamanho máximo permitido (em <em>bytes</em>) do arquivo a ser lido.</td><td>N/A</td><td>Inteiro</td></tr><tr><td><strong>Fail On Error</strong></td><td>Se a opção estiver ativada, a execução do pipeline com erro será interrompida. Do contrário, a execução do pipeline continua, mas o resultado irá mostrar um valor falso para a propriedade <code>"success"</code>.</td><td><em>False</em></td><td>Booleano</td></tr></tbody></table>

### **Aba Documentation**

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td>Seção para documentar qualquer informação necessária sobre a configuração do conector e regras de negócio.</td><td>N/A</td><td><em>String</em></td></tr></tbody></table>

{% hint style="info" %}
Note que um arquivo Avro comprimido produz um conteúdo JSON de tamanho maior que o do arquivo ao ser lido. Portanto, é importante validar se o *pipeline* possuirá memória o suficiente para lidar com os dados em questão, uma vez que esses serão armazenados na memória do *pipeline*.
{% endhint %}

## **Exemplos de uso**

### **Lendo arquivo**

Lendo um arquivo Avro sem verificar o tamanho do arquivo:

* **File Name:** file.avro
* **Check File Size:** desativado

**Saída:**

```
{
  "data": [
    {
      "name": "Aquiles",
      "phoneNumbers": [
        "11 99999-9999",
        "11 93333-3333"
      ],
      "active": true,
      "address": "St. Example",
      "score": 71.3,
      "details": "Some details"
    }
  ],
  "fileName": "file.avro",
  "total": 1
}

```

### **Lendo arquivo - Verificando tamanho do arquivo**

Lendo um arquivo Avro verificando se seu tamanho é maior que **Maximum File Size**:

* **File Name:** file.avro
* **Check File Size:** ativado
* **Maximum File Size:** 5000000

**Saída:**

```
{
  "data": [
    {
      "name": "Aquiles",
      "phoneNumbers": [
        "11 99999-9999",
        "11 93333-3333"
      ],
      "active": true,
      "address": "St. Example",
      "score": 71.3,
      "details": "Some details"
    }
  ],
  "fileName": "file.avro",
  "total": 1
}

```
