[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

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

Nguồn: viblo.asia

Bài viết liên quan

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con

Khi nào nên dùng main, section, article, header, footer, và aside trong HTML5

HTML5 đã giới thiệu các thẻ ngữ nghĩa giúp cấu trúc nội dung web một cách có

So sánh Webhook và API: Khi nào nên sử dụng?

Trong lĩnh vực công nghệ thông tin và phát triển phần mềm, Webhook và API là hai th