System integration - Amazon Virtual Andon

System integration

The Amazon Virtual Andon solution allows data to be easily integrated from other systems. To create issues in the solution originating from other devices, post a message to the ava/issues AWS IoT Core topic in the following format:


{ "id": <ID!>, "eventId": String, "eventDescription": String, "type": String, "priority": String, "siteName": String, "processName": String, "areaName":" String, "stationName": String, "deviceName": String, "created": AWSDateTime, "acknowledged": AWSDateTime, "closed": AWSDateTime, "status": "open" }

Set up the siteName, processName, areaName, stationName, deviceName, and eventDescription from the management UI before sending data to this topic. This ensures consistency across the observer UI and provides accurate information to engineers.

For example, if you are connecting industrial equipment such as OPC DA servers, or Mitsubishi PLC’s using the Machine to Cloud Connectivity Framework solution, you can create an IoT rule to start an AWS Lambda function that can convert your machine data into the specified format and then publish the message to the ava/issues topic.

The format can also be used to call the createIssue AppSync mutation directly using an AWS AppSync client. For more information about building a NodeJS AppSync client, refer to Create a Client Application in the AWS AppSync Developer Guide or refer to the source code for the HandleIssues AWS Lambda function. To use the AppSync API with an AppSync client, your AWS Identity and Access Management (IAM) role must have the necessary permissions to perform the desired AppSync queries and mutations.

Issues can be created when a JSON file is uploaded to the DetectedAnomaliesBucket Amazon S3 bucket. The eventId and deviceId are found in the Amazon Virtual Andon console when viewing the pages where events and devices are listed. Alternatively, the IDs are the primary keys for the Event and Device DynamoDB tables so the values can be retrieved from the DynamoDB console.

{ "eventId": "8a2def45-968b-4632-ab02-fde454bb4634", "deviceId": "39bd8837-75b2-4499-b5a7-be30934f7821" }

Placing the JSON file in the DetectedAnomaliesBucket S3 bucket invokes the HandleIssues AWS Lambda function. The event and device IDs are used to retrieve the information needed to create an Issue and the createIssue AppSync mutation is called. The issue becomes visible in the Amazon Virtual Andon console, where it can be processed.