Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สวัสดีภาษา Golang ใน AWS Lambda

$
0
0

ทาง 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 ครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles