วิธีการ Publish API บน CData Connect Server

เราสามารถ Publish API บน CData Connect Server โดยเชื่อมต่อไปยัง Database ที่ต้องการได้ เช่น Amazon Aurora (MySQL) เป็นต้น

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ

เป้าหมาย

ครั้งนี้ผมจะมาแนะนำวิธีการ Publish API บน CData Connect Server โดยเชื่อมต่อไปยัง Database ของ Amazon Aurora (MySQL)

สิ่งที่ต้องมี

1. การสร้าง MySQL และ Sample DB

ชื่อของ EC2 (Windows Server) และ Amazon Aurora (MySQL) ที่ใช้ในบทความนี้

Service Name
EC2 (Windows Server) tinnakorn-test-win
Amazon Aurora (MySQL) tinnakorn-test-rds


สร้าง MySQL และ Sample DB ตามเนื้อหาในบทความลิงก์ด้านล่างนี้

2. การเปิดใช้ CData Connect Server บน EC2 AMI

ชื่อของ EC2 (CData Connect Server) ที่ใช้ในบทความนี้

Service Name
EC2 (CData Connect Server) tinnakorn-test-cdataconnect


เปิดใช้ CData Connect Server บน EC2 AMI ตามเนื้อหาในบทความลิงก์ด้านล่างนี้

ขั้นตอนการ Publish API ของ MySQL

การตั้งค่า Security Group ของ Amazon Aurora

เราจะทำการตั้งค่า Security Group ที่ Instance ของ CData Connect กำลังใช้งานอยู่ไปยัง Security Groups ที่ใช้สำหรับ Amazon Aurora เพื่อให้สามารถเชื่อมต่อจาก CData Connect ได้

ไปที่หน้า Security Groups แล้วคลิก Security Groups ที่ใช้สำหรับ Amazon Aurora ของเรา
แล้วเลื่อนลงมาด้านล่างที่หัวข้อ Inbound rules แล้วคลิก Edit inbound rules

คลิก Add rule เลือก Type: MYSQL/Aurora เลือก Source ที่เป็น Security Group ของ CData Connect เช่น tinnakorn-test-cdataconnect แล้วคลิก Save rules

การ Publish API ของ MySQL

ไปที่หน้า CData Connect แล้วเลือกแท็บ CONNECTIONS แล้วคลิก Add Connection

ค้นหา MySQL แล้วคลิก MySQL

แล้วเลือก Install Type: Download และคลิก Download and Install

เมื่อดาวน์โหลดเสร็จแล้ว ให้คลิก Restart Now แล้ว Login อีกครั้ง

เมื่อ Login เข้ามาแล้ว ให้เลือกแท็บ CONNECTIONS แล้วคลิก Add Connection อีกครั้ง

แล้วค้นหา MySQL แล้วคลิก MySQL อีกครั้ง

ป้อนข้อมูลการเชื่อมต่อของ Amazon Aurora ดังนี้:
» Settings Format: ◎ Property List
» Server: tinnakorn-test-rds.cluster-xxxxxxxxxxxx.ap-southeast-1.rds.amazonaws.com (ป้อน Endpoint ของ Amazon Aurora ของเรา)
» Port: 3306 (Port สำหรับเชื่อมต่อ MYSQL/Aurora)
» User: admin (ป้อน Master username ที่ตั้งค่าตอนสร้าง Amazon Aurora)
» Password: ป้อน Master password ที่ตั้งค่าตอนสร้าง Amazon Aurora
» Database: world (ป้อนชื่อ Database ที่เพิ่มไปยัง Amazon Aurora ด้วย MySQL Workbench ใน Windows Server)
» คลิก Test Connection (หากไม่สามารถเชื่อมต่อได้ ให้ตรวจสอบ Security Group อีกครั้ง)
» ถ้าแสดงแจ้งเตือนว่า "Test connection successful." ก็ถือว่าสามารถเชื่อมต่อได้ ก็ให้คลิก Save Changes

