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ử.
Project CalculatorLambda
CalculatorLambda.zip
(34 ko)
Tải file CalculatorLambda.zip vào máy ảo và giải nén
Trong Eclip IDE, click menu File
Click Import…
Click Maven
Chọn Existing Maven projects
Click Next
Click Browse…
Chọn đường dẫn của project CalculatorLambda đã giải nén ở bước 1
Click Finish
Trong Eclipse IDE, nhấp chuột phải vào project calculator_lambda
Click Run As
Click JUnit Test
Bạn sẽ nhận được kết quả
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
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.
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
Truy cập AWS Lambda console .
Click Functions .
Click Create functions .
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 .
Trong phần Change default execution role
Chọn Use an existing role
Chọn lambda-step-role
Click Create function
Để cung cấp function package, trong phần Code soure
Click Upload from
Click .zip or .jar file
Click Upload
Chọn file calculator_lambda-1.0.0.jar đã build trong bước 7
Click Save
Trong phần Runtime settings , click Edit
Tại mục Handler , nhập idevelop.lambda.CalculatorHandler
Click Save
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
Click Test , chúng ta sẽ nhận được kết quả như sau
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.
Click Next
Click Next
Click Next
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
Kéo màn hình xuống dưới, click Create state machine .
Truy cập AWS Lambda console .
Click Functions .
Click idevelop_basic_calculator .
Copy Function ARN để dùng trong bước tiếp theo
Chúng ta sẽ thay đổi định nghĩa cho State machine chúng ta vừa copy ra.
Click Edit
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
Nếu có cảnh báo về IAM Role, Click Save anyway
Click Start excution
Tại mục Input , nhập
{
"operator" : "add",
"operands" : [
1,
2
]
}
Click Start excution .
Nếu thành công, bạn sẽ nhận được kết quả như sau
Click tab Excution ouput để xem kết quả
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.