Services

RelationshipsService

(synq.lineage.v1.RelationshipsService)

RelationshipsService allow management of relationships between entities. Relationships can be created, updated, and deleted between 2 custom entities, or between a custom entity and Synq native entity.enum There is no option to create relationships between 2 Synq native entities (dbt model, BI dashboard, etc.).

UpsertRelationships

UpsertRelationships (UpsertRelationshipsRequest) UpsertRelationshipsResponse

Create or update relationships between entities. If the relationship already exists, it will be updated, otherwise it will be created.

DeleteRelationships

DeleteRelationships (DeleteRelationshipsRequest) DeleteRelationshipsResponse

Delete relationships between entities. If the relationship does not exist, it will be ignored.

LineageService

(synq.lineage.v1.LineageService)

LineageService allows you to fetch:

  • Entity level lineage from a starting point of one or more entities.
  • Column Level lineage from a starting point of multiple columns of a single entity.

GetLineage

GetLineage (GetLineageRequest) GetLineageResponse

Messages

Relationship

FieldTypeDescription
upstream synq.entities.v1.Identifiernone
downstream synq.entities.v1.Identifiernone

CllDetails

FieldTypeDescription
columnsrepeated ColumnColumn details for CLL.
cll_state CllStateState of the CLL parse. UNSPECIFIED if CLL was not requested.
cll_messagesrepeated stringMessages related to CLL. e.g. Description of parse errors, etc.

Column

Column in a table-like asset (used in CLL mode).

FieldTypeDescription
column_id stringID string for the column. This is the parsed column name.
oneof _name.nameoptional stringOriginal column name as fetched from the table.
oneof _native_type.native_typeoptional stringColumn type as fetched from the table.

ColumnDependency

Indicates data flow between columns. Source columns are used to compute value of target columns.

FieldTypeDescription
source_node_idx uint32Index of source node in the lineage nodes list.
source_node_column_id stringnone
target_node_idx uint32Index of target node in the lineage nodes list.
target_node_column_id stringnone

Lineage

Lineage defines the lineage of table-like entities.

FieldTypeDescription
nodesrepeated LineageNodeNodes in the lineage with their identities and columns.
node_dependenciesrepeated NodeDependencyAll edges in the lineage between nodes. This can be parsed to create a graph of all the nodes.
is_cll boolIndicates whether the lineage was filtered for column level lineage (CLL).
column_dependenciesrepeated ColumnDependencyDependencies between columns. Populated only for CLL.

LineageNode

Node in a lineage graph representing one or more entiities (e.g. database table).

FieldTypeDescription
idsrepeated synq.entities.v1.IdentifierAll entities which have the same identity as this node. Must be at least one item. These are sorted by closeness to the type of the start point entities. e.g. if requesting lineage of a DBT source, first entity should be from DBT, similarly when viewing table it will be other tables.
position NodePositionPosition of the node in the lineage.
oneof _cll_details.cll_detailsoptional CllDetailsPopulated only for Column Level Lineage (CLL).

NodeDependency

Indicates data flow between nodes. Source nodes are used to compute value of target nodes.

FieldTypeDescription
source_node_idx uint32Index of source node in the lineage nodes list.
target_node_idx uint32Index of target node in the lineage nodes list.

DeleteRelationshipsRequest

FieldTypeDescription
relationshipsrepeated Relationshipnone

DeleteRelationshipsResponse

UpsertRelationshipsRequest

FieldTypeDescription
relationshipsrepeated Relationshipnone

UpsertRelationshipsResponse

EntitiesStartPoint

FieldTypeDescription
entitiesrepeated synq.entities.v1.Identifiernone

EntityColumnsStartPoint

FieldTypeDescription
id synq.entities.v1.Identifiernone
column_namesrepeated stringnone

GetLineageRequest

FieldTypeDescription
lineage_direction LineageDirectionnone
start_point GetLineageStartPointnone
oneof _max_depth.max_depthoptional int32none

GetLineageResponse

FieldTypeDescription
lineage Lineagenone

GetLineageStartPoint

Possible starting points to get lineage from.

FieldTypeDescription
oneof from.entities EntitiesStartPointnone
oneof from.entity_columns EntityColumnsStartPointnone