ทาง
AWS Lambda ได้ประกาศสนับสนุนภาษา Go แล้ว
ดังนั้นเรามาเรียนรู้กันหน่อยว่า
จะเริ่มต้นอย่างไร
มีอะไรให้ลองใช้งานกันบ้าง ?
ในการเริ่มศึกษาและใช้งาน AWS Lambda
แน่นอนว่าทาง AWS ได้เตรียมชุด library และเครื่องมือไว้ให้แล้ว
ซึ่งเรียกว่า
AWS Lambda Go
ทำให้การพัฒนาง่ายขึ้นเยอะ
ว่าแล้วมาลองใช้งานกันดีกว่า
จากเอกสารสร้างตัวอย่างของระบบง่าย ๆ
นั่นคือ ทำการสร้าง service สำหรับรับข้อมูลในรูปแบบ JSON เข้ามา
จากนั้นทำการสร้างผลลัพธ์กลับไปในรูปแบบ JSON
ซึ่งสามารถเขียน code ง่าย ๆ ได้ดังนี้
[gist id="f09b7cf4e8d4011c7c6fa481d11a6359" file="main.go"]
ทำการ build ด้วยคำสั่ง
[code]
$go get github.com/aws/aws-lambda-go/lambda
$GOOS=linux go build -o main
[/code]
ต่อจากนั้นทำการ 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 ที่เราสร้าง
[code]
$curl -XPOST --data '{"id":1,"value":"Hello”}’ <url of api gateway>
{
"message" : "",
"ok": true
}
[/code]
เพียงเท่านี้ก็สามารถพัฒนา AWS Lambda หรือ Function as a Service ด้วยภาษา Go ได้แล้วนะ
สามารถอ่านเอกสารเพิ่มเติมได้ที่
Official Documentation
ขอให้สนุกกับการ coding ครับ