Iterator

เมื่อต้องจัดการกับข้อมูลที่เป็น Array ระบบของเราก็มีบริการรองรับการใช้งานของผู้ใช้ ที่ช่วยจัดการข้อมูลที่เป็น Array ที่ส่งมาจากที่ใดก็ตาม โดยจะนำค่า Payload ที่ส่งมามาจัดการต่อใน task.iterator

โดยในตัวอย่างนี้ จะจำลองการส่งข้อมูลสภาพอากาศแต่ละเมือง โดยใช้ Weather API และส่งไปที่ MEp

เขียนโปรแกรม Call Weather API และนำค่า Payload Response ส่งไปที่ Endpoint โดยรับค่าที่ได้มาปรับแต่งให้เป็นรูปแบบ Jinja Template

ตัวอย่างการ Call Weather API

Weather API

ตัวอย่าง Payload Response

{
  "message": "accurate",
  "cod": "200",
  "count": 10,
  "list": [
    {
      "id": 7026885,
      "name": "Ratchathewi",
      "coord": {
        "lat": 13.759,
        "lon": 100.5336
      },
      "main": {
        "temp": 27.43,
        "feels_like": 29.5,
        "temp_min": 26.62,
        "temp_max": 27.95,
        "pressure": 1013,
        "humidity": 69
      },
      "dt": 1636510446,
      "wind": {
        "speed": 3.6,
        "deg": 10
      },
      "sys": {
        "country": "TH"
      },
      "rain": null,
      "snow": null,
      "clouds": {
        "all": 40
      },
      "weather": [
        {
          "id": 802,
          "main": "Clouds",
          "description": "scattered clouds",
          "icon": "03d"
        }
      ]
    },
    {
      "id": 7026870,
      "name": "Phaya Thai",
      "coord": {
        "lat": 13.7801,
        "lon": 100.5427
      },
      "main": {
        "temp": 27.43,
        "feels_like": 29.5,
        "temp_min": 26.63,
        "temp_max": 27.96,
        "pressure": 1013,
        "humidity": 69
      },
      "dt": 1636510446,
      "wind": {
        "speed": 3.6,
        "deg": 10
      },
      "sys": {
        "country": "TH"
      },
      "rain": null,
      "snow": null,
      "clouds": {
        "all": 40
      },
      "weather": [
        {
          "id": 802,
          "main": "Clouds",
          "description": "scattered clouds",
          "icon": "03d"
        }
      ]
    }
  ]
}

จากตัวอย่าง payload response key ที่ต้องการใช้คือ list ซึ่งเป็น array ต้องสร้าง end-point เพื่อนำค่าที่อยู่ใน list มาจัดการให้อยู่ในรูปแบบ jinja template

ตัวอย่างการสร้าง Endpoint ใน MEp เพื่อรับข้อมูล

ตัวอย่างการเขียนโปรแกรมที่ใช้ส่งค่าไปที่ Endpoint ในตัวอย่างจะใช้ NodeJS ในการส่งข้อมูลไปยัง MEp

ตรวจสอบการทำงานของ Endpoint