Services

EntitiesService

(synq.entities.v1.EntitiesService)

EntitiesService is a service for managing custom entities. Entities can represent various data platform concepts such as services, consumers, applications or data pipelines that are not natively available in Synq.

Entities are identified by a unique identifier and can be created, updated, read and deleted.

GetEntity

GetEntity (GetEntityRequest) GetEntityResponse

Get specific entity by its identifier.

BatchGetEntities

BatchGetEntities (BatchGetEntitiesRequest) BatchGetEntitiesResponse

Get multiple entities by their identifiers.

UpsertEntity

UpsertEntity (UpsertEntityRequest) UpsertEntityResponse

Create or update an entity. If the entity does not exist, it will be created, otherwise it will be updated. Entities are identified and deduplicated by their Identifier in a scope of a given customer workspace.

DeleteEntity

DeleteEntity (DeleteEntityRequest) DeleteEntityResponse

Delete an entity by its identifier. If the entity does not exist, it will be a no-op.

Messages

BatchGetEntitiesRequest

BatchGetEntitiesRequest is the request message for the BatchGetEntities method.

FieldTypeDescription
idsrepeated IdentifierIdentifiers of the entities to get.

BatchGetEntitiesResponse

BatchGetEntitiesResponse is the response message for the BatchGetEntities method.

FieldTypeDescription
entitiesrepeated EntityThe entities that were retrieved.

DeleteEntityRequest

DeleteEntityRequest is the request message for the DeleteEntity method.

FieldTypeDescription
id IdentifierIdentifier of the entity to delete.

DeleteEntityResponse

DeleteEntityResponse is the response message for the DeleteEntity method.

GetEntityRequest

GetEntityRequest is the request message for the GetEntity method.

FieldTypeDescription
id IdentifierIdentifier of the entity to get.

GetEntityResponse

GetEntityResponse is the response message for the GetEntity method.

FieldTypeDescription
entity EntityThe entity that was retrieved.

UpsertEntityRequest

UpsertEntityRequest is the request message for the UpsertEntity method.

FieldTypeDescription
entity EntityThe entity to create or update.

UpsertEntityResponse

UpsertEntityResponse is the response message for the UpsertEntity method.

AirflowDagIdentifier

FieldTypeDescription
integration_id stringSynq integration_id that identifies the Airflow instance
dag_id stringAirflow dag_id that identifies the DAG

AirflowTaskIdentifier

FieldTypeDescription
integration_id stringSynq integration_id that identifies the Airflow instance
dag_id stringAirflow dag_id that identifies the DAG
task_id stringAirflow task_id that identifies the task within the DAG

BigqueryTableIdentifier

FieldTypeDescription
project stringBigQuery project
dataset stringBigQuery dataset id
table stringBigQuery table name

ClickhouseTableIdentifier

FieldTypeDescription
host stringClickhouse host inclusive of port
schema stringClickhouse database
table stringClickhouse table

CustomIdentifier

FieldTypeDescription
integration_id stringSynq integration_id that identifies the custom entity
kind stringKind of the custom entity (e.g. “micro_service”)
uuid stringUUID that identifies the custom entity

DbtCloudNodeIdentifier

FieldTypeDescription
project_id stringYour dbt Cloud project id
account_id stringYour dbt Cloud account id
node_id stringDbt node_id that identifies one of dbt DAG nodes (model, test, etc)

DbtCoreNodeIdentifier

FieldTypeDescription
integration_id stringSynq integration_id that identifies the dbt Core project
node_id stringDbt node_id that identifies one of dbt DAG nodes (model, test, etc)

Identifier

Identifier is a unique reference to an entity in Synq system. Entity identifiers are designed to closely mimic identifiers used by data platforms and tools. To construct an identifier, you need to know the kind of the entity and the ids that you would normally use to identify it in the data platform or tool. For example, to identify a table in BigQuery, you would need to know the project, dataset, and table names.

FieldTypeDescription
oneof id.dbt_core_node DbtCoreNodeIdentifierDbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project
oneof id.dbt_cloud_node DbtCloudNodeIdentifierDbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project
oneof id.bigquery_table BigqueryTableIdentifierBigQuery table identifier
oneof id.snowflake_table SnowflakeTableIdentifierSnowflake table identifier
oneof id.redshift_table RedshiftTableIdentifierRedshift table identifier
oneof id.postgres_table PostgresTableIdentifierPostgres table identifier
oneof id.mysql_table MysqlTableIdentifierMysql table identifier
oneof id.clickhouse_table ClickhouseTableIdentifierClickhouse table identifier
oneof id.airflow_dag AirflowDagIdentifierAirflow DAG identifier
oneof id.airflow_task AirflowTaskIdentifierAirflow task identifier within a given DAG
oneof id.custom CustomIdentifierCustom identifier to be used with all custom created entities

MysqlTableIdentifier

FieldTypeDescription
host stringMysql host inclusive of port
schema stringMysql database
table stringMysql table

PostgresTableIdentifier

FieldTypeDescription
host stringPostgres host inclusive of port
database stringPostgres database
schema stringPostgres schema
table stringPostgres table

RedshiftTableIdentifier

FieldTypeDescription
cluster stringRedshift cluster
database stringRedshift database
schema stringRedshift schema
table stringRedshift table

SnowflakeTableIdentifier

FieldTypeDescription
account stringSnowflake account
database stringSnowflake database
schema stringSnowflake schema
table stringSnowflake table

Entity

Entity is the base type for all entities in the system. Its always attached to a given client workspace and can be uniquely identified by its id.

FieldTypeDescription
workspace stringImmutable workspace identifier that this entity belongs to.
id IdentifierUnique identifier for this entity.
name stringName of the entity that is displayed to the user.
description stringDescription of the entity that is displayed in relevant contexts.
created_at google.protobuf.TimestampTimestamp when the entity was created.
updated_at google.protobuf.TimestampTimestamp when the entity was last updated.
deleted_at google.protobuf.TimestampTimestamp when the entity was deleted. If this is set, the entity is considered deleted.