Data point subscriptions

A data point subscription is a way to listen to changes to time series data points, in ingestion order.

A single subscription can listen to many time series, and a time series can be part of many subscriptions.

You listen to subscriptions by calling the “list subscription data“ endpoint. It will return a list of data point upserts and deleted ranges, together with a cursor to retrieve the next batch of updates. Updates written since the creation of the subscription, up to 7 days ago, can be retrieved through the subscription.

Subscriptions can be defined through a list of time series instance ids.

Partitions: Subscriptions can be further divided into a number of partitions, for the purpose of fetching subscription data in parallel. Each partition will return data in ingestion order, but the order between partitions is not guaranteed.

Limitations:

  • Each subscription can have at most 10000 time series.
  • A time series can be part of at most 10 subscriptions.
  • A project can have at most 1000 subscriptions.
  • The number of partitions cannot be changed after creation.

Access control: You need READ access to subscriptions ACL to read/list subscriptions or list data, and you need WRITE access to create/update/delete subscriptions. Furthermore, you need READ access to the time series you want to get updates from.

Name of ACL: timeSeriesSubscriptionsAcl

Supported actions:

  • READ
  • WRITE

Example capabilities:

[
    {"dataModelInstancesAcl":{"actions":["READ","WRITE"],"scope":{"all":{}}}},
    {"dataModelsAcl":{"actions":["READ"],"scope":{"spaceIdScope":{"spaceIds":["cdf_cdm"]}}}},
    {"timeSeriesSubscriptionsAcl":{"actions":["WRITE", "READ"], "scope":{"all":{}}}}
]