Hướng dẫn how do i run a python lambda function locally? - làm cách nào để chạy hàm lambda python cục bộ?

Bạn có thể chạy mã Python trong AWS Lambda. Lambda cung cấp Runtimes cho Python chạy mã của bạn để xử lý các sự kiện. Mã của bạn chạy trong một môi trường bao gồm SDK cho Python (BOTO3), với thông tin đăng nhập từ vai trò AWS Danh tính và Quản lý truy cập (IAM) mà bạn quản lý.

Lambda hỗ trợ các trò chơi Python sau đây.

Python

TênĐịnh danhSDKHệ điều hànhKiến trúcKhông nhận được

Python 3.9

python3.9

BOTO3-1.20.32 BOTOCORE-1.23.32

Amazon Linux 2

x86_64, ARM64

Python 3.8

python3.8

BOTO3-1.20.32 BOTOCORE-1.23.32

Amazon Linux 2

x86_64, ARM64

Python 3.8

python3.7

BOTO3-1.20.32 BOTOCORE-1.23.32

Amazon Linux 2

x86_64

x86_64, ARM64

Python 3.8

  1. Python 3.7Lambda console.

  2. Amazon LinuxCreate function.

  3. Thông tin thời gian chạy trong bảng này trải qua các bản cập nhật liên tục. Để biết thêm thông tin về việc sử dụng AWS SDK trong Lambda, hãy xem Quản lý SDK AWS trong các chức năng Lambda.

    • Để tạo chức năng Pythonmy-function.

    • Mở bảng điều khiển Lambda.Python 3.9.

    • Chọn Tạo chức năng.Choose an existing role.

    • Định cấu hình các cài đặt sau:lambda-role.

  4. Amazon LinuxCreate function.

  5. Thông tin thời gian chạy trong bảng này trải qua các bản cập nhật liên tục. Để biết thêm thông tin về việc sử dụng AWS SDK trong Lambda, hãy xem Quản lý SDK AWS trong các chức năng Lambda.Test.

  6. Để tạo chức năng PythonEvent name, enter test.

  7. Mở bảng điều khiển Lambda.Save changes.

  8. Chọn Tạo chức năng.Test.

Định cấu hình các cài đặt sau:Save. Then, to run your code, choose Test.

Tên - my-function.

Thời gian chạy - Python 3.9.

Vai trò - Chọn một vai trò hiện có.

  • Vai trò hiện tại - lambda-role. – A Python function that shows the use of logging, environment variables, AWS X-Ray tracing, layers, unit tests and the AWS SDK.

Để định cấu hình một sự kiện kiểm tra, chọn Kiểm tra.

Đối với tên sự kiện, nhập test.

  • Chọn Lưu Thay đổi.
  • Để gọi chức năng, chọn Kiểm tra.
  • Bảng điều khiển tạo chức năng Lambda với một tệp nguồn duy nhất có tên lambda_function. Bạn có thể chỉnh sửa tệp này và thêm nhiều tệp trong trình soạn thảo mã tích hợp. Để lưu các thay đổi của bạn, chọn Lưu. Sau đó, để chạy mã của bạn, chọn Kiểm tra.
  • Bảng điều khiển Lambda sử dụng AWS Cloud9 để cung cấp môi trường phát triển tích hợp trong trình duyệt. Bạn cũng có thể sử dụng AWS Cloud9 để phát triển các chức năng Lambda trong môi trường của riêng bạn. Để biết thêm thông tin, hãy xem làm việc với các chức năng Lambda trong Hướng dẫn sử dụng AWS Cloud9.
  • Để bắt đầu với sự phát triển ứng dụng trong môi trường địa phương của bạn, hãy triển khai một trong các ứng dụng mẫu có sẵn trong kho Github của hướng dẫn này.
  • Mẫu các ứng dụng Lambda trong Python
  • trống-python-một hàm Python cho thấy việc sử dụng ghi nhật ký, biến môi trường, truy tìm tia X AWS, các lớp, kiểm tra đơn vị và SDK AWS.

Bạn có thể sử dụng AWS SAM với nhiều bộ công cụ AWS và trình gỡ lỗi để kiểm tra và gỡ lỗi các ứng dụng không có máy chủ của bạn tại địa phương.

