Create a GoodData ADS Data Source

GoodData Agile Data Warehouse Service (GoodData ADS) is our data warehousing service developed for GoodData Platform. By creating a GoodData ADS data source, GoodData Platform users can connect their data to GoodData Cloud.

Follow these steps to connect to a GoodData ADS instance and create a GoodData ADS data source:

  1. Get ADS Instance ID

  2. Create a GoodData ADS Data Source

Refer to Additional Information for information and performance tips about the GoodData ADS data source.

Get ADS Instance ID

To connect to GoodData ADS you need to know its instance ID. You can find the instance ID by accessing the warehouse gray pages, see Reviewing Your Data Warehouse Instances in the GoodData Platform documentation.

The instance ID is part of the connectionUrl or links parameters. For example, if your connectionUrl parameter looks like this:

jdbc:gdc:datawarehouse://example.gooddata.com:443/gdc/datawarehouse/instances/a991823b54d7eff1d9add3c9b588f

The instance ID is a991823b54d7eff1d9add3c9b588f.

Create a GoodData ADS Data Source

Once you have configured your ADS user’s access rights, you can proceed to create a GoodData ADS data source that you can then connect to.

UI
API

Steps:

  1. On the home page switch to Data sources.

    data sources tab
  2. Click Connect data.

    connect data
  3. Select GoodData ADS.

    select data source type
  4. Name your data source and fill in your ADS credentials and click Connect:

    db cretentials
  5. Click Save.

    Your data source is created!

    db creation complete

Steps:

  1. Create a GoodData ADS data source with the following API call:

    curl $HOST_URL/api/v1/entities/dataSources \
    -H "Content-Type: application/vnd.gooddata.api+json" \
    -H "Accept: application/vnd.gooddata.api+json" \
    -H "Authorization: Bearer $API_TOKEN" \
    -X POST \
    -d '{
        "data": {
        "type": "dataSource",
        "id": "<unique_id_for_the_data_source>",
        "attributes": {
        "name": "<data_source_display_name>",
        "url": "jdbc:ads:https://<ADS_HOST>:443/<ADS_DBNAME>",
        "schema": "<ADS_DBNAME>",
        "type": "ADS",
        "username": "<ADS_USER>",
        "password": "<ADS_PASSWORD>"
    }}}' | jq .
    

    If you want to specify a custom resource pool, add ?resource_pool=<RESOURCE_POOL> to the url.

  2. To confirm that the data source has been created, ensure the server returns the following response:

    {
      "data": {
        "type": "dataSource",
        "id": "<unique_id_for_the_data_source>",
        "attributes": {
          "name": "<data_source_display_name>",
          "url": "jdbc:ads:https://<ADS_HOST>:443/<ADS_DBNAME>",
          "schema": "<ADS_DBNAME>",
          "type": "ADS",
          "username": "<ADS_USER>"
        }
      },
      "links": {
        "self": "$HOST_URL/api/v1/entities/dataSources/<unique_id_for_the_data_source>"
      }
    }
    

Additional Information

Ensure you understand the following limitations and recommended practice.

Data Source Details

Typical JDBC URL may look like this:

jdbc:gdc:datawarehouse://<host>:<port>/gdc/datawarehouse/instances/<instanceId>

For specification of custom resource pool, use ?resource_pool=new_pool.

Unsupported Features and Beta Limitations

Make note of the following limitations:

  • Each SELECT statement can fetch max 10,000 records.