singer tap-zendesk — как извлечь catalog.json с выбранным: True из режима обнаружения

#python #json #zendesk #zendesk-api

#python #json #zendesk #zendesk-api

Вопрос:

Я использую библиотеку 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"**
  

}

Ответ №1:

Selected=true необходимо применять только один раз для каждого потока. Это необходимо добавить в раздел метаданных под потоком, где breadcrumbs = [] . Это очень плохо документировано.

Пожалуйста, посмотрите это сообщение в блоге для получения некоторых полезных сведений: https://medium.com/getting-started-guides/extracting-ticket-data-from-zendesk-using-singer-io-tap-zendesk-57a8da8c3477

Комментарии:

1. Когда я добавляю только selected=true в раздел «Хлебные карточки», я получаю сообщение об ошибке «INFO — INFO Метрики zendesk не были записаны». Похоже, мне все еще нужно добавить selected=true в разделе schema amp; properties

2. поскольку настройка метаданных работает для меня, единственное, что я могу думать, это то, что это из-за разных версий. я помню, что в каком-то месте в документах упоминалось, что выбор true в разделе схемы ожидается устаревшими нажатиями. вот версии на моем конце: singer-python 5.2.1 tap-zendesk 1.5.3