[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

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