วิธีการ Publish API บน CData Connect Server
สวัสดีครับ 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
แล้วเลือก 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) ครับ !