> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Fabric

> Sincronize eventos personalizados do Microsoft Fabric para OneSignal para acionar Journeys automatizadas e campanhas de mensagens personalizadas com base no comportamento do usuário.

export const DATA_TYPE_0 = "table columns"

export const PLATFORM_0 = "Microsoft Fabric"

export const COLUMN_HEADER_0 = "Fabric Column"

export const PROPERTIES_DESCRIPTION_0 = "JSON object with event metadata"

## Visão geral

A integração OneSignal + Microsoft Fabric permite sincronização automática de eventos personalizados do seu lakehouse ou warehouse Fabric para o OneSignal para acionar campanhas de mensagens automatizadas e Journeys com base no comportamento do usuário.

Microsoft Fabric é uma plataforma de análise unificada que reúne engenharia de dados, ciência de dados, análise em tempo real e inteligência de negócios em um único ambiente.

***

## Requisitos

* Acesso a [Event Streams](/docs/pt-BR/event-streams) para eventos de mensagem de saída (Limitações de plano e excedentes se aplicam)
* Acesso a [Custom Events](/docs/pt-BR/custom-events) para sincronização de eventos de entrada (Limitações de plano e excedentes se aplicam)
* [Plano de Conta Atualizado](https://onesignal.com/pricing) (não disponível em apps gratuitos)

### Microsoft Fabric

* **Capacidade Microsoft Fabric** com acesso ao workspace
* **Service Principal** com permissões apropriadas
* **SQL Endpoint** (Warehouse ou Lakehouse) contendo dados de eventos
* **Acesso a API externa** habilitado nas configurações do tenant

***

## Configuração

<Steps>
  <Step title="Criar service principal no Azure">
    Crie um novo service principal para o OneSignal acessar seus recursos Fabric:

    1. Faça login no portal do Azure
    2. Navegue até **Microsoft Entra ID** > **App registrations**
    3. Clique em **+ New registration**
    4. Insira o nome: "OneSignal Fabric Integration"
    5. Selecione **Accounts in this organizational directory only**
    6. Clique em **Register**
    7. Anote o **Application (client) ID** e **Directory (tenant) ID**
    8. Em **Certificates & secrets**, crie um novo client secret
    9. Anote o **client secret value**
  </Step>

  <Step title="Configurar configurações do tenant Fabric">
    Habilite acesso externo para service principals:

    1. No Microsoft Fabric, clique em **Settings** > **Admin portal**
    2. Vá para **Tenant settings**
    3. Em **Developer settings**, habilite **Service principals can use Fabric APIs**
    4. Em **OneLake settings**, habilite **Users can access data stored in OneLake with apps external to Fabric**
  </Step>

  <Step title="Conceder acesso ao workspace">
    Adicione o service principal ao seu workspace Fabric:

    1. Navegue até seu workspace (crie workspace compartilhado se estiver usando "My Workspace")
    2. Clique em **Manage Access** > **+ Add people or groups**
    3. Selecione seu service principal
    4. Defina a função como **Contributor**
  </Step>

  <Step title="Obter SQL endpoint">
    Obtenha a string de conexão SQL para sua fonte de dados:

    1. No seu workspace, passe o mouse sobre seu warehouse/lakehouse
    2. Clique em **...** > **Settings**
    3. Copie a **SQL connection string** (este é seu hostname)
  </Step>

  <Step title="Conectar ao OneSignal">
    No OneSignal, vá para **Data > Integrations** e clique em **Add Integration**.

    Selecione **Microsoft Fabric** e forneça:

    * **Hostname:** SQL endpoint do Passo 4
    * **Database/Catalog:** Seu nome de lakehouse ou warehouse
    * **Tenant ID:** Directory ID do Passo 1
    * **Client ID:** Application ID do Passo 1
    * **Client Secret:** Secret value do Passo 1
  </Step>
</Steps>

***

### Mapeamento de dados de evento

Mapeie seu {DATA_TYPE_0} {PLATFORM_0} para o formato de eventos personalizados do OneSignal:

| Campo OneSignal | {COLUMN_HEADER_0} | Descrição                  | Obrigatório |
| --------------- | ----------------- | -------------------------- | ----------- |
| `name`          | `event_name`      | Identificador de evento    | Sim         |
| `external_id`   | `user_id`         | Identificador de usuário   | Sim         |
| `timestamp`     | `event_timestamp` | Quando o evento ocorreu    | Não         |
| `properties`    | `event_data`      | {PROPERTIES_DESCRIPTION_0} | Não         |

### Esquema de Tabela de Evento de Exemplo

```sql theme={null}
-- Example Fabric table structure
CREATE TABLE user_events (
    event_name STRING,
    user_id STRING,
    event_time TIMESTAMP,
    properties JSON,
    session_id STRING,
    device_type STRING
);
```

***

## Modos de Processamento

### Modo de Consulta SQL

Escreva consultas SQL personalizadas para transformar seus dados Fabric antes de sincronizar:

```sql theme={null}
SELECT
    event_name,
    user_id,
    event_time,
    TO_JSON(STRUCT(
        session_id,
        device_type,
        product_id
    )) as properties
FROM user_events
WHERE event_time >= CURRENT_DATE - INTERVAL 7 DAYS
```

### Modo de Tabela

Sincronize tabelas ou visualizações inteiras diretamente do seu workspace Fabric. O OneSignal mapeará automaticamente as colunas para campos de evento.

***

## Limitações

* Requer capacidade Fabric (não disponível em trial)
* SQL endpoints devem ser acessíveis a serviços externos
* Grandes conjuntos de resultados podem impactar o desempenho de sincronização

***

## FAQ

### Como otimizo o desempenho de consulta?

Use particionamento e indexação em suas tabelas Fabric. Considere criar visualizações materializadas para dados de eventos acessados com frequência.

### Posso sincronizar de lakehouses e warehouses?

Sim, o OneSignal suporta qualquer recurso Fabric que exponha um SQL endpoint, incluindo lakehouses, warehouses e SQL analytics endpoints.

***
