AWS Lambda - Định cấu hình hàm Lambda
Trong các chương trước, chúng ta đã học cách tạo hàm AWS Lambda trong bảng điều khiển AWS. Tuy nhiên, có những tham số khác để tạo một hàm Lambda. Chúng bao gồm phân bổ bộ nhớ, thời gian chờ, v.v.
Trong chương này, hãy để chúng tôi hiểu chi tiết về các thuộc tính cấu hình sau cho AWS Lambda.
Cấp phát bộ nhớ
Đăng nhập vào bảng điều khiển AWS và tạo hoặc chọn chức năng lambda hiện có. Nhấn vàoConfigurationđể lấy thông tin chi tiết của bộ nhớ được cấp phát Nhìn vào ảnh chụp màn hình được hiển thị bên dưới -
Lưu ý rằng theo mặc định, bộ nhớ được cấp phát là 128MB. Nếu bạn muốn tăng bộ nhớ, bạn có thể nhấp vào thanh trượt.
Bộ nhớ sẽ được tăng dần lên 64MBkhi bạn di chuyển thanh trượt. Quan sát rằng bộ nhớ tối đa có sẵn là3008MB. Nhìn vào ảnh chụp màn hình được hiển thị bên dưới -
Bạn cũng có thể dùng aws clitừ dấu nhắc lệnh để tăng giới hạn bộ nhớ. Bạn sẽ phải cung cấp cho bộ nhớ với gia số là 64MB.
Bây giờ, chúng ta hãy tăng giới hạn bộ nhớ của AWS Lambda với tên:myfirstlambdafunction.
Chi tiết bộ nhớ của chức năng được hiển thị trong ảnh chụp màn hình dưới đây -
Lệnh được sử dụng để thay đổi bộ nhớ bằng cách sử dụng aws cli như sau -
aws lambda update-function-configuration --function-name your function name --
region region where your function resides --memory-size memory amount --
profile admin user
Đầu ra tương ứng của hàm AWS Lambda myfirstlambdafunctiontrong bảng điều khiển AWS được hiển thị ở đây. Quan sát rằng bộ nhớ được thay đổi từ 128MB thành 256MB.
Thời gian thực hiện tối đa
Thời gian chờ là thời gian được phân bổ cho hàm AWS Lambda để chấm dứt nếu thời gian chờ xảy ra. Hàm AWS Lambda sẽ chạy trong thời gian được phân bổ hoặc kết thúc nếu vượt quá thời gian chờ đã cho. Bạn cần đánh giá thời gian cần thiết để chức năng thực thi và chọn thời gian trongConfiguration trong bảng điều khiển AWS như được hiển thị bên dưới -
Vai trò IAM
Khi tạo hàm AWS Lambda, vai trò hoặc quyền cần được chỉ định. Trong trường hợp bạn cần AWS Lambda cho S3 hoặc dynamicoDB, bạn cần phải chỉ định quyền đối với các dịch vụ của lambda. Dựa trên vai trò được giao, AWS Lambda sẽ quyết định các bước cần thực hiện. Ví dụ: nếu bạn cấp quyền truy cập đầy đủ vào dynamicodb, bạn có thể thêm, cập nhật và xóa các hàng khỏi bảng dynamicodb.
Tên người xử lý
Đây là bước bắt đầu thực thi hàm AWS Lambda. Hàm xử lý có các chi tiết về sự kiện được kích hoạt, đối tượng ngữ cảnh và lệnh gọi lại phải gửi lạisuccess hoặc là error của AWS Lambda.
Định dạng của hàm xử lý trong nodejs được hiển thị ở đây:
exports.handler = (event, context, callback) => {
callback(null, "hello from lambda");
};
Hàm Lambda sử dụng các biến môi trường
Trong phần này, chúng ta sẽ tạo một hàm Lambda đơn giản bằng cách sử dụng các biến môi trường được thêm vào trong phần cấu hình. Vì mục đích này, hãy làm theo các bước dưới đây và tham khảo các ảnh chụp màn hình tương ứng -
Bước 1
Vào bảng điều khiển AWS và tạo một hàm trong Lambda như hình.
Bước 2
Bây giờ, hãy thêm các biến môi trường như được hiển thị -
Bước 3
Bây giờ, chúng ta hãy tìm nạp cùng một mã Lambda như sau:
exports.handler = (event, context, callback) => {
var hostName = process.env.host;
var userName = process.env.username;
callback(null, "Environment Variables =>"+hostName+" and "+userName);
};
Bước 4
Để có được chi tiết từ các biến môi trường, chúng ta cần sử dụng process.envnhư hình. Lưu ý rằng cú pháp này dành choNodeJS thời gian chạy.
var hostName = process.env.host;
var userName = process.env.username;
Bước 5
Kết quả đầu ra cho hàm Lambda khi thực thi sẽ như sau: