Feature available in Helium 6.0.2 release
The DataSync Agent plugin architecture allows the agent to modify inbound payloads before the data is inserted into a database or saved to a file.
Prerequisites
First, you will need to set up one of the Perspectium DataSync Agents.
You should also stop running your DataSync Agent before making any Agent configuration changes.
Procedure
To start using the Voltage API in your DataSync Agent, follow these steps:
Navigate to the directory where you saved your agent.xml file when installing your DataSync Agent.
Open your agent.xml file in a text editing application. Then, add the following attributes within the plugin directive:
Attribute | Description | Required? |
---|---|---|
url | REST url endpoint | Yes |
trace_id | Identifier for each request made to the API. | No. If empty or not included, a GUID will be generated for each request otherwise all requests will use the specified trace_id. |
app_name | Yes | |
host_name | Yes | |
identity | No | |
shared_secret | Yes | |
encryption_type | Yes | |
encrypt_columns | List of tables and columns to be encrypted by the Voltage API. Lists need to be in the following format: | Yes |
In the <plugin> directive, add the following value: com.perspectium.replicator.sql.plugin.SQLSubscriberVoltageEncrypterPlugin.
<plugin url="https://example.com/api" trace_id="" app_name="agent" host_name="psp" identity="" shared_secret="secret" encryption_type="3" encrypt_columns="u_edge_testing:u_test_column1,u_edge_testing:u_notes,incident:comments">com.perspectium.replicator.sql.plugin.SQLSubscriberVoltageEncrypterPlugin</plugin>
Example of a complete agent.xml configuration with the Voltage API plugin applied:
<?xml version="1.0" encoding="ISO-8859-1" ?> <config> <agent> <max_reads_per_connect>1</max_reads_per_connect> <polling_interval>5</polling_interval> <subscribe> <task> <polling_interval>5</polling_interval> <task_name>oracle_subscriber_automated_test</task_name> <handler>com.perspectium.replicator.sql.SQLSubscriber</handler> <decryption_key>Some decryption key here</decryption_key> <message_connection user="demo" password="demo" queue="psp.out.replicator.agent.example">https://example.perspectium.net</message_connection> <use_cache/> <instance_connection user="demo" password="demo">https://exmaple.service-now.com</instance_connection> <database_type>sqlserver</database_type> <database_server>localhost</database_server> <database_port>1521</database_port> <database_user>example</database_user> <database_password>example</database_password> <database_parms/> <database>psp_db</database> <skip_columns_log_interval>200</skip_columns_log_interval> <plugins> <plugin url="https://example.com/api" trace_id="" app_name="example" host_name="psp" identity="" shared_secret="example" encryption_type="3" encrypt_columns="u_edge_testing:u_test_column1,u_edge_testing:u_notes,incident:comments">com.perspectium.replicator.sql.plugin.SQLSubscriberVoltageEncrypterPlugin</plugin> </plugins> </task> </subscribe> </agent> </config>
After configuring your agent.xml, start running your DataSync Agent again.