Nếu bạn đang tìm cách chạy mã thường xuyên, như công việc định kỳ, bạn có thể sử dụng Sự kiện CloudWatch của AWS để tự động chạy Chức năng Lambda không có máy chủ theo các khoảng thời gian cố định mà không cần sử dụng bất kỳ máy chủ thực tế nào.
Sự kiện CloudWatch là gì?
CloudWatch là một dịch vụ từ AWS theo dõi và phản hồi các thay đổi trong cơ sở hạ tầng đám mây của bạn. Nó thường được sử dụng để ghi nhật ký và giám sát, nhưng nó thường hoạt động như chất keo giữ nhiều ứng dụng lại với nhau.
Một trong những tính năng này là CloudWatch Events, một dịch vụ về cơ bản bản đồ gây ra hiệu ứng. Có một loạt các hành động khác nhau có thể kích hoạt các sự kiện, như gián đoạn thể hiện tại chỗ cho EC2, hoạt động cấp độ xô và đối tượng cho S3, v.v. Sau đó, nó có thể kích hoạt các hành động khác, như chạy chức năng lambda, xếp hàng pub đến SNS hoặc nhiều hành động khác.
Thủ thuật, trong trường hợp này, là sự kiện không phải được kích hoạt bởi một cái gì đó. Có một tùy chọn khác để chạy các sự kiện định kỳ, theo khoảng thời gian cố định như cứ sau năm phút hoặc bằng cách sử dụng cú pháp cron để xác định một khoảng thời gian cụ thể. Bạn có thể liên kết sự kiện tự động này với chức năng Lambda để nó tự động chạy.
Thiết lập chức năng định kỳ
Tất nhiên, bạn sẽ cần một chức năng mà bạn muốn chạy. Bạn có thể tạo chúng từ Bảng điều khiển quản lý Lambda . Nếu bạn chỉ muốn chức năng Hello World thử nghiệm với Sự kiện CloudWatch, bạn sẽ cần phải đăng nhập sự kiện để có bản ghi một số đầu ra.
'use strict'; exports.handler = (event, context, callback) => { console.log('LogScheduledEvent'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
Thiết lập chức năng và kiểm tra chức năng này bằng các công cụ tích hợp và xem nhật ký và các yêu cầu gần đây trong tab Theo dõi trên màn hình.
Trụ sở để các Management Console CloudWatch để tạo ra một quy tắc mới, dưới Sự kiện> Rules trong thanh bên.
Đối với Nguồn sự kiện, hãy chuyển nó từ mô hình sự kiện của nhóm trực tiếp sang lịch trình trực tuyến để thiết lập các sự kiện tự động. Bạn có thể sử dụng tỷ lệ cố định hoặc sử dụng cú pháp cron để chỉ định thời gian chính xác hơn. Bạn có thể đọc hướng dẫn của chúng tôi về cron hoặc sử dụng công cụ trực tuyến này để giúp bạn với cú pháp, nhưng định dạng chung là:
phút giờ ngày tháng tháng ngày trong tuần
Đối với mục tiêu, thêm mục tiêu mới và chọn Chức năng Lamb Lambda. Chọn tên của chức năng bạn muốn chạy.
Nhấp vào Cấu hình chi tiết, hãy đặt tên cho nó và tạo quy tắc. Chức năng Lambda của bạn sẽ bắt đầu thực thi và bạn có thể xem nhật ký cho nó từ tab theo dõi của Lambda hoặc từ nhật ký CloudWatch.