我正在使用singer的tap zendesk库,并希望从特定的模式中提取数据。
我正在同步模式下运行以下命令:
tap-zendesk --config config.json --catalog catalog.json.
目前我的config.json文件有以下参数:
{
"email": "<email>",
"api_token": "<token>",
"subdomain": "<domain>",
"start_date": "<start_date>"
}
我通过将"selected":true放在catalog.json文件中的模式、属性和元数据下,成功地提取了数据。但我想知道是否有更简单的方法可以做到这一点?我需要穿过大约15条溪流。
我设法通过发现模式命令获得catalog.json文件:
tap-zendesk --config config.json --discover > catalog.json
输出看起来如下所示,但这意味着我必须在每个字段下添加selected:True。
{
"streams": [
{
"stream": "tickets",
"tap_stream_id": "tickets",
"schema": {
**"selected": "true"**,
"properties": {
"organization_id": {
**"selected": "true"**,},
"metadata": [
{
"breadcrumb": [],
"metadata": {
**"selected": "true"**
}
每个流只需要应用selected=true一次。这需要添加到流下的元数据部分,其中breadcrumbs=[]。这方面的记录非常少。
有关一些有用的详细信息,请参阅此博客文章:https://medium.com/getting-started-guides/extracting-ticket-data-from-zendesk-using-singer-io-tap-zendesk-57a8da8c3477