การเชื่อมต่อกับ Swift ทำได้หลายวิธีตั้งแต่ใช้งาน client ผ่าน python-swift ใช้งานผ่าน SDK ของภาษาต่างๆ แต่วิธีที่ง่ายสะดวกในการใช้งานคงเป็น cURL ธรรมดาๆ ที่เราใช้กัน เนื่องจาก Swift เป็น object storage การสื่อสารผ่าน REST API เป็นช่องทางหลักสำหรับการทำงานกับ storage ประเภทนี้อยู่แล้ว ดังนั้นใช้ cURL สั่งงานผ่าน HTTP Request ก็ใช้งาน Swift ได้เช่นกัน มาลองดูคำสั่ง cURL กันก่อน

cURL เป็นคำสั่งที่ใช้งานกับ HTTP เป็นหลัก ถ้าท่านที่ใช้ OSX จะคุ้นเคยกับคำสั่งนี้ดีเพราะไม่มี wget ต้องใช้ cURL สำหรับดาวน์โหลดไฟล์ นั่นก็คือใช้ GET Method แล้วเรียกผ่าน URL นั่นเอง ครั้งนี้ก็จะใช้งานคล้ายๆ กัน แต่จะต้องสั่ง HTTP Request หลายแบบเพื่อสั่งงาน Swift รูปแบบของ Option ที่เราต้องใช้เพิ่มมีดังนี้

  • -X METHOD ระบุว่าจะใช้ HTTP request method อะไร เช่น HEAD, GET, PUT, DELET เป็นต้น
  • -i แสดง HTTP response header
  • -H HEADER ระบุ HTTP Header ที่ใช้ใน request


Continue reading

OpenStack Swift หรือ SwiftStack เป็นบริการ Object Storage ที่รองรับการทำงานแบบ Distribution Storage รองรับการทำ Data Replication สามารถ Scale Storage Node ไปได้เรื่อยๆ ทำให้สามารถขยายขนาดของ Storage ทำได้ง่ายมากขึ้น ครั้งนี้ไม่ได้มาแนะนำการติดตั้ง Swift แต่จะมาแนะนำวิธีการใช้งาน Swift อย่างง่าย ผ่าน Command Line ซึ่งสะดวกและรวดเร็วกว่าการใช้งานผ่าน GUI มาก สำหรับท่านที่ไม่มี Swift Server เดี๋ยวเราติดตั้ง SAIO ใช้สำหรับทดลองเล่นได้

สร้าง data container สำหรับเก็บข้อมูล

docker run -v /srv --name SWIFT_DATA busybox

จากนั้นผูก volume จาก data container ไปยัง swift server

docker run -d -p 8080 --volumes-from SWIFT_DATA -t nashtrash/docker-swift-onlyone

เท่านี้เราก็จะได้ swift ใช้งานแบบรวดเร็ว docker ps ดูว่า inernal port ได้ค่าอะไร ขอผมเป็น 0.0.0.0:49153->8080/tcp มาลองทดสอบกัน ติดตั้ง swift cli กันก่อน

apt-get install python-swiftclient


Continue reading