aws / aws/aws-lambda-roadmap

[Lambda] Binary Invoke API

Đang mở
#91 0 bình luận 4 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
196
Fork
5
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

**Tell us about your request**

It would be excellent to have a binary API for invoking Lambdas, and receiving responses.

**Which service(s) is this request for?**
This is a request for Lambda proper, but could benefit integrations with other services (AWS and 3rd party) as well.

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
Many use cases for Lambda involve processing binary data (network, images, data, etc.). The current REST API requires two full encoding/decoding passes:

- The calling code must encode the binary data to invoke the lambda.
- The Lambda function decodes the request to process it.
- The Lambda function encodes the response.
- The calling code decodes the response.

In addition to the encoding and decoding compute being a burden at scale, encoding inflates the size of payloads (hence reducing the effective payload size).

Removing the encoding would reduce complexity in customer code, reduce compute consumption and increase the effective request and response payload size.

**Are you currently working around this issue?**
At Proxylity we encode each UDP packet arriving at our service before passing to Lambda. An arriving packet is serialized to JSON with the binary data being base64 encoded before sending to Lambda. Our customers then write (or use library) code that handles the de/reserialization. Our code then decodes the JSON response and sends a the binary data in a UDP response. The encoding alone can account for as much as a third of the CPU time overall for simple handlers.

**Additional context**
I understand this ask may sound daunting, but could it perhaps be compatible with the current runtime API as an underlay (pre deserialization/serialization)?

**Attachments**
None at this time.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Không có tệp, bài kiểm thử hoặc điểm vào triển khai nào được nêu. Hãy bắt đầu bằng cách lập bản đồ đường dẫn mã hóa của REST Invoke API hiện tại và câu hỏi về khả năng tương thích của Runtime API được mô tả trong issue. Công việc được xem là hoàn tất khi có một binary request và response API được định nghĩa, tránh các bước mã hóa đã mô tả và hoạt động với các tích hợp AWS và bên thứ ba có liên quan.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
aws
Lĩnh vực
api, cloud
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.