Heroku PostgreSQL Data Source
Heroku PostgreSQL
Create a New Data Flow
-
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.
-
Select the Heroku PostgreSQL connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Heroku Platform API, and click Next; or, create a new Heroku PostgreSQL credential for use in this flow.
-
In Nexla, Heroku PostgreSQL data sources can be created using pre-built endpoint templates, which expedite source setup for common Heroku Platform API endpoints. Each template is designed specifically for the corresponding Heroku API endpoint, making source configuration easy and efficient.
• To configure this source using a template, follow the instructions in Configure Using a Template.Heroku PostgreSQL sources can also be configured manually, allowing you to ingest data from Heroku Platform API endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
• To configure this source manually, follow the instructions in Configure Manually.
Configure Using a Template
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Heroku Platform API endpoints. Each template is designed specifically for the corresponding Heroku API endpoint, making data source setup easy and efficient.
Endpoint Settings
-
Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.
Endpoint Testing
Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.
-
To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.
-
If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.
Configure Manually
Heroku PostgreSQL data sources can be manually configured to ingest data from any valid Heroku Platform API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.
With manual configuration, you can also create more complex Heroku sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom authentication headers or request parameters.
API Method
-
To manually configure this source, select the Advanced tab at the top of the configuration screen.
-
Select the API method that will be used for calls to the Heroku Platform API from the Method pulldown menu. The most common methods are:
- GET: For retrieving data from the API (e.g., listing add-ons, retrieving credentials)
- POST: For creating resources or triggering actions (e.g., creating new databases)
API Endpoint URL
- Enter the URL of the Heroku Platform API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. Heroku Platform API endpoints typically follow the pattern
https://api.heroku.com/apps/{app-name}/addonsorhttps://api.heroku.com/apps/{app-name}/addons/{addon-id}/config.
Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. The URL should include the app name and any required path parameters.
Request Headers
The Heroku Platform API requires specific headers for authentication and content negotiation. You must include the following headers:
- Enter the required headers in the Request Headers field as comma-separated pairs. For Heroku Platform API requests, you typically need:
-
Accept: application/vnd.heroku+json; version=3- Specifies the API version and response format -
Authorization: Bearer {your-api-token}- Authentication header (this is typically handled automatically by Nexla based on your credential configuration)The Authorization header with your Heroku API token is typically handled automatically by Nexla based on your credential configuration. However, you may need to include the Accept header manually if it's not automatically added. The Accept header specifies that you want JSON responses in the Heroku Platform API v3 format.
-
Path to Data
If only a subset of the data that will be returned by API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. This is particularly useful when API responses contain metadata, pagination information, or other data that you don't need for your analysis.
For example, when a request call is used to fetch a list of add-ons, the API will typically return an array of add-on objects, along with metadata, in the response. By entering the path to the relevant data, you can configure Nexla to treat each element of the returned array as a record.
Path to Data is essential when API responses have nested structures. Without specifying the correct path, Nexla might not be able to properly parse and organize your data into usable records. For Heroku API responses, common paths include $[*] for arrays of objects or $.data[*] if the response is wrapped in a data object.
-
To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.
- For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g.,
$[*]to access all elements in the root array).
Path to Data Example:If the API response is in JSON format and includes a root-level array of add-on objects, the path to the response would be entered as
$[*]. - For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g.,
Autogenerate Path Suggestions
Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.
-
To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.
-
Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.
Endpoint Testing
After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.
-
To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.
-
If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.
Save & Activate the Source
- Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Heroku PostgreSQL data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.