การเชื่อมต่อกับ Data Sources ต่างๆ (เช่น Redshift) และสร้าง API ใน CData API Server

CData API Server สามารถเชื่อมต่อกับ Data Sources ต่างๆที่เราต้องการได้โดยต้องติดตั้ง Driver ของ Data Sources นั้นๆลงใน CData API Server ก่อน ซึ่งในบทความนี้จะมาแนะนำวิธีการติดตั้ง Driver เพื่อเชื่อมต่อกับ Data Sources (Redshift) และสร้าง API ใน CData API Server

บทความนี้แปลมาจากบทความที่เป็นภาษาญี่ปุ่นที่ชื่อว่า CData API Serverでいろいろなデータソースへ接続しAPIを作成する ซึ่งเจ้าของบทความนี้ก็คือ คุณ Kobayashi เป็นคนญี่ปุ่นครับ

เนื่องจากว่าบทความนี้แปลมาจากภาษาญี่ปุ่น เมื่อแปลมาเป็นภาษาไทยแล้วผมได้เรียบเรียงเนื้อหาใหม่และตัดหัวข้อบางส่วนที่ไม่จำเป็นออกไปเพื่อให้เข้าใจง่ายขึ้น ! เมื่อพร้อมแล้วไปดูรายละเอียดกันเลยครับ


บทนำ

สวัสดีครับ ผม Kobayashi จากสำนักงานใหญ่ Data Analytics

เนื่องจากผมได้มีโอกาสใช้งาน CData API Server ที่เป็นเครื่องมือสร้าง REST API ซึ่ง CData API Server เป็นผลิตภัณฑ์ที่สามารถสร้าง REST API Server ได้โดยไม่ต้องใช้โค้ด (No Code) ภายใต้ Data Sources ต่างๆ จากรูปภาพด้านล่างนี้ เป็นรูปภาพที่แสดงอยู่ในเว็บไซต์ของ CData API Server แล้วถ้าดูจากรูปภาพนี้จะเห็นได้ชัดว่าเราจะสามารถทำอะไรได้บ้าง

อ้างอิงจาก CData API Server

สำหรับคำอธิบายรายละเอียดเพิ่มเติม โปรดตรวจสอบเว็บไซต์ทางการ

CData API Server: การพัฒนาและใช้งาน REST API จาก Database ได้อย่างง่ายดาย

ครั้งนี้จะมาแนะนำวิธีการเชื่อมต่อไปยัง Data Sources: Redshift (Amazon Redshift) และสร้าง API ใน CData API Server

สิ่งที่ต้องมี (Environment)

ขั้นตอนนี้ให้ทำการสร้างสภาพแวดล้อมเตรียมไว้เพื่อใช้ในการเชื่อมต่อกับ Data Sources และสร้าง API ใน CData API Server ดังนี้

Windows Server

ดูตัวอย่างการติดตั้ง Windows Server ได้ที่ลิงก์บทความและคำอธิบายประกอบด้านล่างนี้

ตัวอย่างตั้งค่าการสร้าง Microsoft Windows Server 2022 ใน EC2 ของบทความนี้

※Create Key pairs
Key pairs:tinnakorn-cdata-api-server(ตั้งชื่อที่ต้องการ)
Key pair type:RSA
Private key file format: ◉pem

※Launch instances
Name and tags
Name:tinnakorn-cdata-api-server(ตั้งชื่อที่ต้องการ)

Application and OS Images (Amazon Machine Image)
Amazon Machine Image (AMI):Microsoft Windows Server 2022 Base

Instance type
Instance type:t3a.medium

Key pair (login)
Key pair name - required:tinnakorn-cdata-api-server(key pair ที่สร้างขึ้นเมื่อสักครู่นี้)

Network settings
Firewall (security groups)
Security group name - required:tinnakorn-cdata-api-server(ตั้งชื่อที่ต้องการ)
Description - required:tinnakorn-cdata-api-server(ป้อนตามต้องการ)
Inbound security groups rules
Security group rule 1 (TCP, 3389, xxx.xxx.xxx.xxx/32)
Type:rdp| Source type:My IP| Source:xxx.xxx.xxx.xxx/32

Configure storage
1x:30GiBgp2 Root volume (Default)

CData API Server ที่ติดตั้งใน Windows Server

