Inserire dati da Confluence

Scopri come creare una pipeline di ingestione Confluence gestita usando Databricks Lakeflow Connect.

Requisiti

  • Per creare una pipeline di inserimento, è prima necessario soddisfare i requisiti seguenti:

    • L'area di lavoro deve essere abilitata per Unity Catalog.

    • L'ambiente di calcolo serverless deve essere abilitato per l'area di lavoro. Consulta Requisiti di calcolo serverless.

    • Se hai intenzione di creare una nuova connessione: devi avere CREATE CONNECTION i privilegi sul metastore. Consulta Gestione dei privilegi in Unity Catalog.

      Se il connettore supporta la creazione di pipeline basate sull'interfaccia utente, un amministratore può creare la connessione e la pipeline contemporaneamente completando i passaggi in questa pagina. Tuttavia, se gli utenti che creano pipeline utilizzano pipeline create tramite API o sono utenti non amministratori, un amministratore deve prima creare la connessione in Esplora Cataloghi. Vedere Connettersi alle origini di inserimento gestite.

    • Se prevedi di utilizzare una connessione esistente, devi avere privilegi USE CONNECTION sull'oggetto connessione o ALL PRIVILEGES.

    • È necessario disporre dei privilegi USE CATALOG sul catalogo di destinazione.

    • È necessario disporre di privilegi USE SCHEMA e CREATE TABLE su uno schema esistente o di privilegi CREATE SCHEMA sul catalogo di destinazione.

  • Per inserire da Confluence, è necessario prima completare i passaggi descritti in Configurare OAuth U2M per l'inserimento di Confluence.

Creare un flusso di inserimento dati

Ogni tabella di origine viene inserita in una tabella di streaming. Per un elenco delle tabelle di origine supportate, vedere Dati supportati.

Interfaccia utente di Databricks

  1. Nella barra laterale dell'area di lavoro di Azure Databricks fare clic su Inserimento dati.
  2. Nella pagina Aggiungi dati , in Connettori Databricks, fare clic su Confluence.
  3. Nella pagina Connessione della procedura guidata di inserimento selezionare la connessione in cui sono archiviate le credenziali di accesso di Confluence. Se si dispone del privilegio nel CREATE CONNECTION metastore, è possibile fare clic sull'icona Più. Creare una connessione per creare una nuova connessione con i dettagli di autenticazione in Configurare OAuth U2M per l'inserimento con Confluence.
  4. Fare clic su Avanti.
  5. Nella pagina Configurazione inserimento inserisci un nome univoco per la pipeline.
  6. Selezionare un catalogo e uno schema in cui scrivere i registri eventi. Se dispongono di privilegi e sul catalogo, è possibile fare clic sull'icona Più nel menu a discesa per selezionare l'opzione "Crea schema" e creare un nuovo schema.
  7. Fare clic su Crea pipeline e continuare.
  8. Nella pagina Origine selezionare le tabelle da inserire.
  9. Fare clic su Salva e continua.
  10. Nella pagina Destinazione selezionare un catalogo e uno schema in cui caricare i dati. Se dispongono di privilegi e sul catalogo, è possibile fare clic sull'icona Più nel menu a discesa per selezionare l'opzione "Crea schema" e creare un nuovo schema.
  11. Fare clic su Salva e continua.
  12. (Facoltativo) Nella pagina Pianificazioni e notifiche fare clic sull'icona Più. Creare una pianificazione. Impostare la frequenza per aggiornare le tabelle di destinazione.
  13. (Facoltativo) Fare clic sull'icona Con il segno più. Aggiungere una notifica per impostare le notifiche di posta elettronica per l'esito positivo o negativo dell'operazione della pipeline, quindi fare clic su Salva ed esegui pipeline.

Pacchetti di automazione dichiarativa

Usare bundle di automazione dichiarativa per gestire le pipeline di Confluence come codice. I bundle possono contenere definizioni YAML di processi e attività, vengono gestiti tramite l'interfaccia della riga di comando di Databricks e possono essere condivisi ed eseguiti in aree di lavoro di destinazione diverse, ad esempio sviluppo, gestione temporanea e produzione. Per altre informazioni, vedere Che cosa sono i bundle di automazione dichiarativa?.

  1. Creare un bundle usando l'interfaccia della riga di comando di Databricks:

    databricks bundle init
    
  2. Aggiungere due nuovi file di risorse al bundle:

    • Un file di definizione della pipeline , ad esempio resources/confluence_pipeline.yml. Vedere pipeline.ingestion_definition ed esempi.
    • File di definizione del processo che controlla la frequenza di inserimento dei dati , ad esempio resources/confluence_job.yml.
  3. Distribuire la pipeline usando la CLI di Databricks.

    databricks bundle deploy
    

Notebook di Databricks

  1. Importare il notebook seguente nell'area di lavoro di Azure Databricks:

    Ottieni il notebook

  2. Lasciare la cella 1 così com'è.

  3. Modificare la cella 3 con i dettagli della configurazione della pipeline. Vedere pipeline.ingestion_definition ed esempi.

  4. Fare clic su Esegui tutto.

Examples

Usare questi esempi per configurare la pipeline.

Inserire una singola tabella di origine

Pacchetti di automazione dichiarativa

Il file di definizione della pipeline seguente inserisce una singola tabella di origine:

variables:
  dest_catalog:
    default: main
  dest_schema:
    default: ingest_destination_schema

