This Airbyte Connector uses the HTTP API provided by the Connecticut DOT in Python. With this connector, data is easily pulled from Connecticut DOT and loaded into the ViaWarn Postgres database, and are available in the ViaWarn app.
The connector is built on top of the Airbyte open-source platform, which provides a standardized way of integrating data sources and destinations. It is designed to be simple and easy to use. The required configuration is show in the the sections below.
The pulled resources from the CT DOT API are the following:
After creating the Airbyte connector template, modify the next files to retrieve data from Connecticut DOT .
documentationUrl: https://ctroads.org/developers/help
connectionSpecification:
$schema: http://json-schema.org/draft-07/schema#
title: VIAWARN USA CT DOT - Spec
type: object
required:
- developer_api_key
properties:
developer_api_key:
type: string
airbyte_secret: true
description: Developer API Key obtained from https://ctroads.org/developers/help
{
"developer_api_key":"[key]"
...
}
{
"streams": [
{
"stream": {
"name": "event",
"json_schema": {},
"supported_sync_modes": ["full_refresh"]
},
"sync_mode": "full_refresh",
"destination_sync_mode": "overwrite"
},
{
"stream": {
"name": "rest",
"json_schema": {},
"supported_sync_modes": ["full_refresh"]
},
"sync_mode": "full_refresh",
"destination_sync_mode": "overwrite"
},
{
"stream": {
"name": "sign",
"json_schema": {},
"supported_sync_modes": ["full_refresh"]
},
"sync_mode": "full_refresh",
"destination_sync_mode": "overwrite"
}
]
}
Location: source-viawarn-us-ct-dot/source.py
This field is the common part of the URL for all streams, if it does not exist, add it in each stream method.
String
Pagination is not provided by this API.
return None
Some streams do not require any parameter.
return an empty dictionary
It is a placeholder to store the request.response object and constructs the appropriate mapping object for each parsed element by each Stream class.
yields an empty dictionary.
Unique field required in the stream associate to each output record.
String
This is a constructor method used to initialize the class in case the stream require parameters. It uses the ‘config’ object to define the ‘developer_api_key’ attribute.
return config[]
Pagination is not provided by this API.
return None
subdomain and parameters to pass into the URL.
return a string
Definition of how a response is parsed.
Set a definition to: primary key and ewkt fields.
return an iterable containing each record in the response.
Set up a test to verify the connection between the connector and the API. This test should return two variables: the first one is a boolean that indicates the status of the connection, while the second one shows a log message if the connection fails.
return True, None