Міндет және алғышарттар

JSON ішінен data.items массивін алып, бірізді баған ретімен жазық CSV жасау.

Бұл мысал демонстрациялық деректер мен баптауларды қолданады. Өндірістік қабылдаушыларды қоспас бұрын күтілетін нәтижені өз ортаңызда тексеріңіз. Мына идентификаторлар: demo_* мысал ретінде берілген: редакторда өз оқу қосылымдарыңызды немесе дереккөздеріңізді таңдаңыз. Төмендегі JSON дайын тасымалдау архивін емес, блоктар мен байланыстар құрылымын көрсетеді.

Оқу кіріс деректері

{
  "data": {
    "items": [
      {
        "sku": "T01",
        "name": "Tea",
        "stock": 12
      },
      {
        "sku": "C01",
        "name": "Coffee",
        "stock": 5
      }
    ]
  },
  "generated": "demo"
}

Блоктар, байланыстар және нақты баптаулар

Түсіндірме схемаҮлкейту ↗03. JSON: ішкі жазбалар массивін алу. Мысал құрылымы: 3 блок, 2 байланыс. Түйін идентификаторлары мен порттары сақталған.
03-ағын схемасы

03-мысал құрылымы: 3 блок, 2 байланыс. Бапталған графтың түйін идентификаторлары мен порттары сақталған.

Конструкторға көрсетілген блоктарды қосып, әрқайсының қасиеттерін ашыңыз және осы мәндерді орнатыңыз. Мына атаулар: demo_* оқу дереккөздері мен қосылымдарын анықтайды.

БлокБаптау
1
Файл
src
  • Рөл: source
  • Дереккөз: demo_inventory_json
  • Оқу баптаулары:
    • JSON жазбалар жолы: /data/items
    • Ауқым: A1:C3
    • Алғашқы жол — тақырып: так
2
Бағандарды сәйкестендіру
map
  • Режим: columns
  • Бағандар:
      • Атау: SKU
      • Мәні: sku
      • Атау: Name
      • Мәні: name
      • Атау: Stock
      • Мәні: stock
3
Деректер экспорты
out
  • Пішім: csv
  • Файл атауы: inventory
  • Мақсаты: download
  • Бөлгіш: ;
  • Уақыт белдеуі: Europe/Kyiv

Порт байланыстары

  • src out → map in
  • map out → out in
JSON түріндегі толық граф конфигурациясы
{
  "version": 3,
  "nodes": [
    {
      "id": "src",
      "type": "file",
      "label": "src",
      "config": {
        "role": "source",
        "source_id": "demo_inventory_json",
        "options": {
          "json_path": "/data/items",
          "range": "A1:C3",
          "header": true
        }
      }
    },
    {
      "id": "map",
      "type": "mapping",
      "label": "map",
      "config": {
        "mode": "columns",
        "columns": [
          {
            "name": "SKU",
            "value": "sku"
          },
          {
            "name": "Name",
            "value": "name"
          },
          {
            "name": "Stock",
            "value": "stock"
          }
        ]
      }
    },
    {
      "id": "out",
      "type": "export",
      "label": "out",
      "config": {
        "format": "csv",
        "filename": "inventory",
        "destination": "download",
        "delimiter": ";",
        "timezone": "Europe/Kyiv"
      }
    }
  ],
  "edges": [
    {
      "source": "src",
      "target": "map",
      "source_port": "out",
      "target_port": "in"
    },
    {
      "source": "map",
      "target": "out",
      "source_port": "out",
      "target_port": "in"
    }
  ]
}

Күтілетін нәтиже

SKUАтауStock
T01Tea12
C01Coffee5

Іске қосу және тексеру

  1. Көрсетілген JSON деректерін inventory.json ретінде сақтап, файлдық дереккөз ретінде қосыңыз.
  2. json_path=/data/items орнатып, сәйкестендіруде нақты бастапқы sku, name және stock атауларын қолданыңыз.
  3. Орындап, inventory.csv тексеріңіз: generated метадерек өрісінсіз екі жол.

Жиі қателер

  • Файлдық дереккөз JSON Pointer /data/items қолданады. Бұл REST API қосылымындағы data.items жолынан өзгеше.
  • Жол жазбаларға апаруы керек: items қатесі жоқ жолға немесе қате құрылымға әкеледі.
  • Сәйкестендіруге нақты өріс атаулары қажет; SKU — шығыс, sku — кіріс атауы.