We are proud to share our inclusion in the 2024 Gartner Magic Quadrant for Data Integration Tools. We believe this recognition reflects the differentiated business outcomes CData delivers to our customers.
Get the Report →Replicate AlloyDB Data for Use in Salesforce Connect
Replicate AlloyDB data to a PostgreSQL database on Heroku and connect it to Salesforce using Salesforce Connect.
CData Sync is a stand-alone application that provides solutions for a variety of replication scenarios, such as replicating sandbox and production instances into your database. By replicating AlloyDB data to a PostgreSQL database in Heroku, you gain access to AlloyDB external objects (using Salesforce Connect) alongside standard Salesforce objects.
Requirements
For this replication example, you need the following:
- CData Sync (trial or licensed), along with a license (full or trial) for AlloyDB replication.
- A Heroku app with the Heroku Postgress and Heroku Connect add-ons provisioned.
- A Salesforce account.
Configure the Replication Destination
Using CData Sync, you can easily replicate AlloyDB data to a PostgreSQL database on Heroku. For this article, you need an existing PostgreSQL database on Heroku. To add your PostgreSQL database as a replication destination, navigate to the Connections tab.
- Click Add Connection.
- Select PostgreSQL as the destination and enter the necessary connection properties.
To connect to PostgreSQL, set the Host, Port (the default port is 5432) and Database connection properties, then set the user and password you wish to use to authenticate to the server. If the Database property is not specified, the data provider connects to the user's default database.
- Click Test Connection to ensure the connection is configured properly.
- Click Save Changes.
Configure the AlloyDB Connection
You can configure a connection to AlloyDB from the Connections tab. To add a connection your AlloyDB data, navigate to the Connections tab.
- Click Add Connection.
- Select a source (AlloyDB).
- Configure the connection properties.
The following connection properties are usually required in order to connect to AlloyDB.
- Server: The host name or IP of the server hosting the AlloyDB database.
- User: The user which will be used to authenticate with the AlloyDB server.
- Password: The password which will be used to authenticate with the AlloyDB server.
You can also optionally set the following:
- Database: The database to connect to when connecting to the AlloyDB Server. If this is not set, the user's default database will be used.
- Port: The port of the server hosting the AlloyDB database. This property is set to 5432 by default.
Authenticating with Standard Authentication
Standard authentication (using the user/password combination supplied earlier) is the default form of authentication.
No further action is required to leverage Standard Authentication to connect.
Authenticating with pg_hba.conf Auth Schemes
There are additional methods of authentication available which must be enabled in the pg_hba.conf file on the AlloyDB server.
Find instructions about authentication setup on the AlloyDB Server here.
Authenticating with MD5 Authentication
This authentication method must be enabled by setting the auth-method in the pg_hba.conf file to md5.
Authenticating with SASL Authentication
This authentication method must be enabled by setting the auth-method in the pg_hba.conf file to scram-sha-256.
Authenticating with Kerberos
The authentication with Kerberos is initiated by AlloyDB Server when the ∏ is trying to connect to it. You should set up Kerberos on the AlloyDB Server to activate this authentication method. Once you have Kerberos authentication set up on the AlloyDB Server, see the Kerberos section of the help documentation for details on how to authenticate with Kerberos.
- Click Connect to ensure that the connection is configured properly.
- Click Save Changes.
Configure Queries for Each AlloyDB Instance
CData Sync enables you to control replication with a point-and-click interface. To configure a replication, navigate to the Jobs tab and click Add Job. Select the Source and Destination for your replication.
Replicate Entire Tables
To replicate an entire table, click Add Tables in the Tables section, choose the table(s) you wish to replicate, and click Add Selected Tables.
Customize Your Replication
You can use the Transform feature to customize your replication, whether you want to only replicate specific fields, compute new fields based on existing fields, and/or filter the results based on specific conditions:
- Add or remove fields using the check boxes
- Add computed fields to the bottom of the column listing
- Add filters using the Filter section
As you make changes using the interface, the SQL query used for the replication changes, going from something simple, like this:
REPLICATE [Orders]
to something customized and more complex, like this:
REPLICATE [Orders] SELECT [ShipName], [ShipCity] FROM [Orders] WHERE [ShipCountry] = USA
Schedule Your Replication
In the Schedule section, you can schedule a job to run automatically, configuring the job to run after specified intervals, ranging from once every 10 minutes to once every month.
Once you configure the replication job, click Save Changes. You can configure any number of jobs to replicate AlloyDB data for use as external objects in Salesforce.
Connect to Your Replicated AlloyDB Data as an External Data Source
Once your AlloyDB data is replicated to the PostgreSQL database on Heroku, configure the OData interface for Heroku and connect to the database as an external data source via Salesforce Connect.
Configure the OData Service for Heroku
The first part of connecting to AlloyDB data replicated to a PostgreSQL database on Heroku is configuring the Heroku External Objects for the database.
- In your Heroku dashboard, click the Heroku Connect Add-On.
- Select External Objects. (If this is the first time using Heroku External Object, you will be prompted to create the OData service's login credentials)
- View the OData service URL and credentials (noting the URL and credentials to be used later from Salesforce Connect).
- In Data Sources, select which replicated tables to share.
Refer to the Heroku documentation for more detailed instructions.
Configure an External Data Source in Salesforce
After the OData service for Heroku is configured, we can connect to the replicated AlloyDB data as an external data source from Salesforce Connect.
- In Salesforce, click Setup
- In the Administration section, click Data -> External Data Sources
- Set the data source parameter properties:
- External Data Source: the name you wish to display in the Salesforce user interface
- Name: a unique identifier for the API
- Type: Salesforce Connect: OData 4.0
- URL: Enter the OData endpoint from Heroku Connect (above)
- Format: JSON
- Set Authentication:
- Identity Type: Named Principal
- Authentication Protocol: Password Authentication
- Username: the Heroku Connect username
- Password: the Heroku Connect password
- Click Save.
Synchronize AlloyDB Objects
After you have created the external data source in Salesforce, follow the steps below to create AlloyDB external objects that reflect any changes in the data source. You will synchronize the definitions for the AlloyDB external objects with the definitions for AlloyDB tables.
- Click the link for the external data source you created.
- Click Validate and Sync.
- Select the AlloyDB tables you want to work with as external objects and click Sync.
Access AlloyDB Data as Salesforce Objects
At this point, you will be able to connect to and work with your replicated AlloyDB entities as external objects just as you would with standard Salesforce objects, whether you are simply viewing the data or building related lists of external AlloyDB data alongside standard Salesforce objects.
Download a 30-day free trial of CData Sync and replicate your AlloyDB data for use with Salesforce Connect today!