# The main pipeline for confluence_dab
resources:
  pipelines:
    pipeline_confluence:
      name: confluence_pipeline
      catalog: ${var.dest_catalog}
      schema: ${var.dest_schema}
      ingestion_definition:
        connection_name: <confluence-connection>
        objects:
          # An array of objects to ingest from Confluence. This example ingests the pages table.
          - table:
              source_schema: default
              source_table: pages
              destination_catalog: ${var.dest_catalog}
              destination_schema: ${var.dest_schema}

Notebook di Databricks

Di seguito è riportata una specifica di pipeline di esempio che inserisce una singola tabella di origine:

pipeline_spec = """
{
  "name": "<pipeline-name>",
  "ingestion_definition": {
    "connection_name": "<confluence-connection>",
    "objects": [
      {
        "table": {
          "source_schema": "default",
          "source_table": "pages",
          "destination_catalog": "main",
          "destination_schema": "ingest_destination_schema"
        }
      }
    ]
  },
  "channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)

Inserire più tabelle di origine

Pacchetti di automazione dichiarativa

Il file di definizione della pipeline seguente inserisce più tabelle di origine:

variables:
  dest_catalog:
    default: main
  dest_schema:
    default: ingest_destination_schema

# The main pipeline for confluence_dab
resources:
  pipelines:
    pipeline_confluence:
      name: confluence_pipeline
      catalog: ${var.dest_catalog}
      schema: ${var.dest_schema}
      ingestion_definition:
        connection_name: <confluence-connection>
        objects:
          # An array of objects to ingest from Confluence. This example ingests the pages and blogposts tables.
          - table:
              source_schema: default
              source_table: pages
              destination_catalog: ${var.dest_catalog}
              destination_schema: ${var.dest_schema}
          - table:
              source_schema: default
              source_table: blogposts
              destination_catalog: ${var.dest_catalog}
              destination_schema: ${var.dest_schema}

Notebook di Databricks

Di seguito è riportata una specifica di pipeline di esempio che inserisce più tabelle di origine:

pipeline_spec = """
{
  "name": "<pipeline-name>",
  "ingestion_definition": {
    "connection_name": "<confluence-connection>",
    "objects": [
      {
        "table": {
          "source_schema": "default",
          "source_table": "pages",
          "destination_catalog": "main",
          "destination_schema": "ingest_destination_schema"
        }
      },
      {
        "table": {
          "source_schema": "default",
          "source_table": "blogposts",
          "destination_catalog": "main",
          "destination_schema": "ingest_destination_schema"
        }
      }
    ]
  },
  "channel": "PREVIEW"
}
"""
create_pipeline(pipeline_spec)

File di definizione dell'attività di raggruppamento

Di seguito è riportato un file di definizione del lavoro di esempio da usare con Bundle di Automazione Dichiarativa. L'attività viene eseguita ogni giorno, esattamente un giorno dopo l'ultima esecuzione.

resources:
  jobs:
    confluence_dab_job:
      name: confluence_dab_job

      trigger:
        periodic:
          interval: 1
          unit: DAYS

      email_notifications:
        on_failure:
          - <email-address>

      tasks:
        - task_key: refresh_pipeline
          pipeline_task:
            pipeline_id: ${resources.pipelines.pipeline_confluence.id}

Filtra per spazio

È possibile filtrare i dati inseriti in spazi Confluence specifici aggiungendo connector_options.confluence_options a qualsiasi oggetto tabella nella definizione della pipeline. Specificare le chiavi di spazio esatte in include_confluence_spaces. Le chiavi di spazio fanno distinzione tra maiuscole e minuscole e differiscono dai nomi di spazio.

Per trovare la chiave di spazio, passare a qualsiasi pagina nello spazio e controllare l'URL. Si tratta dell'identificatore breve seguente /space/ o /display/. In alternativa, passare a Strumenti dello spazio>Panoramica>Dettagli dello spazio per visualizzare la chiave.

Per altre informazioni, vedere Space Keys (Chiavi spazio ) nella documentazione di Confluence.

Note

Il filtro dello spazio non è supportato per le labels tabelle e attachments . L'API Confluence non identifica lo spazio da cui provengono questi oggetti, quindi include_confluence_spaces viene ignorato quando labels o attachments viene inserito.

Pacchetti di automazione dichiarativa

- table:
    source_schema: default
    source_table: pages
    destination_catalog: ${var.dest_catalog}
    destination_schema: ${var.dest_schema}
    connector_options:
      confluence_options:
        include_confluence_spaces:
          - KEY1
          - KEY2

Notebook di Databricks

pipeline_spec = """
{
  "name": "<pipeline-name>",
  "ingestion_definition": {
    "connection_name": "<confluence-connection>",
    "objects": [
      {
        "table": {
          "source_schema": "default",
          "source_table": "pages",
          "destination_catalog": "main",
          "destination_schema": "ingest_destination_schema",
          "connector_options": {
            "confluence_options": {
              "include_confluence_spaces": ["KEY1", "KEY2"]
            }
          }
        }
      }
    ]
  }
}
"""
create_pipeline(pipeline_spec)

Modelli comuni

Per le configurazioni avanzate della pipeline, vedere Modelli comuni per le pipeline di inserimento gestite.

Passaggi successivi

Avvia, pianifica e imposta avvisi sulla tua pipeline. Vedere Attività comuni di manutenzione della pipeline.

Risorse aggiuntive