Skip to content
MaestroHub
Menu
Free trialdownload and run it todayStart the pilot

Integrations

OPC UA to Snowflake, without a script.

Read the OPC UA nodes with MaestroHub next to the machines, give each value a name, unit and quality, and land the rows in a Snowflake table. MaestroHub buffers on disk if the link to Snowflake drops and, with Snowpipe Streaming, replays without writing anything twice.

The flow

One value, from the machine to Snowflake. Illustrative.

OPC UAindustrial protocolns=2;s=P101.VIB
MaestroHub

Pump 1 vibration · 3.4 mm/s · Good

  • named, unit, quality
  • origin stamped
  • buffered on disk
Snowflakecloud data warehouseLINE2.TELEMETRY

Why do it with MaestroHub

More than a pipe from OPC UA to Snowflake.

01

Analysts get columns, not node ids

Snowflake receives "Pump 1, vibration, mm/s" instead of ns=2;s=P101.VIB, so nobody keeps a mapping spreadsheet next to every query.

02

Outages don't cost history or money

Rows wait on disk while the link is down and are not written twice on replay. Streaming needs no warehouse running just to load data.

03

Bad data is visible, not silent

Every row carries quality, and a batch Snowflake refuses goes to Failed messages with the reason, while later rows keep flowing.

What lands in Snowflake

An example. You choose the fields in the pipeline.

tsassetsignalvalueunitquality
2026-10-03 06:00:01line2/pump1vibration3.4mm/sgood

Set it up in three steps

  1. 1

    Connect OPC UA

    Add the OPC UA server, browse its address space and pick the nodes, or add hundreds at once with bulk creation.

  2. 2

    Give the values meaning

    Map each value to a topic in the namespace with its name, unit and schema. Quality and origin are stamped on every value.

  3. 3

    Deliver to Snowflake

    Add a Snowflake output to the pipeline and pick the table; with streaming, rows land within seconds.

Before you start

What each side needs, from the connector documentation.

OPC UA

  • The server address, built as opc.tcp://host:port/path. The standard OPC UA port is 4840.
  • For any Security Policy other than None, a client certificate: paste your own (RSA keys only) or let MaestroHub generate a self-signed one.
  • If you use the auto-generated certificate, the OPC UA server administrator must trust it on the server.
  • A username and password when the server does not allow Anonymous access.

Example settings

Server Hostname
opcua.example.com
Port
4840
Security Policy
Basic256Sha256
Security Mode
SignAndEncrypt
Certificate Mode
Auto-generate (self-signed)
Authentication Type
UsernamePassword
OPC UA connector documentation

Snowflake

  • An RSA key pair. The public key is set on the Snowflake user with ALTER USER ... SET RSA_PUBLIC_KEY, and the private key goes into MaestroHub.
  • A Snowflake user whose default role has USAGE on the database and schema and INSERT (and SELECT) on the target tables. The connector always uses the user's default role.
  • Extra grants only for the features you use: OPERATE on a custom pipe, CREATE TABLE on the schema, EVOLVE SCHEMA on an existing table.
  • The account identifier, for example myorg-myaccount or xy12345.us-east-1, plus the database and schema.

Example settings

Account Identifier
<your-org>-<your-account>
Database
FACTORY
Schema
RAW
User
MAESTROHUB_SVC
Table (Stream Rows)
TELEMETRY
Rows (Stream Rows)
((data))
Snowflake connector documentation

Things to know

Pitfalls and limits the documentation calls out, so they don't surprise you on site.

OPC UA

  • Security Policy and Security Mode must agree. Policy None requires Mode None. Any other policy requires Sign or SignAndEncrypt.
  • Node identifiers need a namespace index and a type prefix (i=, s=, g=, b=). Namespace 0 is typically standard nodes, 2 and up custom nodes. Browse a small scope first to find the exact IDs.
  • On Monitor functions, set the sampling interval equal to or faster than the publishing interval, or changes can be missed. Subscriptions are recreated automatically after a lost connection or a session timeout.

Limits

  • Manual client certificates support RSA keys only. Auto-generated certificates are RSA 2048-bit and valid for 365 days.
  • Monitor functions cannot be created through Quick Add. Use the full Function Builder.

Snowflake

  • Send epoch timestamps as strings or as ISO-8601 text. Epoch milliseconds sent as a JSON number are read as seconds and stored around the year 57,700 with no error.
  • A timestamp without a time zone is read in the account time zone (America/Los_Angeles by default) for TIMESTAMP_LTZ and TIMESTAMP_TZ columns. Send the zone, for example 2026-09-23T08:00:00Z.
  • Snowflake skips rows that do not fit the table. Turn on ERROR_LOGGING on the table to keep them, and turn on Wait for Commit when a rejected row must fail the call.

Limits

  • Snowflake Streaming only loads rows. To query or run DML and DDL, use the Snowflake SQL connector, which runs through a warehouse.
  • A single row larger than 4 MB after compression is refused, and each connection writes to one database and schema. Use a second connection for another schema.

What teams use it for

Plant-wide OEE in the warehouse

Availability, performance and quality per line, joined with ERP data already in Snowflake.

Energy reporting

Meter readings per machine and shift for cost and sustainability reports.

Training data for models

Clean, labelled time series with quality flags, ready for data science.

Ways to connect OPC UA to Snowflake

In general terms. Check any specific product for its own details.

Compare a custom script, a flow tool, a cloud vendor's edge service and MaestroHub

Swipe sideways to see every column

A custom scriptA flow toolA cloud vendor's edge serviceMaestroHub
Talks OPC UAA library you chooseCommunity plug-insDepends on the vendorBuilt in, one of 90+ connectors
Names, units and schemaYou write itYou build itPartly, in the vendor's modelOne governed namespace
Quality on every valueYou write itYou build itDepends on the vendorBuilt in, carried through calculations
Where each value came fromYou write itYou build itDepends on the vendorStamped on every value
Survives a network outageYou build itYou build itUsually, to that vendor's cloudOn disk, per destination, in order
Several destinations at onceOne script eachYes, flow by flowMostly that vendor's cloudAny mix, each with its own buffer
Permissions and auditYou build itYou build itCloud account permissionsRoles, single sign-on, audit trail
AI agents can use the dataYou build itYou build itDepends on the vendorThrough the MCP server

Questions

How do I connect OPC UA data to Snowflake?

Read the OPC UA nodes with MaestroHub next to the machines, give each value a name, unit and quality, and land the rows in a Snowflake table. MaestroHub buffers on disk if the link to Snowflake drops and, with Snowpipe Streaming, replays without writing anything twice.

Do I need to write code to connect OPC UA to Snowflake?

No. You configure the OPC UA connection and the Snowflake output in MaestroHub and join them with a pipeline. Transformations can be added where you need them.

Where does MaestroHub run for this?

On your own infrastructure next to the machines: an edge box, a virtual machine or Kubernetes. Only the rows you choose leave the plant for Snowflake.

Why not just write a script for OPC UA to Snowflake?

A script works on day one. The cost comes later: decoding and naming values, handling bad quality, buffering through outages, keeping credentials safe, and doing it again for the next machine and the next destination. MaestroHub does those once, for every connector.

What else can OPC UA data go to?

More than 90 connectors are included in every edition, among them historians, databases, cloud warehouses, message brokers and business systems, so the same values can feed several destinations at once.

Try OPC UA to Snowflake yourself.

The free trial includes every connector. No factory to hand? The Digital Factory Simulator serves OPC UA, Modbus, MQTT and more on your laptop.

Cookie preferences

Choose which categories of cookies you allow. Strictly necessary cookies are always on because the site cannot function without them.