CONNECT data services (Cds) is a highly flexible cloud-based platform that provides a scalable, elastic, centralized environment to aggregate data for reporting, advanced analytics, and third-party applications. Cds is powered by AVEVA's Sequential Data Store (SDS). In this GitHub repo, we provide samples which will help you get started with the Cds API against your Cds instance.
If you are interested in other AVEVA samples please see AVEVA Samples.
If you are new to our APIs and are looking to get going quickly, the Types, Streams, and Retrieving Data samples are good starting points.
The official Cds samples are divided in multiple categories depending on the scenario and problem/task, accessible through the following table.
Authentication
Client Credentials
Click for details on this type of authentication
|
Hybrid Flow
Click for details on this type of authentication
|
||||||||||||||||||
Authorization Code + PKCE
Click for details on this type of authentication
|
Types, Streams, Events, and Retrieving Data
Read & Write Data with Custom Index
This sample covers CRUD operations against the SDS APIs using a non-time series data type called Waveform to illustrate example use cases. (Recommended starting sample) Details
|
Read & Write Time-Series Data
This is similar to the Custom Index Data sample but instead uses a time-series data type to illustrate example use cases. (Recommended starting sample) Details
|
||||||||||||||||
PI to Cds Read Only Streams
Covers how to invoke SDS REST APIs via the sample client libraries to read data from PI to Cds streams ingressed to CONNECT data services.
|
Streaming Updates
Demonstrates REST API calls to Cds for creating a Signup to receive resource updates. Signups allow clients to subscribe resources (for example, streams) and get updates for those resources.
|
||||||||||||||||
Event Data
This sample covers CRUD operations against the CONNECT data services events store. This includes authorization tags, enumerations, reference data, and events.
|
Data Ingress
OMF Ingress
Covers the basic functionality of configuring and using the OMF Ingress
|
Bulk Upload
Demonstrates how to build a Bulk Upload utility that sends SDS objects from json files
|
||||
CSV to Cds
Shows how to send a basic csv file to Cds using SDS calls
|
Visualization
Grafana
Demonstrates how to build a Grafana plugin that retrieves stream data from Sequential Data Store
|
SDS Visualization
This sample demonstrates a basic visualization application that can find and trend values from streams in the Sequential Data Store.
|
||||||
Assets
These samples highlight basic operations with Assets in Cds, including create, update, data retrieval, and delete operations on Assets. Details
|
Power Query M
Shows how to pull data into applications that support Power Query M, such as Power BI and Microsoft Excel.
|
Analytics
Data Views
These samples highlight basic operations of Data Views for Cds, including creation, updating, getting data from and deletion of Data Views. Details
|
Data Views Jupyter
This sample demonstrates how to utilize Cds Data Views to do some basic data analysis using Python Jupyter Notebook.
|
||||||||
Data Views R
Demonstrates how to create a data frame in R from an Cds Data View
|
Functionality & Utilities
UOM
Covers the basic functionality of the UOM system on Cds
|
Namespace Data Copy
Copies Data Views, Assets, and Streams from a source Namespace to a destination Namespace
|
||||||
Sample Libraries
These sample libraries are used as the base for the other samples. They are designed to be straightforward implementations of the REST APIs. They are for use in the samples. Details
|
Security Management
Covers security configuration within Cds. This includes creating a custom role, creating a user, inviting a user, setting Access Control Lists (ACLs) for collections, setting ACLs for collection items, setting an owner for a collection item, and retrieving access rights.
|
||||||
Stream Type Change
This sample highlights changing an Cds Stream's underlying SDS Type. The main purpose of this sample is to demonstrate the steps necessary to change the underlying SDS Type, and the secondary purpose is to provide an as-is utility to perform this Type change on PI Adapter v1.1 Streams after upgrading to v1.2.
|
PI to CONNECT data services Transfer Verification Sample
This sample can be used to compare data stored in a PI Data Archive to data written to CONNECT data services through the PI to CONNECT data services agent.
|
||||||
CONNECT data services to PI
This sample uses REST API calls to the Sequential Data Store of CONNECT data services to collect Types, Streams, and data and create corresponding PI Tags in a Data Archive through OMF messages.
|
Note: Tests with automated UI browser components (such as Hybrid Authentication, Authorization Code Flow and Angular samples) fail intermittently due to automation issues.
For OMF to Cds samples please see the OMF repository: Aveva-Samples-OMF
A credential file is used in the samples unless otherwise noted in the sample. The name and location of the credential file should be noted in the sample's ReadMe.
Note: This is not a secure way to store credentials. This is to be used at your own risk.
You will need to modify these files locally when you run the samples.
The style guide describes the organization of the repo and the code samples provided. The test guide goes into detail about the included automated tests. The on prem testing document describes the software installed on our internal AVEVA build agent.
To request a new sample, if there is a feature or capability you would like demonstrated, or if there is an existing sample you would like in your favorite language, please give us feedback at https://feedback.aveva.com under the Developer Samples category. Feedback.
If your support question or issue is related to something with an AVEVA product (an error message, a problem with product configuration, etc...), please open a case with AVEVA Tech Support through myAVEVA Customer Portal (https://www.aveva.com/en/support-and-success/support-contact/).
If your support question or issue is related to a non-modified sample (or test) or documentation for the sample; please email [email protected].
If you wish to contribute please take a look at the contribution guide.
Aveva Samples are licensed under the Apache 2 license.