Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "BaSyx / Documentation / Components / DataBridge"

m
 
(8 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
 
= DataBridge Component =
 
= DataBridge Component =
The DataBridge supports integrating various protocols with Asset Administration Shells. Data can be acquired from various endpoints, be transformed and pushed into SubmodelElements. By being provided as easy-to-use off-the-shelf component on [https://hub.docker.com/r/eclipsebasyx/databridge DockerHub], it can easily be integrated in own use cases.
+
The DataBridge supports integrating various protocols with Asset Administration Shells. Data can be acquired from various endpoints, be transformed and pushed into SubmodelElements. By being provided as easy-to-use off-the-shelf component on [https://hub.docker.com/r/eclipsebasyx/databridge DockerHub], it can easily be integrated in own use cases. For a comprehensive example, see the [[BaSyx_/_Scenarios_/_Asset_Integration | Asset Integration Scenario]].
  
 
== Download ==
 
== Download ==
Line 10: Line 10:
 
The DataBridge image is made available via [https://hub.docker.com/r/eclipsebasyx/databridge Docker Hub] and can be pulled by:
 
The DataBridge image is made available via [https://hub.docker.com/r/eclipsebasyx/databridge Docker Hub] and can be pulled by:
  
  docker pull eclipsebasyx/databridge:1.0.0-milestone-02
+
  docker pull eclipsebasyx/databridge:1.0.0-SNAPSHOT
  
 
Alternatively, the command described in Startup section will download the image.
 
Alternatively, the command described in Startup section will download the image.
Line 18: Line 18:
 
To easily start the DataBridge component, you can use the following command:
 
To easily start the DataBridge component, you can use the following command:
  
  docker run --name=databridge -p 8085:8085 -v C:/tmp:/usr/share/config eclipsebasyx/databridge:1.0.0-milestone-02
+
  docker run --name=databridge -p 8085:8085 -v C:/tmp:/usr/share/config eclipsebasyx/databridge:1.0.0-SNAPSHOT
  
The host port 8085 is mapped to container port 8085. The configuration files are located in '''C:/tmp''' and are available to the docker container at '''/usr/share/config''' via volume mapping.
+
The host port 8085 is mapped to container port 8085. The configuration files are located in '''C:/tmp''' and are available to the docker container at '''/usr/share/config''' via volume mapping. Alternatively, the DataBridge can be configured by passing the configuration files via environment variables.
 +
 
 +
== Configuration via Environment Variables ==
 +
The DataBridge expects the environment variables to follow the same naming scheme and content as the config files. For example, for routes configuration, "routes.json" environment variable needs to be defined with the content described in the [[BaSyx_/_Documentation_/_Components_/_DataBridge_/_Features_/_Routes_Configuration | routes.json]] documentation. Additionally, the name of the JSONata transformation files need to be explicitly configured as JSON array via ''jsonatatransformers'' variable, e.g., ''jsonatatransformers = ["jsonataA.json", "jsonataB.json"].
  
 
'''Note:'''  
 
'''Note:'''  
* Volume mapping is mandatory because if there are no configuration files defined/mapped, then running the image would throw an exception.
+
* Either volume mapping or environment variable configuration is mandatory because if there are no configuration files defined/mapped, then running the image would throw an exception.
 
* Make sure that other components such as Data Source, Transformer, and Data Sink components defined in the configuration are up and running before starting the DataBridge component.
 
* Make sure that other components such as Data Source, Transformer, and Data Sink components defined in the configuration are up and running before starting the DataBridge component.
* Please use the latest version of the DataBridge image.  
+
* Please use the latest version of the DataBridge image.
 
+
 
+
The container can be stopped, started, and removed using its name (see --name):
+
 
+
docker stop databridge
+
docker start databridge
+
docker rm databridge
+

Latest revision as of 05:36, 4 October 2023

Overview | Interface | Component | Features

DataBridge Component

The DataBridge supports integrating various protocols with Asset Administration Shells. Data can be acquired from various endpoints, be transformed and pushed into SubmodelElements. By being provided as easy-to-use off-the-shelf component on DockerHub, it can easily be integrated in own use cases. For a comprehensive example, see the Asset Integration Scenario.

Download

The DataBridge image is made available via Docker Hub and can be pulled by:

docker pull eclipsebasyx/databridge:1.0.0-SNAPSHOT

Alternatively, the command described in Startup section will download the image.

Startup

To easily start the DataBridge component, you can use the following command:

docker run --name=databridge -p 8085:8085 -v C:/tmp:/usr/share/config eclipsebasyx/databridge:1.0.0-SNAPSHOT

The host port 8085 is mapped to container port 8085. The configuration files are located in C:/tmp and are available to the docker container at /usr/share/config via volume mapping. Alternatively, the DataBridge can be configured by passing the configuration files via environment variables.

Configuration via Environment Variables

The DataBridge expects the environment variables to follow the same naming scheme and content as the config files. For example, for routes configuration, "routes.json" environment variable needs to be defined with the content described in the routes.json documentation. Additionally, the name of the JSONata transformation files need to be explicitly configured as JSON array via jsonatatransformers variable, e.g., jsonatatransformers = ["jsonataA.json", "jsonataB.json"].

Note:

  • Either volume mapping or environment variable configuration is mandatory because if there are no configuration files defined/mapped, then running the image would throw an exception.
  • Make sure that other components such as Data Source, Transformer, and Data Sink components defined in the configuration are up and running before starting the DataBridge component.
  • Please use the latest version of the DataBridge image.

Back to the top