# Conecte uma fonte de dados

Conexões são a primeira peça de estado da plataforma da qual seus painéis dependem, e a ilustração mais clara da divisão: o painel é código que seu agente escreve e pode reescrever em um minuto; a conexão é uma credencial, um caminho de rede e um esquema introspectado que alguém configurou uma vez e que precisa continuar funcionando por um ano.

Você configura uma conexão uma vez. A partir daí, toda superfície consulta através dela — seu agente via MCP, seu código via os SDKs, o assistente integrado ao app, e todo painel publicado.

## O que você pode conectar[​](#o-que-você-pode-conectar "Link direto para O que você pode conectar")

A Vibedasher tem **20 tipos de conexão**. Dezenove têm uma implementação de serviço funcional, e **dezenove são oferecidos no seletor de conectores do app hoje**. A diferença importa se você está avaliando o produto contra uma fonte específica, então aqui está a lista completa em vez de um número de marketing.

### Bancos de dados e data warehouses[​](#bancos-de-dados-e-data-warehouses "Link direto para Bancos de dados e data warehouses")

| Fonte              | No seletor | Cargas incrementais |
| ------------------ | ---------- | ------------------- |
| PostgreSQL         | sim        | sim                 |
| MySQL              | sim        | sim                 |
| SQL Server (MSSQL) | sim        | sim                 |
| Oracle             | sim        | sim                 |
| Redshift           | sim        | sim                 |
| Snowflake          | sim        | sim                 |
| BigQuery           | sim        | sim                 |
| Athena             | sim        | sim                 |
| MongoDB            | sim        | não                 |
| Cassandra          | sim        | não                 |
| DynamoDB           | sim        | não                 |

### SaaS e armazenamento de arquivos[​](#saas-e-armazenamento-de-arquivos "Link direto para SaaS e armazenamento de arquivos")

| Fonte                | No seletor | Cargas incrementais |
| -------------------- | ---------- | ------------------- |
| Salesforce           | sim        | não                 |
| HubSpot              | sim        | não                 |
| Marketo              | sim        | não                 |
| Mailchimp            | sim        | não                 |
| Google Sheets        | sim        | não                 |
| Google Analytics     | sim        | não                 |
| Azure Data Lake      | sim        | não                 |
| Google Cloud Storage | sim        | não                 |
| SAP                  | **não**    | não                 |

**SAP** precisa do `pyrfc`, o SDK proprietário NetWeaver RFC da SAP, que não está no PyPI — então o conector não é implantado. Em algumas contas antigas ainda existe uma linha de conexão `sap`, e a introspecção de esquema contra ela responde `404`.

### Upload de arquivo plano[​](#upload-de-arquivo-plano "Link direto para Upload de arquivo plano")

O upload aceita **CSV** (`.csv`) e **Excel** (`.xlsx`, `.xls`).

**Parquet não é um formato de upload.** A Vibedasher armazena seus dados como Parquet internamente, mas não é algo que você possa enviar por upload. Se seus dados já estão em Parquet, coloque-os em um armazenamento que a Vibedasher possa consultar, ou converta-os para CSV.

## Cargas incrementais precisam de um dialeto SQL[​](#cargas-incrementais-precisam-de-um-dialeto-sql "Link direto para Cargas incrementais precisam de um dialeto SQL")

A coluna **Cargas incrementais** acima não é uma decisão de produto, é uma decisão mecânica. Uma carga incremental funciona reescrevendo sua consulta de extração para adicionar um predicado de marca d'água (watermark), e essa reescrita precisa de um dialeto SQL que a plataforma consiga interpretar. Oito conectores têm um — PostgreSQL, MySQL, SQL Server, Oracle, Redshift, Snowflake, BigQuery e Athena.

Todo outro conector, incluindo MongoDB, DynamoDB e todas as fontes SaaS, atualiza por **recarga completa**. Isso está correto, só é mais custoso: planeje-se para isso em uma fonte grande, e veja [Mantenha seus dados atualizados](/pt-BR/guides/keep-your-data-fresh.md) para o que `effectiveMode` retorna.

