Skip to main content

Integrate with Alation

Status: shipped (outbound-only) — issue #404. DQ Cloud pushes validation results to Alation as DataQuality health signals. The connector does not read objects back from Alation.

DQ Cloud ships a first-party connector for Alation that pushes every ValidationResult to the matching Alation table object as a DataQuality value:

  • a pass/fail status (GOOD / ALERT) Alation colours on the object's health panel, and
  • a pass-rate score (0–100) Alation charts over time (each emit appends one point to the score history Alation keeps server-side),
  • with a description naming the suite and the passed/total counts.

The connector talks to Alation's REST API directly over HTTP — no Alation SDK dependency in the worker image. It authenticates with Alation's Token header (not Authorization: Bearer).

Prerequisites

  • An Alation instance and its base URL (e.g. https://alation.example.com), reachable from the worker process.
  • An API access token with permission to write DataQuality fields.
  • The numeric Alation data-source id each DQ Cloud datasource maps onto (Alation's "data source ID mapping").

Configure the integration

Create the catalog_integrations row through the org-admin settings API (or the Settings → Catalog integrations page):

curl -X POST "$BASE_URL/api/v1/organizations/$ORG_ID/catalog-integrations" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"kind": "alation",
"endpoint": "https://alation.example.com",
"auth_token": "<alation-api-token>"
}'

The auth token is AES-256-GCM-encrypted under the org's DEK before it hits Postgres; the API never returns it back.

Map a DQ Cloud asset to an Alation object

For each asset you want pushed, set the Alation data-source id on the asset's catalog config:

  • config["catalog"]["alation_datasource_id"] — the numeric Alation data-source id, e.g. "7".

DQ Cloud builds the object key as <datasource_id>.<schema>.<table> from the asset's dotted name (a three-part db.schema.table drops the database, since the data-source scope already pins it). An asset missing alation_datasource_id is skipped (a emit_to_catalog_alation_no_datasource_id log line lands).

What it looks like in Alation

After every ValidationResult commit, the emit_to_catalog ARQ job PATCHes PATCH /integration/v1/data_quality/ with one DataQuality value keyed to the table object. The object's health panel shows the GOOD / ALERT flag, and the pass-rate value joins the score history.

Verify

  • In Settings → Catalog integrations, the Alation row shows Enabled.
  • On the Alation table object, the data-health panel shows the pass/fail flag and the pass-rate trend after the next checkpoint run.