Skip to main content
GuideServerConfigure and deploy Tabsdata servers on your machine.TutorialsConfigure data integration workflows within a running Tabsdata server.Advanced TutorialsBuild end-to-end workflows between two specific systems.API ReferenceCLI ReferenceRelease Notes
Version: 2.0.1

MariaDB

The MariaDB connector lets Tabsdata run queries against MariaDB and write tables into MariaDB.

The MySQLSrc connector can be used by a publisher function to read data from MariaDB into a Tabsdata table.

The MySQLDest connector can be used by a subscriber function to write data from a Tabsdata table into MariaDB.

Publishers and Subscribers​

The MySQLSrc connector can be used by a publisher function to read data from MariaDB into a Tabsdata table. See the full publisher walkthrough

Connection​

MariaDB publishers use MySQLSrcConn to define the database connection and credentials used by the publisher.

conn-mariadb.yaml
kind: connectionDef
apiVersion: '1.0'
type: tabsdatak.conn.mysql:MySQLSrcConn
spec:
uri: 'mariadb://db.internal:3306/world'
credentials:
kind: userPasswordCredentials
apiVersion: '1.0'
type: tabsdatak.conn.common.types:UserPassword
spec:
user: 'secret:tabsdata_reader'
password: 'secret:example-password'
  • required
  • required
  • optional
  • optional

Connection Config Parameters​

uri​

The SQLAlchemy-style connection URI: mariadb://host:port/database. Written as a plain value here, but accepts secret: too.

credentials​

The database user and password, spliced into the URI at connect time. UserPassword requires a user and password.

entity_whitelist​

Limits which source tables are discovered (registered in the collection's table catalog) when the source collection is created: a YAML list of regular expressions, not a comma-separated string. A table is kept if it matches any pattern. Omit it entirely to discover every table in the database.

conn_cfg​

Driver-side options forwarded to the connection as SQLAlchemy connect_args.

Publisher​

Configure MySQLSrc as the source of a publisher function to select the queries that Tabsdata runs against MariaDB.

publish_orders.py
from tabsdatak.api import publisher
from tabsdatak.conn.mysql import MySQLSrc

@publisher(
source=MySQLSrc(
queries=[
"SELECT * FROM orders",
],
),
output_tables=["orders"],
)
def publish_orders(orders):
return orders
  • required
  • optional
  • optional

Function Config Parameters​

queries​

Defines the SQL queries the publisher runs against MariaDB.

Each element in queries represents one source slot and maps positionally to an argument in the publisher function.

For example:

MySQLSrc(
queries=[
"SELECT * FROM country",
"SELECT * FROM city",
],
)

initial_values​

Values substituted into {placeholder}-style tokens inside queries, so one publisher can read the same tables out of a different schema or catalog without the SQL changing.

src_cfg​

Sets additional source configuration.