LinkedInAds tap class.
Built with the Meltano Singer SDK.
catalog
state
discover
about
stream-maps
schema-flattening
batch
Setting | Required | Default | Description |
---|---|---|---|
access_token | False | None | The token to authenticate against the API service |
oauth_credentials | False | None | LinkedIn Ads OAuth Credentials |
oauth_credentials.refresh_token | False | None | LinkedIn Ads Refresh Token |
oauth_credentials.client_id | False | None | LinkedIn Ads Client ID |
oauth_credentials.client_secret | False | None | LinkedIn Ads Client Secret |
start_date | True | None | The earliest record date to sync |
end_date | False | 2024-10-23T22:57:56.958248+00:00 | The latest record date to sync |
user_agent | False | tap-linkedin-ads <api_user_email@your_company.com> | API ID |
stream_maps | False | None | Config object for stream maps capability. For more information check out Stream Maps. |
stream_map_config | False | None | User-defined config values to be used within map expressions. |
faker_config | False | None | Config for the Faker instance variable fake used within map expressions. Only applicable if the plugin specifies faker as an addtional dependency (through the singer-sdk faker extra or directly). |
faker_config.seed | False | None | Value to seed the Faker generator for deterministic output: https://faker.readthedocs.io/en/master/#seeding-the-generator |
faker_config.locale | False | None | One or more LCID locale strings to produce localized output for: https://faker.readthedocs.io/en/master/#localization |
flattening_enabled | False | None | 'True' to enable schema flattening and automatically expand nested properties. |
flattening_max_depth | False | None | The max depth to flatten schemas. |
batch_config | False | None | |
batch_config.encoding | False | None | Specifies the format and compression of the batch files. |
batch_config.encoding.format | False | None | Format to use for batch files. |
batch_config.encoding.compression | False | None | Compression format to use for batch files. |
batch_config.storage | False | None | Defines the storage layer to use when writing batch files |
batch_config.storage.root | False | None | Root path to use when writing batch files. |
batch_config.storage.prefix | False | None | Prefix to use when writing batch files. |
A full list of supported settings and capabilities is available by running: tap-linkedin-ads --about
This Singer tap will automatically import any environment variables within the working directory's
.env
if the --config=ENV
is provided, such that config values will be considered if a matching
environment variable is set either in the terminal context or in the .env
file.
The tap requires a LinkedInAds OAuth 2.0 access token to make API requests
The access token requires the following permissions:
r_ads
: read ads
rw_ads
: read-write ads
r_ads_reporting
: read ads reporting
Access tokens expire after 60 days and require a user to manually authenticate again. See the LinkedInAds API docs for more info.
The AdAnalytics endpoint in the LinkedInAds API can call up to 20 columns at a time, we can create child classes which have 20 columns in them, we can merge their output with get records function.
The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license to use, copy, distribute, make available, and prepare derivative works of the software.
tap-linkedin-ads --version
tap-linkedin-ads --help
tap-linkedin-ads --config CONFIG --discover > ./catalog.json
Follow these instructions to contribute to this project.
This project uses parent-child streams. Learn more about them here.
pipx install poetry
poetry install
Create tests within the tests
subfolder and
then run:
poetry run pytest
You can also test the tap-linkedin-ads
CLI interface directly using poetry run
:
poetry run tap-linkedin-ads --help
Testing with Meltano
Note: This tap will work in any Singer environment and does not require Meltano. Examples here are for convenience and to streamline end-to-end orchestration scenarios.
Next, install Meltano (if you haven't already) and any needed plugins:
# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-linkedin-ads
meltano install tap-linkedin-ads
Now you can test and orchestrate using Meltano:
# Test invocation:
meltano invoke tap-linkedin-ads --version
# OR run a test `elt` pipeline:
meltano elt tap-linkedin-ads target-jsonl
See the dev guide for more instructions on how to use the SDK to develop your own taps and targets.