## Adicione uma conexão[​](#adicione-uma-conexão "Link direto para Adicione uma conexão")

1. Abra o app em [cloud.vibedasher.com](https://cloud.vibedasher.com) e vá para **Conexões**.
2. Escolha o tipo de fonte e preencha os detalhes da conexão — ou envie seu arquivo.
3. Execute **Testar conexão**. Isso realmente abre a conexão; não é apenas uma verificação de formato dos campos.
4. Salve. A Vibedasher faz a introspecção do esquema para que os agentes e o mecanismo de consultas saibam quais tabelas e colunas existem.

Editando uma conexão depois

Credenciais armazenadas são mascaradas na interface. Quando você edita uma conexão, **deixe um campo mascarado intocado para manter o valor existente** — a plataforma detecta a máscara no envio de volta e preserva o que já tem, em vez de sobrescrever sua senha com uma fileira de pontos.

Você também pode fazer tudo isso a partir de código:

```
schema = client.connections.get_schema(connection_type, connection_id)

tables = client.connections.get_tables(connection_type, connection_id)
```

```
const schema = await client.connections.getSchema(connectionType, connectionId);

const tables = await client.connections.getTables(connectionType, connectionId);
```

O conjunto completo — `create`, `list`, `get`, `update`, `updateMetadata`, `delete`, `test`, `getSchema`, `getTables`, `getTableSchema`, `validateQuery` — está na **[Referência da API](/pt-BR/reference/vibedasher-sdk-api.md)**.

## Quem pode gerenciar uma conexão[​](#quem-pode-gerenciar-uma-conexão "Link direto para Quem pode gerenciar uma conexão")

Conexões **não** são cobertas pelo modelo de direitos de acesso por pasta — não há concessão por conexão. As regras são mais simples e vale a pena declará-las com clareza:

* Qualquer **criador** ou **admin** pode criar uma conexão. Um **visualizador** não pode.
* Somente o **proprietário** da conexão ou um **admin** pode atualizá-la ou excluí-la.
* Uma conexão não é visível para o resto da conta da mesma forma que uma pasta compartilhada é.

Se você precisa de uma conexão que várias pessoas possam gerenciar, um admin deveria ser o proprietário dela. Veja [Quem pode ver o quê](/pt-BR/guides/who-can-see-what.md) para o restante do modelo de permissões.

## Conjuntos de dados[​](#conjuntos-de-dados "Link direto para Conjuntos de dados")

Uma conexão é um caminho até seus dados; um **conjunto de dados** é o que os painéis realmente leem. Você cria conjuntos de dados a partir de uma conexão — uma tabela, ou o resultado de uma consulta.

Cada conjunto de dados recebe um alias `cleanSQLName`, que é o nome de tabela contra o qual seu agente escreve SQL. Um conjunto de dados passa por `PENDING → DOWNLOADING → PROCESSING → READY`, e um painel construído sobre um que ainda não chegou a **READY** não terá nada para desenhar. Espere pelo `READY`.

Conjuntos de dados são estado vivo, não importações avulsas: dispare uma **atualização** para trazer um em dia, e execute **projetos dbt** a partir dele. Painéis captam os dados atualizados através do mesmo mecanismo de consultas, sem reconstrução — que é exatamente a razão pela qual a metade dos dados vive aqui, e não na sessão do seu agente.

## Próximo passo[​](#próximo-passo "Link direto para Próximo passo")

Aponte seu agente para o conjunto de dados — **[Construa com seu agente (MCP)](/pt-BR/guides/build-with-your-agent.md)** — ou **[aponte seu agente para ele](/pt-BR/guides/build-with-your-agent.md)**. Depois configure **[atualizações](/pt-BR/guides/keep-your-data-fresh.md)** para que ele permaneça fiel aos dados.
