/sample-adh-assets-python

Primary LanguagePythonApache License 2.0Apache-2.0

CONNECT data services Assets Python Sample

Version: 1.1.6

Build Status

Developed against Python 3.9.1.

Requirements

  • Python 3.7+
  • Register a Client-Credentials Client in your CONNECT data services tenant and create a client secret to use in the configuration of this sample. (Video Walkthrough)
  • Install required modules: pip install -r requirements.txt

About this sample

This sample uses REST API calls to work with assets and asset types in ADH. It follows a set of steps to demonstrate the usage of various asset endpoints. The assets API reference documentation can be found here.

  1. Obtain an OAuth token for ADH, using a client-credentials client
  2. Create an SDS type
  3. Create an SDS stream
  4. Insert data into the stream
  5. Create an ADH asset
  6. Create an ADH asset type
  7. Create an asset from an asset type
  8. Retrieve an asset
  9. Retrieve a resolved asset
  10. Update an asset
  11. Retrieve the updated asset
  12. Retrieve data from an asset
  13. Retrieve status for an asset
  14. Search for an asset by asset type id
  15. Clean up assets, asset types, stream, and type

Configuring the sample

The sample is configured using the file appsettings.placeholder.json. Before editing, rename this file to appsettings.json. This repository's .gitignore rules should prevent the file from ever being checked in to any fork or branch, to ensure credentials are not compromised.

CONNECT data services is secured by obtaining tokens from its identity endpoint. Client credentials clients provide a client application identifier and an associated secret (or key) that are authenticated against the token endpoint. You must replace the placeholders in your appsettings.json file with the authentication-related values from your tenant and a client-credentials client created in your ADH tenant.

{
  "Resource": "https://uswe.datahub.connect.aveva.com",
  "ApiVersion": "v1",
  "TenantId": "PLACEHOLDER_REPLACE_WITH_TENANT_ID",
  "NamespaceId": "PLACEHOLDER_REPLACE_WITH_NAMESPACE_ID",
  "ClientId": "PLACEHOLDER_REPLACE_WITH_APPLICATION_IDENTIFIER",
  "ClientSecret": "PLACEHOLDER_REPLACE_WITH_APPLICATION_SECRET"
}

Running the sample

To run this example from the command line once the appsettings.json is configured, run

python program.py

Running the automated test

To test the sample, run

pip install pytest
python -m pytest test.py

Tested against Python 3.9.1
For the ADH Assets samples page ReadMe
For the main ADH samples page ReadMe
For the main AVEVA samples page ReadMe