[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

Thay đổi Package Name của Android Studio dể dàng với plugin APR

Nếu bạn đang gặp khó khăn hoặc bế tắc trong việc thay đổi package name trong And

Lỗi không Update Meta_Value Khi thay thế hình ảnh cũ bằng hình ảnh mới trong WordPress

Mã dưới đây hoạt động tốt có 1 lỗi không update được postmeta ” meta_key=

Bài 1 – React Native DevOps các khái niệm và các cài đặt căn bản

Hướng dẫn setup jenkins agent để bắt đầu build mobile bằng jenkins cho devloper an t

Chuyển đổi từ monolith sang microservices qua ví dụ

1. Why microservices? Microservices là kiến trúc hệ thống phần mềm hướng dịch vụ,