ทาง AWS Lambda ได้ประกาศสนับสนุนภาษา Go แล้ว
ดังนั้นเรามาเรียนรู้กันหน่อยว่า
จะเริ่มต้นอย่างไร
มีอะไรให้ลองใช้งานกันบ้าง ?

ในการเริ่มศึกษาและใช้งาน AWS Lambda
แน่นอนว่าทาง AWS ได้เตรียมชุด library และเครื่องมือไว้ให้แล้ว
ซึ่งเรียกว่า AWS Lambda Go
ทำให้การพัฒนาง่ายขึ้นเยอะ
ว่าแล้วมาลองใช้งานกันดีกว่า

จากเอกสารสร้างตัวอย่างของระบบง่าย ๆ

นั่นคือ ทำการสร้าง service สำหรับรับข้อมูลในรูปแบบ JSON เข้ามา
จากนั้นทำการสร้างผลลัพธ์กลับไปในรูปแบบ JSON
ซึ่งสามารถเขียน code ง่าย ๆ ได้ดังนี้

ทำการ build ด้วยคำสั่ง

$go get github.com/aws/aws-lambda-go/lambda
$GOOS=linux go build -o main

ต่อจากนั้นทำการ deploy ไปยัง AWS Lambda

ซึ่งทำได้ทั้ง command line และผ่าน Web UI
ใน blog นี้จะทำการ deploy ผ่าน Web UI ให้ดู
มีขั้นตอนดังนี้

ขั้นตอนที่ 1 สร้าง Function ใน AWS Lambda แน่นอนว่าเลือก Runtime เป็น Go 1.x

ขั้นตอนที่ 2 ทำการ deploy ระบบที่พัฒนาด้วยภาษา Go

ทำได้ด้วยการสร้าง zip file ของ binary ที่ได้จากการ build ของระบบงาน
เลือก runtime และกำหนดชื่อ handler ชื่อ main
และทำการ save ดังรูป

ขั้นตอนที่ 3 สร้างส่วนการทดสอบ function ของเรา

จากนั้นทำการบันทึก

ขั้นตอนที่ 4 ทำการทดสอบ

ได้ผลการทดสอบดังรูป

ขั้นตอนที่ 5 ทำการเพิ่ม API Gateway เพื่อให้สามารถเรียกใช้งาน function ได้

ทำการ configuration API Gateway ดังนี้
API Name = hello-go
Deployment stage = prod
Security = Open

จากนั้นทำการบันทึก จะได้ URL ของ function ดังนี้

ขั้นตอนที่ 6 ทดสอบใช้งาน function ที่เราสร้าง

$curl -XPOST --data '{"id":1,"value":"Hello”}’ <url of api gateway>
{
  "message" : "",
  "ok": true
}

เพียงเท่านี้ก็สามารถพัฒนา AWS Lambda หรือ Function as a Service ด้วยภาษา Go ได้แล้วนะ

สามารถอ่านเอกสารเพิ่มเติมได้ที่ Official Documentation

ขอให้สนุกกับการ coding ครับ