Import Harvest Data Using Azure Data Factory
Microsoft Azure Data Factory (ADF) is a completely managed, serverless data integration service. When combined with CData Connect AI, ADF enables immediate cloud-to-cloud access to Harvest data within data flows. This article outlines the process of connecting to Harvest through Connect AI and accessing Harvest data within ADF.
CData Connect AI offers a cloud-to-cloud interface tailored for Harvest, granting you the ability to access live data from Harvest data within Azure Data Factory without the need for data replication to a natively supported database. Equipped with optimized data processing capabilities by default, CData Connect AI seamlessly channels all supported SQL operations, including filters and JOINs, directly to Harvest. This harnesses server-side processing to expedite the retrieval of the desired Harvest data.
Configure Harvest Connectivity for ADF
Connectivity to Harvest from Azure Data Factory is made possible through CData Connect AI. To work with Harvest data from Azure Data Factory, we start by creating and configuring a Harvest connection.
CData Connect AI uses a straightforward, point-and-click interface to connect to data sources.
- Log into Connect AI, click Sources, and then click Add Connection
- Select "Harvest" from the Add Connection panel
-
Enter the necessary authentication properties to connect to Harvest.
Start by setting the Profile connection property to the location of the Harvest Profile on disk (e.g. C:\profiles\Harvest.apip). Next, set the ProfileSettings connection property to the connection string for Harvest (see below).
Harvest API Profile Settings
To authenticate to Harvest, you can use either Token authentication or the OAuth standard. Use Basic authentication to connect to your own data. Use OAuth to allow other users to connect to their data.
Using Token Authentication
To use Token Authentication, set the APIKey to your Harvest Personal Access Token in the ProfileSettings connection property. In addition to APIKey, set your AccountId in ProfileSettings to connect.
Using OAuth Authentication
First, register an OAuth2 application with Harvest. The application can be created from the "Developers" section of Harvest ID.
After setting the following connection properties, you are ready to connect:
- ProfileSettings: Set your AccountId in ProfileSettings.
- AuthScheme: Set this to OAuth.
- OAuthClientId: Set this to the client ID that you specified in your app settings.
- OAuthClientSecret: Set this to the client secret that you specified in your app settings.
- CallbackURL: Set this to the Redirect URI that you specified in your app settings.
- InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage how the driver obtains and refreshes the OAuthAccessToken.
- Click Save & Test
-
Navigate to the Permissions tab in the Add Harvest Connection page and update the User-based permissions.
Add a Personal Access Token
When connecting to Connect AI through the REST API, the OData API, or the Virtual SQL Server, a Personal Access Token (PAT) is used to authenticate the connection to Connect AI. It is best practice to create a separate PAT for each service to maintain granularity of access.
- Click on the Gear icon () at the top right of the Connect AI app to open the settings page.
- On the Settings page, go to the Personal Access Tokens section and click Create PAT.
-
Give the PAT a name and click Create.
- The personal access token is only visible at creation, so be sure to copy it and store it securely for future use.
With the connection configured and a PAT generated, you are ready to connect to Harvest data from Azure Data Factory.
Access Live Harvest Data in Azure Data Factory
To establish a connection from Azure Data Factory to the CData Connect AI Virtual SQL Server API, follow these steps.
- Login to Azure Data Factory.
- If you have not yet created a Data Factory, Click New -> Dataset.
- In the search bar, enter SQL Server and select it when it appears. On the following screen, enter a name for the server. In the Linked service field, select New.
-
Enter the connection settings.
- Name - enter a name of your choice.
- Server name - enter the Virtual SQL Server endpoint and port separated by a comma: tds.cdata.com,14333
- Database name - enter the Connection Name of the CData Connect AI data source you want to connect to (for example, API1).
- User Name - enter your CData Connect AI username. This is displayed in the top-right corner of the CData Connect AI interface. For example, [email protected].
- Password - select Password (not Azure Key Vault) and enter the PAT you generated on the Settings page.
- Click Create.
- In Set properties, set the Name, choose the Linked service we just created, select a Table name from those available, and Import schema from connection/store. Click OK.
- After creating the linked service, the following screen should appear:
- Click preview data to see the imported Harvest table.
You can now use this dataset when creating data flows in Azure Data Factory.
Get CData Connect AI
To get live data access to hundreds of SaaS, Big Data, and NoSQL sources directly from your cloud applications, try CData Connect AI today!