Skip to content

@dbx-tools/databricks-zerobus

Region-aware Zerobus ingest helpers for Databricks workspaces.

Import this package when Node code needs to create a Zerobus SDK client and open an ingest stream without hand-building the region-specific Zerobus endpoint.

Key features:

  • Databricks workspace URL/id discovery through @dbx-tools/databricks.
  • Cloud/region-aware Zerobus endpoint construction.
  • Credential lookup with Zerobus-prefixed env vars and Databricks client-id fallbacks.
  • Thin wrapper around the Zerobus SDK so callers can still use SDK-native stream methods after setup.
import { zerobus } from "@dbx-tools/databricks-zerobus";
const sdk = await zerobus.createSdk();

createSdk() resolves the current Databricks workspace URL/id, detects its cloud region through @dbx-tools/databricks, and constructs the Zerobus endpoint for that region.

const stream = await zerobus.createStream(sdk, "main.default.events");
await stream.ingestRecord({
id: crypto.randomUUID(),
event_type: "clicked",
created_at: new Date().toISOString(),
});

createStream() reads ZEROBUS_DATABRICKS_CLIENT_ID / ZEROBUS_DATABRICKS_CLIENT_SECRET, falling back to unprefixed DATABRICKS_CLIENT_ID / DATABRICKS_CLIENT_SECRET. Use the prefixed variables when the app uses separate credentials for Zerobus ingestion.

This package does not model records or topics. It only resolves the correct SDK client and stream endpoint, then leaves ingestion semantics to Zerobus.

  • zerobus - createSdk() and createStream().

This package has no AppKit dependency. Workspace and cloud detection are delegated to @dbx-tools/databricks.