+4

[Golang] Tạo Project Lambda bằng Serverless

Yêu Cầu Để bắt đầu làm aws lambda bắt buộc phải setup những thư viện sau:

  • Setup node version:
node -v
  • Setup npm version:
npm -v
  • Setup serverless framework: đọc thêm bài viết này link
  • Aws Account: đăng kí một account aws, hiện tại thì đăng kí account hơi khó, cần call trực tiếp với call-center từ aws.

Tạo project

  • serverless hỗ trợ rất nhiều ngôn ngữ làm việc với lambda: golang, java, nodejs, c#. Run
serverless create -h 

-> để xem những ngôn ngữ hiện tại lambda hỗ trợ:

  • Để tạo source code lambda với csharp, run:
serverless create -t aws-csharp -p lambda-csharp
  • Để tạo source code lambda với Golang, run:
serverless create -t aws-go -p lambda-go

-> tạo ra 1 folder lambda-go, template aws-go của ngôn ngữ golang structure:

Giải Thích Folder

  1. File serverless.yaml: dùng để cấu hình tất cả những thứ liên quan đến lambda:
  • timeout: cấu hình thời gian thực thi của một function lambda
  • memory: được cấp memory trong quá trình thực thi
  • environment: biến môi trường được set
  • role: các quyền của lambda này đối với những service khác như: dynamo, s3, rekognition,... ...
  1. File Makefile: là một số lệnh để build golang.
.PHONY: build clean deploy

build:
	env GOARCH=amd64 GOOS=linux go build -ldflags="-s -w" -o bin/hello hello/main.go
	env GOARCH=amd64 GOOS=linux go build -ldflags="-s -w" -o bin/world world/main.go

clean:
	rm -rf ./bin

deploy: clean build
	sls deploy --verbose
  • Run:
make build

-> tạo ra file binary hello, world trong folder bin/,

  • Run:
make deploy

-> sẽ deploy 2 function hello, world lên aws

Deploy Lên Aws Lambda

  1. Deploy Function
make deploy
  • đợi khoản 30s, sẽ thấy kết quả:
  1. Kiểm Tra:

Contact


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí