Lambda function là gì


topbinhduong.net Lambda là một dịch vụ điện toán phi máy chủ cho phép bạn chạy mã mà không cần cung cấp hay quản lý máy chủ, tạo logic thay đổi quy mô cụm nhận biết khối lượng công việc, duy trì tích hợp sự kiện hoặc quản lý thời gian chạy. Với Lambda, bạn có thể chạy mã cho gần như toàn bộ các loại ứng dụng hay dịch vụ backend – tất cả đều không cần quản trị. Chỉ cần tải lên mã của bạn dưới dạng tệp ZIP hoặc hình ảnh bộ chứa, Lambda sẽ tự động phân bổ chính xác nguồn lực thực thi tính toán và chạy mã của bạn dựa trên yêu cầu hoặc sự kiện đến, cho bất kỳ quy mô lưu lượng nào. Bạn có thể thiết lập mã để tự động kích hoạt từ 140 dịch vụ topbinhduong.net hoặc gọi trực tiếp từ bất cứ ứng dụng web hay di động nào. Bạn có thể viết các hàm Lambda bằng ngôn ngữ yêu thích của mình [Node.js, Python, Go, Java, v.v.] và sử dụng cả các công cụ phi máy chủ và các công cụ bộ chứa, chẳng hạn như topbinhduong.net SAM hoặc Docker CLI, để xây dựng, kiểm tra và triển khai các hàm.

Bắt đầu sử dụng topbinhduong.net Lambda [3:00]

Lợi ích

Không cần phải quản lý máy chủ

topbinhduong.net Lambda tự động chạy mã của bạn mà không cần bạn cung cấp hay quản lý cơ sở hạ tầng. Chỉ cần viết mã và tải mã lên Lambda dưới dạng tệp ZIP hoặc hình ảnh bộ chứa.

Thay đổi quy mô liên tục

topbinhduong.net Lambda tự động thay đổi quy mô ứng dụng của bạn bằng cách chạy mã cho mỗi sự kiện. Mã của bạn sẽ chạy song song và xử lý riêng từng lần kích hoạt, thay đổi quy mô theo đúng khối lượng công việc, từ một vài yêu cầu mỗi ngày, đến hàng trăm nghìn yêu cầu mỗi giây.

Tối ưu hóa chi phí với khả năng đo lường bằng mili giây

Với topbinhduong.net Lambda, bạn chỉ trả tiền cho thời gian tính toán mà bạn sử dụng, nên bạn sẽ không bao giờ phải trả tiền cho cơ sở hạ tầng được cung cấp quá mức. Bạn sẽ trả phí cho mỗi mili giây mà mã của bạn chạy và số lần mã được kích hoạt. Với Compute Savings Plan, bạn có thể tiết kiệm thêm tới 17%.

Hoạt động ổn định ở mọi quy mô

Với topbinhduong.net Lambda, bạn có thể tối ưu hóa thời gian thực thi mã bằng cách chọn kích thước bộ nhớ phù hợp với hàm của bạn. Bạn cũng có thể đảm bảo tính sẵn sàng cực cao và duy trì khởi tạo cho các hàm để phản hồi trong vài chục mili giây bằng cách kích hoạt tính năng Tính đồng thời được cung cấp.

Cách thức hoạt động

Trường hợp sử dụng

Bạn có thể xây dựng gì với topbinhduong.net Lambda? Tìm hiểu thêm về những trường hợp sử dụng dưới đây:

Xử lý dữ liệu

Bạn có thể dùng topbinhduong.net Lambda để chạy mã cho những kích hoạt như dữ liệu hay trạng thái hệ thống bị thay đổi, hay các hành động của người dùng. Lambda có thể được kích hoạt trực tiếp bằng các dịch vụ topbinhduong.net như S3, DynamoDB, Kinesis, SNS và CloudWatch, có thể kết nối với các hệ thống tệp EFS hiện có hoặc có thể được đưa vào luồng công việc nhờ topbinhduong.net Step Functions. Nhờ đó, bạn có thể xây dựng nhiều hệ thống xử lý dữ liệu phi máy chủ theo thời gian thực.

Xử lý tệp thời gian thực

Bạn có thể dùng topbinhduong.net S3 để kích hoạt topbinhduong.net Lambda xử lý dữ liệu ngay sau khi tải lên. Bạn cũng có thể kết nối trực tiếp với hệ thống tệp topbinhduong.net EFS hiện có, cho phép sử dụng quyền truy cập được chia sẻ có tính song song trên quy mô hàng loạt để xử lý tệp quy mô lớn. Ví dụ: bạn có thể dùng Lambda để tạo ảnh thu nhỏ, chuyển mã video, lập chỉ mục tệp, xử lý nhật ký, xác thực nội dung, cũng như tập hợp và lọc dữ liệu theo thời gian thực.

Kiến trúc tham khảo: Mã mẫu

The Seattle Times sử dụng topbinhduong.net Lambda để điều chỉnh kích cỡ ảnh để có thể xem được trên nhiều thiết bị như máy tính bàn, máy tính bảng và điện thoại thông minh. Đọc nghiên cứu điển hình »

Xử lý luồng thời gian thực

Bạn có thể xử lý dữ liệu luồng thời gian thực nhờ topbinhduong.net Lambda và topbinhduong.net Kinesis để theo dõi hoạt động của ứng dụng, xử lý lệnh chuyển tiền, phân tích luồng nhấp chuột, làm sạch dữ liệu, tạo thước đo, lọc nhật ký, tạo chỉ mục, phân tích truyền thông xã hội, đo lường và ghi nhận dữ liệu từ xa của thiết bị IoT.

Kiến trúc tham khảo: Mã mẫu

Localytics xử lý hàng tỷ điểm dữ liệu theo thời gian thực, và dùng Lambda để xử lý những dữ liệu cũ hoặc đang diễn ra được lưu trong S3 hoặc được truyền từ Kinesis. Đọc nghiên cứu điển hình »

Máy học

Bạn có thể sử dụng topbinhduong.net Lambda để xử lý trước dữ liệu trước khi đưa vào mô hình máy học của bạn. Với quyền truy cập Lambda vào EFS, bạn cũng có thể sử dụng mô hình của mình để dự đoán trên quy mô lớn mà không phải cung cấp hoặc quản lý bất kỳ cơ sở hạ tầng nào.

“Tại Aible, chúng tôi tập trung vào việc cung cấp các công nghệ AI mạnh nhất với chi phí vận hành thấp nhất có thể. Do đó, chúng tôi sử dụng topbinhduong.net Lambda và nền tảng phi máy chủ để đào tạo máy học và dự đoán. Với nền tảng phi máy chủ, chúng tôi có thể chạy nhiều khối lượng công việc máy học tiết kiệm chi phí hơn trong khi vẫn được hưởng lợi từ các tài nguyên điện toán cần thiết cho việc lặp lại và thay đổi quy mô nhanh chóng để tạo AI cho tác động kinh doanh tối ưu”.

Rod Butters, CTO – Aible

Backend

Bạn có thể xây dựng backend serverless bằng cách dùng topbinhduong.net Lambda để xử lý các yêu cầu của web, di động, Internet of Things [IoT] và các API bên thứ 3. Khai thác tối đa các biện pháp kiểm soát hiệu năng nhất quán Lambda, như nhiều cấu hình bộ nhớ và Tính đồng thời được cung cấp, để xây dựng các ứng dụng đòi hỏi cao về độ trễ ở mọi quy mô.

Ứng dụng web

Khi kết hợp topbinhduong.net Lambda với các dịch vụ topbinhduong.net khác, nhà phát triển có thể tạo ra những ứng dụng web mạnh mẽ, có khả năng mở rộng hoặc thu hẹp tự động, chạy trên cấu hình có độ khả dụng cao trên nhiều trung tâm dữ liệu – mà không tốn công quản trị để mở rộng, sao lưu hay tốn công cho nhiều trung tâm dữ liệu dự phòng.

Kiến trúc tham khảo: Mã mẫu

Backend IoT

Bạn có thể xây dựng backend serverless bằng cách dùng topbinhduong.net Lambda để xử lý các yêu cầu của web, di động, Internet of Things [IoT] và các API bên thứ 3.

Kiến trúc tham khảo: Mã mẫu

Backend di động

topbinhduong.net Lambda giúp dễ dàng đem lại trải nghiệm ứng dụng phong phú và cá nhân hóa. Bạn có thể xây dựng backend với topbinhduong.net Lambda và topbinhduong.net API Gateway để xác thực và xử lý các yêu cầu API. Dùng topbinhduong.net Amplify để dễ dàng tích hợp backend của bạn với frontend iOS, Android, Web, và React Native.

Kiến trúc tham khảo: Mã mẫu

Bustle chạy backend không máy chủ cho ứng dụng Bustle iOS và trang web của họ với topbinhduong.net Lambda và topbinhduong.net API Gateway. Các kiến trúc serverless cho phép Bustle không phải lo nghĩ tới việc quản lý cơ sở hạ tầng và cho phép tất cả các kỹ sư tập trung sáng tạo và phát triển những tính năng mới. Đọc nghiên cứu điển hình »

Nghiên cứu điển hình

The Coca-Cola Company, tập đoàn đồ uống đa quốc gia của Mỹ, dùng topbinhduong.net Lambda và topbinhduong.net Step Functions để xây dựng một giải pháp serverless có hiệu quả về chi phí.

Đọc blog »

iRobot, một công ty sản xuất rôbốt tiêu dùng hàng đầu thế giới, đang xây dựng thế hệ thiết bị kết nối tiếp theo cho gia đình nhỏ bằng kiến trúc serverless.

Đọc thêm »

Benchling, công ty phần mềm về khoa học sự sống, đã tạo ra một kỹ thuật dùng kiến trúc không máy chủ cho các nhà nghiên cứu sử dụng để thay đổi một phần của gen với độ chính xác cao.

Đọc thêm »

Thomson Reuters dùng topbinhduong.net Lambda để xử lý tới 4.000 sự kiện một giây cho dịch vụ phân tích sử dụng của họ, và phải mất năm tháng mới bắt đầu triển khai đưa vào hoạt động được.

Đọc thêm »

Trong bài viết này, Taimienphi.vn sẽ cùng bạn tìm hiểu về hàm vô danh hay còn gọi là hàm Lambda trong Python. Hàm Lambda là gì, cú pháp hàm Lambda như thế nào, và cách sử dụng hàm Lambda với ví dụ kèm theo ra sao, tất cả sẽ giải đáp ngay sau đây.


Trước khi tìm hiểu về cú pháp hàm Lambda và cách sử dùng hàm Lambda với các ví dụ cụ thể, chúng ta sẽ bắt đầu bằng việc tìm hiểu định nghĩa về hàm Lambda trong Python.

Tìm hiểu về hàm LAMBDA

1. LAMBDA là gì?

Hàm Lambda trong Python là một hàm vô danh hay hàm ẩn danh [Anonymous function], một hàm được định nghĩa mà không có tên. Đây là một hàm nhỏ và bị hạn chế, không có nhiều hơn một dòng. Cũng giống như một hàm bình thường, một hàm Lambda có thể có nhiều đối số với một biểu thức.

Trong Python, biểu thức Lambda được sử dụng để xây dựng các hàm ẩn danh. Để làm như vậy, bạn sẽ sử dụng từ khóa lambda [giống như bạn sử dụng def để định nghĩa các hàm thông thường]. Mỗi hàm ẩn danh mà bạn xác định trong Python sẽ có 3 phần thiết yếu:

- Một hàm Lambda có thể lấy bất kỳ số lượng đối số nào, nhưng chúng chỉ chứa một biểu thức duy nhất. Biểu thức là một đoạn mã được thực thi bởi hàm Lambda, có thể trả về hoặc không trả về bất kỳ giá trị nào.
- Các hàm Lambda có thể được sử dụng để trả về các đối tượng hàm.
- Về mặt cú pháp, các hàm Lambda chỉ được giới hạn trong một biểu thức duy nhất.

2. Cách sử dụng hàm Lambda trong Python

Một hàm Lambda trong Python có cú pháp như sau:

2.1. Cú pháp của hàm Lambda

Tại đây, bạn có thể thêm bao nhiêu tham số tùy ý. Tuy nhiên, lưu ý rằng chúng ta không sử dụng dấu ngoặc xung quanh các tham số như chúng ta làm với các hàm thông thường. Biểu thức là bất kỳ biểu thức Python hợp lệ nào hoạt động trên các tham số bạn cung cấp cho hàm.

2.2. Ví dụ về hàm Lambda trong Python

Đây là một ví dụ về hàm Lambda tăng gấp đôi giá trị nhập vào:

Trong ví dụ này, lambda x: x * 2 là hàm Lambda. x là đối số và x * 2 là biểu thức đảm nhận việc tính toán và trả về kết quả.

Hàm này không có tên. Nó trả về đối tượng hàm được gắn với định danh là nhan_doi. Chúng ta có thể gọi nó là một hàm thông thường. Lệnh

nhan_doi= lambda x: x * 2

gần giống như:

def nhan_doi[x]:

return x * 2

Ngoài cách sử dụng hàm LAMBDA trong Python người dùng có thể sử dụng hàm này trong Excel để tạo các hàm tùy chỉnh. Bạn có thể xem chi tiết tại đây.

Xem thêm: Người dùng hiện có thể tạo các hàm Excel tùy chỉnh bằng LAMBDA.

3. Sử dụng hàm Lambda trong Python

Thông thường, hàm Lambda được sử dụng khi cần một hàm vô danh trong một thời gian ngắn. Trong Python, chúng ta sử dụng nó như một đối số cho bậc hàm cao hơn [một hàm nhận các hàm khác làm đối số]. Hàm Lambda được sử dụng cùng với các hàm tích hợp sẵn như filter[], map[] hay reduce[]...

3.1. Ví dụ sử dụng hàm Lambda với hàm filter[]

Hàm filter[] trong Python sẽ lấy các tham số trong một hàm hoặc một list. Hàm sẽ được gọi với tất cả các mục trong list và list mới được trả về, chứa các mục mà hàm đánh giá là True.

Đây là ví dụ về việc sử dụng hàm filter[] để chỉ lọc các số chẵn từ danh sách:

3.2. Ví dụ sử dụng hàm Lambda với hàm map[]

Hàm map[] trong Python cũng lấy các tham số trong một hàm và một list. Hàm được gọi với tất cả các mục trong list và list mới được trả về, chứa các mục được hàm trả về cho mỗi mục.

Đây là một ví dụ sử dụng hàm map[] để nhân đôi tất cả các mục trong một danh sách.

4. Tại sao sử dụng hàm Lambda?

Hàm Lambda được xử lý giống như các hàm thông thường ở cấp thông dịch. Theo một cách nào đó, bạn có thể nói rằng hàm Lambda cung cấp cú pháp nhỏ gọn để viết các hàm trả về một biểu thức duy nhất.

Một trong những trường hợp sử dụng phổ biến nhất cho hàm Lambda là trong lập trình hàm vì Python hỗ trợ mẫu hình [hoặc kiểu] lập trình được gọi là lập trình hàm.

//thuthuat.taimienphi.vn/lambda-la-gi-61644n.aspx
Nó cho phép bạn cung cấp một hàm dưới dạng tham số cho một hàm khác [ví dụ: trong bản đồ, bộ lọc...]. Trong những trường hợp như vậy, hàm Lambda mang đến một cách hay để tạo một hàm dùng một lần và chuyển nó làm tham số.

Video liên quan

Chủ Đề