ต่อไปเลือกแท็บ ODATA เลือกแท็บ Tables แล้วคลิก Add Tables...

แล้วเลือก Connection ที่บันทึกเมื่อสักครู่นี้ เช่น MySQL1 (MySQL) แล้วคลิก → Next

ติ๊ก Table Name (เลือกทั้งหมด) แล้วคลิก → Next

เมื่อเพิ่ม Table เสร็จแล้ว จะแสดงชื่อ Table ตามที่เราเลือกแบบนี้

แล้วลองคลิกเข้าไปที่ Table MySQL1_city ก็จะแสดงข้อมูลเกี่ยวกับ Column Name และ Data Type แบบนี้

ต่อไปเลือกแท็บ API มาที่หัวข้อ Tables แล้วเลือก /odata.rsc/MySQL1_city จะเห็นว่ามี HTTPS Method แสดงอยู่ด้านขวา ซึ่งเราสามารถใช้ HTTPS Method เหล่านี้ในการตรวจสอบข้อมูลได้

การตรวจสอบข้อมูลด้วย HTTPS Method

เปิดลิงก์นี้ในเว็บเบราว์เซอร์ที่เราใช้งาน (IP Address นี้เป็น Public IP Address ของ CData Connect Server)

https://xxx.xxx.xxx.xxx/odata.rsc/MySQL1_city/

ทีนี้ลองไปดูข้อมูล Table city ใน MySQL Workbench บน EC2 Windows Server กันบ้าง จะเห็นว่าแสดงข้อมูลที่เหมือนกัน


เปิดลิงก์นี้ในเว็บเบราว์เซอร์ที่เราใช้งาน โดยเพิ่ม ID ที่ต้องการ ก็จะแสดงข้อมูลเฉพาะ ID ที่เรากำหนด เช่น แสดงเฉพาะ ID 1 (IP Address นี้เป็น Public IP Address ของ CData Connect Server)

https://xxx.xxx.xxx.xxx/odata.rsc/MySQL1_city(1)

การตั้งค่า Trusted IP Addresses

คลิกไอคอนตั้งค่า แล้วเลือกแท็บ Settings ให้ดูที่หัวข้อ Trusted IP Addresses จะเห็นว่ามีสถานะเป็น * ซึ่งหมายความว่าสามารถเชื่อมต่อจาก IP Address ใดก็ได้

สำหรับผู้ใช้งานที่ต้องการจำกัดการเชื่อมต่อ IP Address เราสามารถตั้งค่าได้โดยคลิกที่ * แล้วคลิก Edit


ให้ลบ '*' ออก แล้วเข้าไปตรวจสอบ My IP ของเราได้ที่เว็บเบราว์เซอร์จากลิงก์ WhatIsMyIPAddress แล้วคัดลอก My IP มาวางในช่อง IP Address แล้วคลิก Save Changes

ครั้งนี้จะไม่ทำการเปลี่ยนแปลงใดๆ เนื่องจากตอนนี้ได้ตั้งค่า Security Group ไว้แล้ว ดังนั้นจึงไม่มีปัญหา แต่เราก็สามารถตั้งค่า IP Address การเชื่อมต่อต้นทางในฝั่ง CData Connect แบบนี้ก็ได้

สรุป

  • EC2 (CData Connect Server) เป็นสภาพแวดล้อมสำหรับทำการ Publish API
  • Amazon Aurora (MySQL) เป็นฐานข้อมูลที่ CData Connect เชื่อมต่อเข้ามา
  • EC2 (Windows Server) เป็นสภาพแวดล้อมสำหรับทำการ Upload ข้อมูลของ world ไปยัง Amazon Aurora (สำหรับผู้ใช้งานที่มีวิธีการ Upload ข้อมูลจากช่องทางอื่น ก็ไม่จำเป็นต้องใช้ Windows Server นี้ก็ได้)

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

POP จากบริษัท Classmethod (Thailand) ครับ !

Link อ้างอิง