CData API Server
Windows (.NET) - Version: 22.0.8307 09/29/2022 (เวอร์ชันมีการอัปเดตเรื่อยๆ)

ดูตัวอย่างการติดตั้ง CData API Server ได้ที่ลิงก์บทความด้านล่างนี้

การสร้าง Amazon Redshift

ดูตัวอย่างได้ที่บทความด้านล่างนี้

เมื่อเราสร้าง Redshift เสร็จแล้ว ให้สร้าง Security Group และเพิ่มใน Redshift ตามวิธีการด้านล่างนี้

การสร้าง Security Group สำหรับ Redshift

Basic details
Security group name: tinnakorn-cdata-api-redshift (ตั้งชื่ออะไรก้ได้)
Description: tinnakorn-cdata-api-redshift (ป้อนอะไรก็ได้)

Inbound rules
คลิก Add rule | Type: Redshift | Source: tinnakorn-cdata-api-server (EC2 Instance ที่ใช้งาน)
เมื่อเสร็จแล้ว คลิก Create security group ด้านล่างขวา

การเปลี่ยน Security Group ใน Redshift

เข้าไปที่ Service Amazon Redshift ใน Cluster ของเรา แล้วเลือกแท็บ Properties แล้วคลิก Edit ในหัวข้อ Network and security settings

มาที่ VPC security group แล้วคลิกกากบาท default ✕ แล้วเลือก Security group ที่สร้างไว้สำหรับ Redshift เมื่อสักครู่นี้ เช่น tinnakorn-cdata-api-redshift และคลิก Save changes

การตั้งค่าเชื่อมต่อไปยัง CData API Server

การติดตั้ง Driver สำหรับแต่ละ Data Sources

บริษัท CData ขาย Driver ที่รองรับ Data Sources ทั้งหมด และสามารถดาวน์โหลดเวอร์ชันทดลองใช้ของ Driver ได้จากเว็บไซต์ (CData Drivers) ของบริษัทเดียวกัน ดังนั้นจะใช้ตัวดาวน์โหลดนี้ แล้วดูวิธีการดาวน์โหลดและติดตั้งตามคำอธิบายต่อไปนี้

  1. คลิกลิงก์ CData Drivers นี้ แล้วเลือก Data Sources: Redshift
  2. เลือกเวอร์ชัน ADO.NET เนื่องจากสภาพแวดล้อมที่ติดตั้ง CData API Server เป็น Windows แล้วคลิกปุ่ม Download
  3. คลิกปุ่ม Download Trial เพื่อไปยังหน้าจอดาวน์โหลด
  4. ป้อน Email และข้อมูลที่จำเป็นอื่นๆ แล้วคลิกปุ่ม Download แล้วรอการดาวน์โหลดไฟล์ .exe สักครู่
  5. ดับเบิ้ลคลิกไฟล์ .exe ที่ดาวน์โหลดมา แล้วติดตั้ง Driver (หน้าจอการเลือกหลายรายการจะปรากฏขึ้น แต่ผมคิดว่าแทบไม่ต้องเปลี่ยนการตั้งค่าอะไรเลย ดังนั้นให้คลิกถัดไป)

เมื่อข้อความ "Installation completed successfully." ปรากฏขึ้น แสดงว่าการติดตั้งเสร็จสมบูรณ์ จากนั้นให้รีสตาร์ท CData API Server

เมื่อดำเนินการจนถึงตอนนี้แล้ว Data Sources Redshift จะแสดงบนหน้าจอการเชื่อมต่อของ CData API Server ตามรูปภาพด้านล่าง

จากนี้ไปเราจะตั้งค่าการเชื่อมต่อสำหรับ Data Sources Redshift

การตั้งค่า Amazon Redshift