Ví dụ: bạn có thể thực hiện gỡ lỗi bước cục bộ của các hàm Lambda của mình bằng cách đặt các điểm dừng, kiểm tra các biến và thực hiện mã chức năng một dòng tại một thời điểm. Bước gỡ lỗi cục bộ thắt chặt vòng lặp phản hồi bằng cách bạn có thể tìm và khắc phục sự cố mà bạn có thể gặp phải trong đám mây.

Bộ công cụ AWS là các plugin môi trường phát triển tích hợp (IDE) cung cấp cho bạn khả năng thực hiện nhiều tác vụ gỡ lỗi phổ biến, như cài đặt các điểm dừng, kiểm tra các biến và thực hiện mã chức năng một dòng. Bộ công cụ AWS giúp bạn dễ dàng phát triển, gỡ lỗi và triển khai các ứng dụng không có máy chủ được xây dựng bằng AWS SAM. Họ cung cấp trải nghiệm xây dựng, thử nghiệm, gỡ lỗi, triển khai và gọi các chức năng Lambda được tích hợp vào IDE của bạn.

Để biết thêm thông tin về bộ công cụ AWS mà bạn có thể sử dụng với AWS SAM, hãy xem phần sau:

  • Bộ công cụ AWS cho mã Visual Studio

  • AWS Cloud9

  • Bộ công cụ AWS cho JetBrains

Có một bộ công cụ AWS khác nhau hoạt động với các kết hợp IDE và Runtimes khác nhau. Bảng sau đây liệt kê các kết hợp IDE/thời gian chạy phổ biến hỗ trợ gỡ lỗi từng bước của các ứng dụng AWS SAM:

Notes:

  1. Để sử dụng AWS Cloud9 để gỡ lỗi từng bước AWS SAM, bộ công cụ AWS phải được bật. Để biết thêm thông tin, hãy xem bật bộ công cụ AWS trong Hướng dẫn sử dụng AWS Cloud9.

  2. Để sử dụng bộ công cụ AWS cho JetBrains để gỡ lỗi các ứng dụng AWS SAM, trước tiên bạn phải cài đặt và định cấu hình nó bằng cách làm theo các hướng dẫn được tìm thấy khi cài đặt Bộ công cụ AWS cho JetBrains trong Bộ công cụ AWS cho JetBrains.

Chạy AWS SAM cục bộ ở chế độ gỡ lỗi

Ngoài việc tích hợp với bộ công cụ AWS, bạn cũng có thể chạy AWS SAM trong "Chế độ gỡ lỗi" để đính kèm với các trình gỡ lỗi của bên thứ ba như PTVSD hoặc Delve.ptvsd or delve.

Để chạy AWS SAM trong chế độ gỡ lỗi, hãy sử dụng các lệnh sam cục bộ hoặc sam start-api với tùy chọn --debug-port hoặc -d.

Ví dụ:

# Invoke a function locally in debug mode on port 5858
sam local invoke -d 5858 

# Start local API Gateway in debug mode on port 5858
sam local start-api -d 5858

Nếu bạn đang sử dụng python3.90, phiên bản API Gateway cục bộ hiển thị tất cả các chức năng Lambda của bạn. Tuy nhiên, vì bạn có thể chỉ định một cổng gỡ lỗi duy nhất, bạn chỉ có thể gỡ lỗi một chức năng tại một thời điểm. Bạn cần gọi API của mình trước AWS SAM CLI liên kết với cổng, cho phép trình gỡ lỗi kết nối.

Tôi có thể chạy chức năng Lambda cục bộ không?

Bạn có thể gọi chức năng AWS Lambda của mình tại địa phương bằng cách sử dụng lệnh SAM LOCAKE GRIND AWS SAM CLI và cung cấp ID logic của chức năng và tệp sự kiện.Ngoài ra, Sam Local gọi cũng chấp nhận Stdin như một sự kiện.Để biết thêm thông tin về các sự kiện, hãy xem sự kiện trong Hướng dẫn Nhà phát triển AWS Lambda.. Alternatively, sam local invoke also accepts stdin as an event. For more information about events, see Event in the AWS Lambda Developer Guide.

Python Lambda Local là gì?

Gói Python-Lambda-Local Gói này cho phép bạn kiểm tra chức năng Lambda Python của mình tại địa phương vì nó sẽ chạy bên trong AWS, vì vậy bạn có thể tạo một chức năng gọi là Lambda_Handler với sự kiện và bối cảnh làm đầu vào.This package lets you test your Lambda python function locally as it would be running inside AWS, so you can create a function called lambda_handler with event and context as input.