Entities
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.
Field | Type | Description |
---|---|---|
ids | repeated Identifier | Identifiers of the entities to get. |
BatchGetEntitiesResponse
BatchGetEntitiesResponse is the response message for the BatchGetEntities method.
Field | Type | Description |
---|---|---|
entities | repeated Entity | The entities that were retrieved. |
DeleteEntityRequest
DeleteEntityRequest is the request message for the DeleteEntity method.
Field | Type | Description |
---|---|---|
id | Identifier | Identifier 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.
Field | Type | Description |
---|---|---|
id | Identifier | Identifier of the entity to get. |
GetEntityResponse
GetEntityResponse is the response message for the GetEntity method.
Field | Type | Description |
---|---|---|
entity | Entity | The entity that was retrieved. |
UpsertEntityRequest
UpsertEntityRequest is the request message for the UpsertEntity method.
Field | Type | Description |
---|---|---|
entity | Entity | The entity to create or update. |
UpsertEntityResponse
UpsertEntityResponse is the response message for the UpsertEntity method.
AirflowDagIdentifier
Field | Type | Description |
---|---|---|
integration_id | string | Synq integration_id that identifies the Airflow instance |
dag_id | string | Airflow dag_id that identifies the DAG |
AirflowTaskIdentifier
Field | Type | Description |
---|---|---|
integration_id | string | Synq integration_id that identifies the Airflow instance |
dag_id | string | Airflow dag_id that identifies the DAG |
task_id | string | Airflow task_id that identifies the task within the DAG |
BigqueryTableIdentifier
Field | Type | Description |
---|---|---|
project | string | BigQuery project |
dataset | string | BigQuery dataset id |
table | string | BigQuery table name |
ClickhouseTableIdentifier
Field | Type | Description |
---|---|---|
host | string | Clickhouse host inclusive of port |
schema | string | Clickhouse database |
table | string | Clickhouse table |
CustomIdentifier
Field | Type | Description |
---|---|---|
integration_id | string | Synq integration_id that identifies the custom entity |
kind | string | Kind of the custom entity (e.g. “micro_service”) |
uuid | string | UUID that identifies the custom entity |
DbtCloudNodeIdentifier
Field | Type | Description |
---|---|---|
project_id | string | Your dbt Cloud project id |
account_id | string | Your dbt Cloud account id |
node_id | string | Dbt node_id that identifies one of dbt DAG nodes (model, test, etc) |
DbtCoreNodeIdentifier
Field | Type | Description |
---|---|---|
integration_id | string | Synq integration_id that identifies the dbt Core project |
node_id | string | Dbt 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.
Field | Type | Description |
---|---|---|
oneof id.dbt_core_node | DbtCoreNodeIdentifier | Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project |
oneof id.dbt_cloud_node | DbtCloudNodeIdentifier | Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project |
oneof id.bigquery_table | BigqueryTableIdentifier | BigQuery table identifier |
oneof id.snowflake_table | SnowflakeTableIdentifier | Snowflake table identifier |
oneof id.redshift_table | RedshiftTableIdentifier | Redshift table identifier |
oneof id.postgres_table | PostgresTableIdentifier | Postgres table identifier |
oneof id.mysql_table | MysqlTableIdentifier | Mysql table identifier |
oneof id.clickhouse_table | ClickhouseTableIdentifier | Clickhouse table identifier |
oneof id.airflow_dag | AirflowDagIdentifier | Airflow DAG identifier |
oneof id.airflow_task | AirflowTaskIdentifier | Airflow task identifier within a given DAG |
oneof id.custom | CustomIdentifier | Custom identifier to be used with all custom created entities |
MysqlTableIdentifier
Field | Type | Description |
---|---|---|
host | string | Mysql host inclusive of port |
schema | string | Mysql database |
table | string | Mysql table |
PostgresTableIdentifier
Field | Type | Description |
---|---|---|
host | string | Postgres host inclusive of port |
database | string | Postgres database |
schema | string | Postgres schema |
table | string | Postgres table |
RedshiftTableIdentifier
Field | Type | Description |
---|---|---|
cluster | string | Redshift cluster |
database | string | Redshift database |
schema | string | Redshift schema |
table | string | Redshift table |
SnowflakeTableIdentifier
Field | Type | Description |
---|---|---|
account | string | Snowflake account |
database | string | Snowflake database |
schema | string | Snowflake schema |
table | string | Snowflake 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.
Field | Type | Description |
---|---|---|
workspace | string | Immutable workspace identifier that this entity belongs to. |
id | Identifier | Unique identifier for this entity. |
name | string | Name of the entity that is displayed to the user. |
description | string | Description of the entity that is displayed in relevant contexts. |
created_at | google.protobuf.Timestamp | Timestamp when the entity was created. |
updated_at | google.protobuf.Timestamp | Timestamp when the entity was last updated. |
deleted_at | google.protobuf.Timestamp | Timestamp when the entity was deleted. If this is set, the entity is considered deleted. |