AWS Lambda có thể gọi tập lệnh Python không?
Nhà phát triển viết mã. Họ không cần phải lo lắng về cơ sở hạ tầng chạy mã đó. May mắn thay, họ có các dịch vụ đám mây AWS như các chức năng AWS Lambda của Amazon Web Services, còn được gọi là Lambda, để cho phép họ quay trở lại với những gì họ làm tốt nhất. Trong hướng dẫn này, bạn sẽ tìm hiểu cách bắt đầu với AWS Lambda và cụ thể hơn là tìm hiểu cách thiết lập AWS Lambda Python đầu tiên của bạn Show
Hãy theo dõi để tìm hiểu cách thức hoạt động của hàm Lambda và cách áp dụng kiến thức Lambda mới tìm được của bạn bằng cách sử dụng Boto3 AWS Python SDK để tạo hàm Lambda và bắt đầu phiên bản EC2 Hàm AWS Lambda. Sự cường điệu về Serverless là gì?Trước khi bạn giảm thuế đồng thau và bắt đầu tìm hiểu cách xây dựng hàm AWS Lambda trong Python, trước tiên hãy tìm hiểu lý do tại sao Lambda lại tuyệt vời và lý do bạn nên làm điều này ngay từ đầu Lambda là gì?AWS Lambda là công nghệ điện toán không có máy chủ. Ở cấp độ cao, thuật ngữ 'serverless' định nghĩa các dịch vụ cho phép các nhà phát triển chạy mã “không cần” máy chủ. Tùy thuộc vào ngôn ngữ lập trình bạn đang sử dụng, bạn sẽ tìm thấy một số cách khác nhau để tạo ứng dụng serverless. Một trong những cách phổ biến nhất là thông qua Python Khi các yêu cầu cơ bản về máy chủ không còn nữa, nó sẽ mở ra nhiều cơ hội hơn để làm những gì các nhà phát triển làm; . Các nhà phát triển có thể triển khai mã và xem nó hoạt động Tại sao lại là Lambda?Sử dụng nền tảng không có máy chủ cung cấp cho bạn một số khả năng chính mà bạn có thể không có ở nơi khác. Một số trong những khả năng quan trọng bao gồm
Hướng dẫn Tổng quan về cách viết AWS Lambda PythonPhần còn lại của bài viết này sẽ là hướng dẫn từng bước. Trong hướng dẫn chuyên sâu này, bạn sẽ tạo một hàm Lambda để chạy mã Python nhằm bắt đầu một phiên bản EC2. Bạn sẽ tìm hiểu cách xây dựng một hàm Lambda
điều kiện tiên quyếtNếu bạn muốn làm theo hướng dẫn, bạn sẽ cần một số mục chính và phần mềm để hoàn thành nhiệm vụ trong tầm tay
Bắt đầu Phiên bản AWS EC2 bằng PythonBất kể bạn có đang sử dụng Lambda hay không, bạn phải viết một số mã để bắt đầu một phiên bản EC2 trong ví dụ này. Giả sử bạn có một phiên bản EC2 chỉ được sử dụng cho mục đích phát triển. Nó không cần phải được bật mọi lúc. Thay vì phải khởi động phiên bản theo cách thủ công, hãy xây dựng một số mã để bắt đầu phiên bản Trong phần này, bạn sẽ viết tất cả mã cần thiết để bắt đầu phiên bản EC2 bằng thư viện Boto3, vì vậy hãy mở Visual Studio Code hoặc trình chỉnh sửa yêu thích của bạn và bắt đầu viết mã Nhập thư viện Boto3Đầu tiên, nhập thư viện Boto3. Bạn sẽ chỉ cần một thư viện cho ví dụ này
Tạo ứng dụng khách Boto3Tiếp theo, Boto3 phải kết nối với tài nguyên EC2. Bạn sẽ làm điều này bằng cách chạy phương thức 8. Phương thức 8 cho Boto3 biết bạn muốn tương tác với dịch vụ AWS nào. Trong ví dụ này, bạn sẽ kết nối với EC2Gán một biến cho khách hàng được gọi là 0. Đối tượng này sẽ đại diện cho kết nối tới EC2 nơi bạn có thể bắt đầu bắt đầu phiên bản
Tạo hàm PythonĐể chạy mã Boto3, bạn cần có hàm Python. Hàm này bao gồm hai tham số – _______4_______1 và 2. Hiện tại, chức năng bạn đang xây dựng được lưu trữ cục bộ. Tuy nhiên, chức năng này sẽ được gửi tới AWS sau và cần tuân thủ những gì Lambda mong đợi. Theo mặc định, các tham số 1 và 2 tồn tại cho tất cả các hàm Lambda
Đoạn mã sau hiển thị phần đầu của một hàm có tên là 7. Chức năng này có thể được gọi là bất cứ điều gì nhưng tất cả các ví dụ trong tương lai sẽ sử dụng tên này
Khi bạn đã xác định hàm, hãy điền mã bên trong hàm. Khi Lambda chạy, mã này thực sự khởi động phiên bản EC2
Khi bạn hoàn thành mã, bạn sẽ có một tập lệnh giống như sau
Bây giờ mã đã được viết, hãy lưu tập lệnh dưới dạng start_ec2instance. py vào máy tính của bạn. Bạn sẽ cần nó trong phần tiếp theo Tải hàm Python lên S3Khi tập lệnh Python được tạo, Lambda cần một cách để truy cập tập lệnh đó. Một nơi phổ biến để lưu trữ mã Lambda là trong AWS S3 Trước khi bạn có thể tải tập lệnh lên, trước tiên tập lệnh phải được lưu trữ hoặc nén thành tệp ZIP. Đầu tiên, tạo một kho lưu trữ ZIP của tập lệnh Python theo cách bạn muốn. Khi đã xong, hãy tải tệp ZIP lên bộ chứa S3 mà lẽ ra bạn đã tạo trong phần Điều kiện tiên quyết Tạo chức năng xây dựng LambdaTrong các phần trước, bạn đã học cách tạo tập lệnh Python và tải tập lệnh đó lên bộ chứa S3. Trong phần này, bạn sẽ sử dụng tốt Python đó bằng cách tạo hàm Lambda sẽ sử dụng nó
Trong phần trước, bạn đã tạo mã Python mà Hàm Lambda sẽ gọi. Trong phần này, bạn sẽ tạo mã Python để tạo Hàm Lambda. Sau khi bạn viết mã để tạo Hàm Lambda, thì Hàm Lambda sẽ gọi mã 7. *Giả sử bạn vẫn đang ở trong Visual Studio Code, hãy mở một tab khác và lưu nó với tên lambda_build. py. Bây giờ chúng ta hãy bắt tay vào viết hàm Lambda
mô-đunHàm Lambda mà bạn đang tạo sẽ cần ba mô-đun Python
Viết mã để tạo hàm LambdaBắt đầu bằng cách tạo một hàm Python có tên là 4. Hàm không cần phải được gọi là this nhưng tất cả các ví dụ trong tương lai sẽ sử dụng tên này. Bên trong, tạo lại một biến có tên là 5 bằng cách sử dụng phương thức 8. Lần này, thay vì 0, mã này đang kết nối với Lambda
Khi 5 được tạo, hãy chạy. Phương thức 9 sẽ thực sự tạo Hàm Lambda
Phương thức 9 có một số tham số bắt buộc. Các thông số đó được hiển thị bên dưới
Bây giờ bạn sẽ có một hàm Python có tên là 8 có khả năng tạo một hàm Lambda như bên dưới 0Thực thi chức năng xây dựng LambdaBây giờ chức năng xây dựng đã được tạo, bây giờ bạn có thể tạo mã để gọi hàm. Đây là mã thực sự sẽ gọi hàm xây dựng để tạo hàm Lambda Để gọi hàm xây dựng được tạo trước đó, hãy tạo hai tham số thời gian chạy có tên là 2 và 5 như được thấy trong đoạn mã sau 1Tiếp theo, gán giá trị cho các tham số đó thông qua đầu vào từ mô-đun 6. Cuối cùng, khi hàm Lambda chạy, bạn sẽ truyền tham số cho hàm Lambda. Giá trị của các tham số này sẽ được giữ trong 7 và 8
2Khi bạn đã chỉ định các giá trị tham số, điều duy nhất còn lại cần làm là gọi hàm xây dựng Lambda để tự tạo hàm Lambda 3Cuối cùng, bạn sẽ nghĩ ra tập lệnh có tên lambda_build. py có khả năng tạo hàm Lambda 4Kiểm tra chức năng Lambda cục bộBạn hiện đã xây dựng mã mà hàm Lambda sẽ gọi khi thực thi. Bạn cũng đã xây dựng mã để tự tạo hàm Lambda. Bây giờ, đã đến lúc chạy mã bản dựng Lambda để xem liệu hàm Lambda mới có được tạo hay không Mở một thiết bị đầu cuối và điều hướng đến thư mục chứa lambda_build. tập lệnh py được tạo trước đó. Chạy lệnh sau để thực thi tập lệnh Python sẽ tạo hàm Lambda
5Khi tập lệnh Python chạy, hãy điều hướng đến bảng điều khiển AWS. Trong thanh tìm kiếm Tìm dịch vụ, nhập Lambda và nhấp vào tùy chọn Lambda Bây giờ bạn sẽ thấy Lamba được tạo. Trong ảnh chụp màn hình sau, bạn có thể thấy hàm Lambda có tên là devlambda. Đây là tên của hàm Lambda được chuyển bằng cách chạy lambda_build. tập lệnh py được tạo trước đó 5Thử nghiệm Hàm Lambda trên AWSHàm Lambda đã được tạo trong tài khoản AWS của bạn. Phần khó khăn đã qua. Bây giờ chúng ta hãy chạy hàm Lambda thực sự Dừng phiên bản Demo EC2Trước tiên, dừng phiên bản EC2 mà hàm Lambda đang nhắm mục tiêu. Hãy nhớ rằng hàm 7 được tạo trước đó bắt đầu một phiên bản EC2. Trước tiên, nó không đảm bảo rằng nó đã dừng. Bạn phải dừng phiên bản EC2 để xác nhận chức năng Lambda sẽ khởi động phiên bản đóThay đổi tham số thời gian chạyĐiều hướng đến hàm Lambda của bạn và tìm Mã hàm. Ở đó bạn sẽ thấy mã 7 từ start_ec2instance. tập lệnh py được tạo trước đóThay đổi thông tin 7 thành 5. Việc thay đổi Trình xử lý yêu cầu Lambda chạy tên tập lệnh 6 và tên hàm 7
Định cấu hình bài kiểm traTiếp theo, chạy thử nghiệm chức năng Lambda bằng cách nhấp vào nút Kiểm tra trong ảnh chụp màn hình sau
Nếu đây không phải là lần đầu tiên thử nghiệm Lambda, bạn sẽ được nhắc Định cấu hình sự kiện thử nghiệm. Giữ tất cả các giá trị mặc định và nhấp vào nút Tạo màu cam như trong ảnh chụp màn hình sau Chạy thử nghiệmĐây rồi. Khoảnh khắc bạn đã chờ đợi Bây giờ, bấm vào nút Kiểm tra. Nếu thành công, bạn sẽ được thông báo về việc thực hiện thành công như trong ảnh chụp màn hình sau Để đảm bảo Lambda hoạt động như dự kiến, hãy điều hướng đến phiên bản EC2 của bạn. Bây giờ bạn sẽ thấy phiên bản EC2 mà bạn đã dừng trước đó hiện đang chạy chúc mừng. Bạn đã khởi động thành công một phiên bản EC2 với hàm Lambda Tóm lượcTrong bài đăng trên blog này, bạn đã trực tiếp thấy cách không chỉ tạo hàm Lambda hoạt động mà còn cách viết mã Python cần thiết để hàm Lambda hoạt động. Sử dụng chức năng serverless không có cơ sở hạ tầng, bạn có thể chạy mã đã thay đổi môi trường AWS của mình Đưa kiến thức này tiến thêm một bước. Sử dụng cùng mã được cung cấp trong hướng dẫn này để sửa đổi hàm Lambda nhằm kích hoạt sự kiện AWS; Ghét quảng cáo? Khám phá sách hướng dẫn ATAThông tin khác từ ATA Learning & Partners
|