DataIntegrationApiAndEvents
DataService API endpoints
DataService API base URL: https://{hostname}/api/asol/ds
Swagger UI: https://demo.avaplace.com/api/asol/ds/swagger
See also:
VDM Metamodel APIs
Integration agent APIs
Integration profile APIs
Publish and Consume data APIs
DataService notification messages
This notifications can be consumed via messaging, see The 1st method of communication - Message Publisher / Consumer.
ASOL.DataService.IntegrationProfileChangeStarted and ASOL.DataService.IntegrationProfileChangeCompleted (default queue)
Message notifies that changes of integration-profile started / completed (optional notification for data consumer and publisher). This pair of messages is published separately and delivered to each of affected integration agents.
Parameters - Click to expand
Event definitions:
-
messageType:
ASOL.DataService.IntegrationProfileChangeStarted -
contractType:
IntegrationProfileChangeStarted -
exchange:
ASOL.DataService.Edge.Events:IntegrationProfileChangeStarted -
queueName: `` (i.e. default queue)
-
messageType:
ASOL.Data.Service.IntegrationProfileChangeCompleted -
contractType:
IntegrationProfileChangeCompleted -
exchange:
ASOL.DataService.Edge.Events:IntegrationProfileChangeCompleted -
queueName: `` (i.e. default queue)
Event headers:
X-DataSourceId- the data-source identifier of integration agent
Event classes:
ASOL.DataService.Edge.Contracts.Events.IntegrationProfileChangeStartedASOL.DataService.Edge.Contracts.Events.IntegrationProfileChangeCompleted
Event properties:
dataSourceId- the data-source identifier (guid)- for started event:
requestId- the integration-request identifier being processed (guid)targetProfileId- the target integration-profile identifier (guid)currentProfileId- the current integration-profile identifier (guid)
- for completed event:
requestId- the integration-request identifier just processed (guid)requestStatus- the final status of integration-requestwasSuccess- the requested operation result (true = success, otherwise false)currentProfileId- the current integration-profile identifier (guid), it is equals to the requestedtargetProfileIdwhen succesfull, otherwise remains unchanged
ASOL.DataService.DataModelCustomPropertyChanged (default queue)
Message notifies that definition of custom property was changed (optional notification for data consumer and publisher).
Parameters - Click to expand
Event definitions:
- messageType:
ASOL.DataService.DataModelCustomPropertyChanged - contractType:
DataModelCustomPropertyChanged - exchange:
ASOL.DataService.Edge.Events:DataModelCustomPropertyChanged - queueName: `` (i.e. default queue)
Event headers:
- none
Event classes:
ASOL.DataService.Edge.Contracts.Events.DataModelCustomPropertyChanged
Event properties:
-
id- the custom-property identifier of current version (guid) -
code- the unique invariant code of custom property (i.e. human readable alternate key) -
modelId- the data-model identifier (guid) -
version- the version of custom-property -
previousId- the custom-property identifier of previous version (guid), if any -
dataModelId- the data-model identifier (guid) -
status- the status of property changeCreated� property createdUpdated� property updatedDeleted� property deleted
Note: the property is identified by code and modelId, but version of property definition is defined by guid. So each change of property (created, updated, deleted) produces new guid with incremented version number.
ASOL.DataService.EnqueueDataStatusChanged (default queue)
Message notifies that status of input-queue was changed (optional notification for data publisher).
Parameters - Click to expand
Event definitions:
- messageType:
ASOL.DataService.EnqueueDataStatusChanged - contractType:
EnqueueDataStatusChanged - exchange:
ASOL.DataService.Edge.Events:EnqueueDataStatusChanged - queueName: `` (i.e. default queue)
Event headers:
X-DataSourceId- the data-source identifier of integration agent
Event classes:
ASOL.DataService.Edge.Contracts.Events.EnqueueDataStatusChanged
Event properties:
dataSourceId- the data-source identifier (guid)queueItemId- the identifier of queue-item in input-queue (guid)operationId- the operation identifier (guid), see Operating log - the end-to-end loggingstatus- the current status of queue-item in input-queueStarted� just startedPending� during unfinished enqueuing processCompleted� finished enqueuing process and ready to transformCanceled� (terminal state) after unsuccessful enqueuing processRunning� during transformation processSuccess� (terminal state) after successful transformation processFailed� (terminal state) after unsuccessful transformation process
ASOL.DataService.IntegrationDataChanged (default queue)
Message notifies that data-changes was processed in the scope of data-integration profile (optional notification for data consumer).
Parameters - Click to expand
Event definitions:
- messageType:
ASOL.DataService.IntegrationDataChanged - contractType:
IntegrationDataChanged - exchange:
ASOL.DataService.Events:IntegrationDataChanged - queueName: `` (i.e. default queue)
Event headers:
X-DataSourceId- the data-source identifier of data publisherX-FeatureId- the identifier of the data-integration featureX-ScenarioId- the identifier of the data-integration scenario
Event classes:
ASOL.DataService.Events.IntegrationDataChanged
Event properties:
sourceId- the data-source identifier of publisher (guid)resultId- the result identifier of published data-block (i.e. the queue-item identifier of publisher) (guid)operationId- the operation identifier (guid), see Operating log - the end-to-end loggingprofileId- the integration-profile identifier (i.e. current-profile when processed) (guid)featureId- the integration-feature identifier (guid)scenarioId- the integration-scenario identifier (guid)
OBSOLETE: ASOL.DataService.RecordCreated, ASOL.DataService.RecordUpdated and ASOL.DataService.RecordDeleted (DS.Data queue)
Messages notify about data changes in virtual datastore (optional notification for data consumer).
Parameters - Click to expand
Event definitions:
-
messageType:
ASOL.DataService.RecordCreated -
contractType:
DataRecordCreatedEvent -
exchange:
ASOL.DataService.Events:DataRecordCreatedEvent -
queueName:
DS.Data -
messageType:
ASOL.DataService.RecordUpdated -
contractType:
DataRecordUpdatedEvent -
exchange:
ASOL.DataService.Events:DataRecordUpdatedEvent -
queueName:
DS.Data -
messageType:
ASOL.DataService.RecordDeleted -
contractType:
DataRecordDeletedEvent -
exchange:
ASOL.DataService.Events:DataRecordDeletedEvent -
queueName:
DS.Data
Event headers:
X-DataModelId- the identifier of the data-modelX-DataSourceId- the data-source identifier of data publisher
Event classes:
ASOL.DataService.Events.DataRecordCreatedEventASOL.DataService.Events.DataRecordUpdatedEventASOL.DataService.Events.DataRecordDeletedEvent
Event properties:
dataModelId- the data-model identifier (guid)dataRecordId- the data-record identifier (guid)dataSourceId- the data-source identifier of publisher (guid)operationId- the operation identifier (guid)
ASOL.DataService.RefreshSourceConfig and ASOL.DataService.RefreshSourceStatus (DS.Commands queue)
Messages remotely commanding data agent/application to refresh configuration of data-source and provide current health status of data-source (optional notification for data consumer and publisher).
Parameters - Click to expand
Event definitions:
-
messageType:
ASOL.DataService.RefreshSourceStatus -
contractType:
RefreshStatusEvent -
exchange:
ASOL.DataService.Edge.Events:RefreshStatusEvent -
queueName:
DS.Commands -
queueArguments:
{"x-expires": "3600000"} -
messageType:
ASOL.DataService.RefreshSourceConfig -
contractType:
RefreshConfigEvent -
exchange:
ASOL.DataService.Edge.Events:RefreshConfigEvent -
queueName:
DS.Commands -
queueArguments:
{"x-expires": "3600000"}
Event headers:
X-DataSourceId- the data-source identifier
Event classes:
ASOL.DataService.Edge.Contracts.Events.RefreshStatusEventASOL.DataService.Edge.Contracts.Events.RefreshConfigEvent
Event properties:
dataSourceId- the data-source identifier (guid)