Inbound

Overall process

Inbound syncing involves less configuration complexity than outbound, since you don't need to define exactly how the data is received by the app. Instead it's pretty simple - you get a Snowflake table per object from the app. For this reason, and to avoid you needing to configure lots of syncs, each sync can support any syncing number of inbound objects from the app.

In keeping with established industry naming conventions, each object within an inbound sync is called a "stream", and each one will have a table per branch of the sync (and the "main" branch).

Inbound sync strategies

By default, Omnata will automatically fetch data incrementally when possible, reverting to full-refresh if not supported by the source. You can choose the storage behaviour; whether to merge changes or keep history (append).

The configuration wizard presents three options:

  • Auto / Merge changes

  • Auto / Keep history

  • Custom - choose sync behaviours for each object

Custom sync strategies

For more complex use cases, you can set the sync strategy for each object in a sync:

Full - All data is reloaded every sync

Incremental - Using a watermark, only new changes are pulled

Storage behaviours determine how the fetched data is stored in Snowflake, considering existing synced data.

The Full strategy has two behaviours:

  • Replace - The latest copy of the full set of records replaces the existing records

  • Append - The latest copy of the full set of records is added to the existing set of records. Note that this will create duplicates of existing records.

The Incremental strategy has two behaviours:

  • Merge - The new records are matched up to existing records with the same primary key, or inserted if there is no match.

  • Append - The new records are added to the existing set of records. Note that this will result in multiple records with the same primary key.

Inbound storage location

A local table is nominated and created automatically, with all of the available fields for the selected app object.

By default, Omnata lands the data in the Omnata Sync Engine app database. Raw data is landed in the INBOUND_RAW schema and a normalized view is automatically created for most sources in the INBOUND_NORMALIZED schema.

Managing access to inbound tables

If you would like to grant access to this table to other roles, you grant the OMNATA_ADMINISTRATOR role to the other role. Run the command:

grant application role OMNATA_SYNC_ENGINE.OMNATA_ADMINISTRATOR to role MY_OTHER_ROLE

Changing the storage location

You can modify the default storage location for each sync:

  1. Navigate to Home

  2. Select the sync in the drop-down

  3. Click on the 'Controls' tab

  4. Scroll down to the Storage Location expander

Last updated