Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Integration Service

EngineeringClient

  • Last UpdatedJul 27, 2026
  • 2 minute read

Namespace: AVEVA.IntegrationService.DataAPI.SDK

Interface: IEngineeringClient

Description

EngineeringClient is used to communicate with Engineering ProductCategory products via HTTP calls. It provides methods to retrieve and post object information, attributes, and published tags.

Methods

GetObjectInfo

Retrieves required object info by supplying comma-separated element names.

Signature:

Task<DataTable> GetObjectInfo(string datasourceName, string elementName)

Example:

using AVEVA.IntegrationService.DataAPI.SDK;

using System.Data;

// Create the Engineering client

string host = "https://your-server/integration/v1";

string token = "your-access-token";

var engineeringClient = DataApiClientFactory.CreateDataApiClient<EngineeringClient>(

host: host,

authType: AuthenticationType.Connect,

waitingTimeInMinutesForLiveData: 60,

token: token,

hubCancellationToken: null

);

// Get object info for specific elements

DataTable objectInfo = await engineeringClient.GetObjectInfo(

"MyEngineeringDataSource",

"/SITE,/ZONE"

);

// Process the returned data

foreach (DataRow row in objectInfo.Rows)

{

Console.WriteLine($"Element: {row["Name"]}, Type: {row["Type"]}");

}

GetObjectInfoAttribute

Retrieves object info for specific elements and their attributes.

Signature:

Task<DataTable> GetObjectInfoAttribute(string datasourceName, string elementName, string attribute)

Example:

// Get specific attributes for elements

DataTable attributeData = await engineeringClient.GetObjectInfoAttribute(

"MyEngineeringDataSource",

"/SITE,/ZONE",

"Name,Description,Type"

);

foreach (DataRow row in attributeData.Rows)

{

Console.WriteLine($"Name: {row["Name"]}, Description: {row["Description"]}");

}

GetPublishedTags

Retrieves published tags information from the datasource.

Signature:

Task<DataSet> GetPublishedTags(string datasourceName, string key)

Example:

// Get published tags by key

DataSet publishedTags = await engineeringClient.GetPublishedTags(

"MyEngineeringDataSource",

"TagGroup1"

);

// Access different tables in the dataset

foreach (DataTable table in publishedTags.Tables)

{

Console.WriteLine($"Table: {table.TableName}, Rows: {table.Rows.Count}");

}

GetPublishedTagDataByAcknowledgementId

Retrieves published tags using an acknowledgement ID.

Signature:

Task<DataSet> GetPublishedTagDataByAcknowledgementId(string datasourceName, string acknowledgementId)

Example:

DataSet tagData = await engineeringClient.GetPublishedTagDataByAcknowledgementId(

"MyEngineeringDataSource",

"ack-12345-67890"

);

PostObjectInfo

Posts object information to the datasource.

Signature:

Task<AcknowledgementResult> PostObjectInfo(

string datasourceName,

string Element,

string data,

string AckId,

string Context = "",

string Topic = "",

int expiryDuration = 0

)

Example:

using Newtonsoft.Json;

// Prepare data to post

var objectData = new

{

Name = "NewEquipment",

Type = "Pump",

Description = "New pump installation"

};

string jsonData = JsonConvert.SerializeObject(objectData);

// Post object info

AcknowledgementResult result = await engineeringClient.PostObjectInfo(

datasourceName: "MyEngineeringDataSource",

Element: "/SITE/ZONE/NewEquipment",

data: jsonData,

AckId: "", // Empty for new post

Context: "{\"Operation\":\"Create\"}",

Topic: "EngineeringUpdates",

expiryDuration: 24 // 24 hours

);

Console.WriteLine($"Posted successfully. AckId: {result.AcknowledgementId}");

PostObjectInfoAttribute

Posts object information with specific attributes.

Signature:

Task<AcknowledgementResult> PostObjectInfoAttribute(

string datasourceName,

string Element,

string Attr,

string data,

string AckId,

string Context = "",

string Topic = "",

int expiryDuration = 0

)

Example:

var attributeData = new

{

Description = "Updated description",

Status = "Active"

};

AcknowledgementResult result = await engineeringClient.PostObjectInfoAttribute(

"MyEngineeringDataSource",

"/SITE/ZONE/Equipment1",

"Description,Status",

JsonConvert.SerializeObject(attributeData),

""

);

Related Links