Tạo Lambda Microservice

Tạo Lambda Microservice

Trong phần này, chúng ta sẽ tạo một AWS Lambda Function chứa toán tử cộng (add). Chúng ta sẽ tạo hàm Lambda này bằng cách sử dụng console. Sau đó, chúng ta sẽ sử dụng CI/CD pipeline để triển khai hàm Lambda để cung cấp đầy đủ các toán tử.

  1. Tải file CalculatorLambda.zip vào máy ảo và giải nén
  2. Trong Eclip IDE, click menu File
  • Click Import… Create A Lambda Microservice
  1. Click Maven
  • Chọn Existing Maven projects
  • Click Next Create A Lambda Microservice
  1. Click Browse…
  • Chọn đường dẫn của project CalculatorLambda đã giải nén ở bước 1
  • Click Finish Create A Lambda Microservice
  1. Trong Eclipse IDE, nhấp chuột phải vào project calculator_lambda
  • Click Run As
  • Click JUnit Test Create A Lambda Microservice
  1. Bạn sẽ nhận được kết quả Create A Lambda Microservice
  2. Mở Command Prompt và chuyển đường dẫn đến project CalculatorLambda đã giải nén ở bước 1
  • Chạy câu lệnh mvn package để build Create A Lambda Microservice

    Nếu máy Windows của bạn không có sẵn maven, bạn có thể cài bằng cách chạy câu lệnh choco install maven -y trong Power Shell.

  1. Sau khi tập tin JAR đã được build sẽ nằm trong thư mục target của project và có tên là calculator_lambda-1.0.0 Create A Lambda Microservice
  2. Truy cập AWS Lambda console.
  • Click Functions.
  • Click Create functions. Create A Lambda Microservice
  1. Trong trang Create function
  • Chọn Author from scratch
  • Tại mục Name, nhập idevelop_basic_calculator
  • Tại mục Runtime, chọn Java 11 (Corretto)
  • Click Change default execution role. Create A Lambda Microservice
  1. Trong phần Change default execution role
  • Chọn Use an existing role
  • Chọn lambda-step-role
  • Click Create function Create A Lambda Microservice
  1. Để cung cấp function package, trong phần Code soure
  • Click Upload from
  • Click .zip or .jar file Create A Lambda Microservice
  1. Click Upload
  • Chọn file calculator_lambda-1.0.0.jar đã build trong bước 7
  • Click Save Create A Lambda Microservice
  1. Trong phần Runtime settings, click Edit Create A Lambda Microservice
  2. Tại mục Handler, nhập idevelop.lambda.CalculatorHandler
  • Click Save Create A Lambda Microservice
  1. Chúng ta sẽ thực hiện bước test Lambda function vừa tạo.
  • Chọn tab Test
  • Tại mục Name, nhập CalculatorTest
  • Tại mục Event JSON, nhập đoạn JSON sau
{
  "operator": "add",
  "operands": [1, 2]
}
  • Click Save Create A Lambda Microservice
  1. Click Test, chúng ta sẽ nhận được kết quả như sau Create A Lambda Microservice
  2. Bây giờ chúng ta biết rằng hàm Lambda đã xử lý như mong đợi, đã đến lúc chuyển hàm này thành một task trong Calculator Step Function.
  1. Click Next Create A Lambda Microservice
  2. Click Next Create A Lambda Microservice
  3. Click Next Create A Lambda Microservice
  4. Trong trang Specify state machine settings
  • Trong mục State machine name, nhập BasicCalculatorWithAddition
  • Trong phần Permission, chọn Choose an existing role
  • Tại mục Existing roles, chọn idevelop-step-functions-execution-role Create A Lambda Microservice
  • Kéo màn hình xuống dưới, click Create state machine.
  1. Truy cập AWS Lambda console.
  • Click Functions.
  • Click idevelop_basic_calculator. Create A Lambda Microservice
  1. Copy Function ARN để dùng trong bước tiếp theo Create A Lambda Microservice
  2. Chúng ta sẽ thay đổi định nghĩa cho State machine chúng ta vừa copy ra.
  • Click Edit Create A Lambda Microservice
  1. Chúng ta sẽ thấy trong Definition định nghĩa từ lần triển khai trước đó.
  • Tìm vị trí của trạng thái state.process.operator.add ( dòng số 31 ) và thay đổi mục Type thành Task.
  • Thêm thuộc tính Resource vào state.process.operator.add và cho nó giá trị là hàm Lambda idevelop_basic_calculator đã tạo trước đó.
  • Dưới đây là định nghĩa ví dụ sau khi sửa đổi:
"state.process.operator.add": {
  "Type": "Task",
  "Comment": "Performs an addition on the operands provided",
  "Next": "state.process.displayResult",
  "Resource" : "arn:aws:lambda:ap-southeast-1:272538243902:function:idevelop_basic_calculator"
}
  • Click Save Create A Lambda Microservice
  1. Nếu có cảnh báo về IAM Role, Click Save anyway Create A Lambda Microservice
  2. Click Start excution Create A Lambda Microservice
  3. Tại mục Input, nhập
{
  "operator" : "add",
  "operands" : [
      1,
      2
  ]
}
  • Click Start excution. Create A Lambda Microservice
  1. Nếu thành công, bạn sẽ nhận được kết quả như sau Create A Lambda Microservice
  2. Click tab Excution ouput để xem kết quả Create A Lambda Microservice

Bước tiếp theo chúng ta sẽ tạo CI/CD pipeline để quản lý việc triển khai hàm lambda và state machine Caculator trong Step function.