ข้อมูลต่อไปนี้จำเป็นสำหรับการเชื่อมต่อกับ Redshift แต่ผมคิดว่าควรจำกัดการเข้าถึงจาก Server ที่ Host CData API Server ด้วย Security group ตามความจำเป็น

  • Hostname
  • Port number
  • Database name
  • Username
  • Password
  1. เชื่อมต่อไปยัง CData API Server และไปที่ SETTINGSConnections เพื่อไปยังหน้าจอที่จะตั้งค่าการเชื่อมต่อ แล้วกดปุ่ม Add Connection... บนหน้าจอนั้น
  2. เลือก Amazon Redshift จาก Data Source
  3. แบบฟอร์มป้อนค่าการตั้งค่าจะปรากฏขึ้น ให้ป้อนข้อมูลลงไป แล้วคลิก Test Connection และถ้าแสดงข้อความว่า "The connection was successful." แสดงว่าสามารถเชื่อมต่อได้แล้ว จากนั้นให้คลิก Save Changes เพื่อบันทึก
  • Name: ป้อนชื่อที่เข้าใจง่าย (เพราะจะเป็นชื่อ API ดังนั้นให้ใช้ชื่อที่ไม่ซ้ำซ้อนกับ Data Source อื่น)
  • ▢ Allow Direct Queries: ไม่ต้องติ๊ก
  • ▢ Master Connection: ไม่ต้องติ๊ก
  • Settings Format: เลือก ⦿ Property List
  • Server: ป้อน Host Name (Endpoint)
  • Port: ป้อน Port number
  • Database: ป้อน Database name
  • User: ป้อน Admin user name
  • Password: ป้อน Admin user password
  • AWS Region: เลือก SINGAPORE
  • Azure Tenant: ไม่ต้องใส่ เนื่องจากใช้ AWS

การตั้งค่า Amazon Redshift (โดยใช้ไดรเวอร์ PostgresSQL)

ในกรณีของไดรเวอร์สำหรับใช้เฉพาะ Redshift เราต้องดาวน์โหลดและติดตั้งไดรเวอร์ที่ใช้สำหรับ Redshift จาก CData Drivers แต่เนื่องจากเป็นการเชื่อมต่อกับ Redshift เราจึงสามารถใช้ไดรเวอร์ PostgresSQL เชื่อมต่อกับ Redshift ได้ เพราะไดรเวอร์ PostgresSQL มีอยู่ตั้งแต่ที่เราติดตั้ง CData API Server ในตอนแรกแล้ว ผมคิดว่าวิธีนี้เป็นตัวเลือกที่ดีเหมือนกัน

วิธีการตั้งค่าแทบจะเหมือนกับการตั้งค่า Amazon Redshift ก่อนหน้านี้

  1. เชื่อมต่อไปยัง CData API Server และไปที่ SETTINGSConnections เพื่อไปยังหน้าจอที่จะตั้งค่าการเชื่อมต่อ แล้วกดปุ่ม Add Connection...
  2. เลือก PostgreSQL จาก Data Source
  3. แบบฟอร์มป้อนค่าการตั้งค่าจะปรากฏขึ้น ให้ป้อนข้อมูลลงไป แล้วคลิก Test Connection และถ้าแสดงข้อความว่า "The connection was successful." แสดงว่าสามารถเชื่อมต่อได้แล้ว จากนั้นให้คลิก Save Changes เพื่อบันทึก
  • Name: ป้อนชื่อที่เข้าใจง่าย (เพราะจะเป็นชื่อ API ดังนั้นให้ใช้ชื่อที่ไม่ซ้ำกับ Data Source อื่น)
  • ▢ Allow Direct Queries: ไม่ต้องติ๊ก
  • ▢ Master Connection: ไม่ต้องติ๊ก
  • Settings Format: ⦿ Property List
  • Server: ป้อน Host Name (Endpoint)
  • Port: 5439 (ป้อน Port ของ Amazon Redshift)
  • Database: ป้อน Database name
  • User: ป้อน Admin user name
  • Password: ป้อน Admin user password

สรุป

เราสามารถตั้งค่า Data Sources อื่นๆ ได้อีกมากมาย ถ้าหากต้องการเชื่อมต่อกับ Data Sources อื่นๆ ก็ให้ดาวน์โหลด Driver ของ Data Sources นั้นๆให้ตรงกับอุปกรณ์ที่เราใช้งาน แล้วทำการติดตั้ง ก็จะทำให้สามารถเชื่อมต่อกับ Data Sources ที่เราต้องการได้อย่างง่ายดาย

ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ

แปลโดย: POP จากบริษัท Classmethod (Thailand) ครับ !

บทความต้นฉบับ

Link อ้างอิง

ดูรายละเอียดเพิ่มเติมได้ที่นี่ สอบถามเพิ่มเติมเกี่ยวกับ AWS คลิกที่นี่