Replicate Amazon Athena Data for Use in Salesforce Connect

Ready to get started?

Learn more or sign up for a free trial:

CData Sync



Replicate Amazon Athena 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 Amazon Athena data to a PostgreSQL database in Heroku, you gain access to Amazon Athena external objects (using Salesforce Connect) alongside standard Salesforce objects.

Requirements

For this replication example, you need the following:

  1. CData Sync (trial or licensed), along with a license (full or trial) for Amazon Athena replication.
  2. A Heroku app with the Heroku Postgress and Heroku Connect add-ons provisioned.
  3. A Salesforce account.

Configure the Replication Destination

Using CData Sync, you can easily replicate Amazon Athena 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.

  1. Click Add Connection.
  2. 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.

  3. Click Test Connection to ensure the connection is configured properly.
  4. Click Save Changes.

Configure the Amazon Athena Connection

You can configure a connection to Amazon Athena from the Connections tab. To add a connection your Amazon Athena data, navigate to the Connections tab.

  1. Click Add Connection.
  2. Select a source (Amazon Athena).
  3. Configure the connection properties.

    Authenticating to Amazon Athena

    To authorize Amazon Athena requests, provide the credentials for an administrator account or for an IAM user with custom permissions: Set AccessKey to the access key Id. Set SecretKey to the secret access key.

    Note: Though you can connect as the AWS account administrator, it is recommended to use IAM user credentials to access AWS services.

    Obtaining the Access Key

    To obtain the credentials for an IAM user, follow the steps below:

    1. Sign into the IAM console.
    2. In the navigation pane, select Users.
    3. To create or manage the access keys for a user, select the user and then select the Security Credentials tab.

    To obtain the credentials for your AWS root account, follow the steps below:

    1. Sign into the AWS Management console with the credentials for your root account.
    2. Select your account name or number and select My Security Credentials in the menu that is displayed.
    3. Click Continue to Security Credentials and expand the Access Keys section to manage or create root account access keys.

    Authenticating from an EC2 Instance

    If you are using the CData Data Provider for Amazon Athena 2018 from an EC2 Instance and have an IAM Role assigned to the instance, you can use the IAM Role to authenticate. To do so, set UseEC2Roles to true and leave AccessKey and SecretKey empty. The CData Data Provider for Amazon Athena 2018 will automatically obtain your IAM Role credentials and authenticate with them.

    Authenticating as an AWS Role

    In many situations it may be preferable to use an IAM role for authentication instead of the direct security credentials of an AWS root user. An AWS role may be used instead by specifying the RoleARN. This will cause the CData Data Provider for Amazon Athena 2018 to attempt to retrieve credentials for the specified role. If you are connecting to AWS (instead of already being connected such as on an EC2 instance), you must additionally specify the AccessKey and SecretKey of an IAM user to assume the role for. Roles may not be used when specifying the AccessKey and SecretKey of an AWS root user.

    Authenticating with MFA

    For users and roles that require Multi-factor Authentication, specify the MFASerialNumber and MFAToken connection properties. This will cause the CData Data Provider for Amazon Athena 2018 to submit the MFA credentials in a request to retrieve temporary authentication credentials. Note that the duration of the temporary credentials may be controlled via the TemporaryTokenDuration (default 3600 seconds).

    Connecting to Amazon Athena

    In addition to the AccessKey and SecretKey properties, specify Database, S3StagingDirectory and Region. Set Region to the region where your Amazon Athena data is hosted. Set S3StagingDirectory to a folder in S3 where you would like to store the results of queries.

    If Database is not set in the connection, the data provider connects to the default database set in Amazon Athena.

  4. Click Connect to ensure that the connection is configured properly.
  5. Click Save Changes.

Configure Queries for Each Amazon Athena 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 [Customers]

to something customized and more complex, like this:

REPLICATE [Customers] SELECT [Name], [TotalDue] FROM [Customers] WHERE [CustomerId] = 12345

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 Amazon Athena data for use as external objects in Salesforce.

Connect to Your Replicated Amazon Athena Data as an External Data Source

Once your Amazon Athena 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 Amazon Athena data replicated to a PostgreSQL database on Heroku is configuring the Heroku External Objects for the database.

  1. In your Heroku dashboard, click the Heroku Connect Add-On.
  2. 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)
  3. View the OData service URL and credentials (noting the URL and credentials to be used later from Salesforce Connect).
  4. 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 Amazon Athena data as an external data source from Salesforce Connect.

  1. In Salesforce, click Setup
  2. In the Administration section, click Data -> External Data Sources
  3. 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
  4. Set Authentication:
    • Identity Type: Named Principal
    • Authentication Protocol: Password Authentication
    • Username: the Heroku Connect username
    • Password: the Heroku Connect password
  5. Click Save.

Synchronize Amazon Athena Objects

After you have created the external data source in Salesforce, follow the steps below to create Amazon Athena external objects that reflect any changes in the data source. You will synchronize the definitions for the Amazon Athena external objects with the definitions for Amazon Athena tables.

  1. Click the link for the external data source you created.
  2. Click Validate and Sync.
  3. Select the Amazon Athena tables you want to work with as external objects and click Sync.

Access Amazon Athena Data as Salesforce Objects

At this point, you will be able to connect to and work with your replicated Amazon Athena 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 Amazon Athena data alongside standard Salesforce objects.

Download a 30-day free trial of CData Sync and replicate your Amazon Athena data for use with Salesforce Connect today!