Comments (6)
@klische That is not true. When running on an M1, you still need to run the x86 container. RIE is not meant to run on anything but what Lambda Supports. Lambda does not support ARM therefore producing an ARM artifact doesn't give you anything. Even if we did provide an ARM artifact, that would allow you to run in ARM which Lambda doesn't support. So testing on ARM but running on x86 can lead to incompatibilities and why we decided to only produce artifacts for Lambda Supported OS's.
@rajasimon SAM CLI supports M1 and runs with RIE. So it should be working. What SAM CLI does, is adds RIE into the container (through a docker build process) and then mounts the code into the container for invoking.
from aws-lambda-runtime-interface-emulator.
The Runtime Interface Emulator is only built for the OS Lambda Supports. Since this is meant to run within the container and lambda only supports x86, there is no need for arm, xnu, etc.
Closing
from aws-lambda-runtime-interface-emulator.
The purpose of an emulator is to abstract. I just asked if there were any blockers you knew of.
If you are going to weigh it down with linux system calls and x86 then you might as well open source one of the full stacks modulo crypto so Daniel Lemire etc can SIMD the HTML/JSON transforms.
from aws-lambda-runtime-interface-emulator.
@chadbrewbaker I am not really following the second part there. The blocker is that Lambda doesn't support anything but x86. The goal of this project is to allow you to test you functions locally. If we allow anything but what Lambda's OS currently supports, then you could run something locally that does not work on Lambda itself. The restrictions do not have anything to do with syscalls but more to do with the fidelity with Lambda.
from aws-lambda-runtime-interface-emulator.
In
@chadbrewbaker I am not really following the second part there. The blocker is that Lambda doesn't support anything but x86. The goal of this project is to allow you to test you functions locally. If we allow anything but what Lambda's OS currently supports, then you could run something locally that does not work on Lambda itself. The restrictions do not have anything to do with syscalls but more to do with the fidelity with Lambda.
This logic does not make sense. In order to test locally on a machine that is ARM64 (M1 Macs), the RIE images must run in a docker for ARM64. Otherwise, the entirety of the AWS developer documentation “on debbugging Lambdas locally” is broken for ARM64/M1 Macs.
from aws-lambda-runtime-interface-emulator.
Wish this AWS Lambda docker works natively in my M1 machine. Now that it's not curios about whether SAM supports or not?
from aws-lambda-runtime-interface-emulator.
Related Issues (20)
- go install is broken
- Environment variable for runtime-interface-emulator-address HOT 1
- frozen os error HOT 1
- The "Init Duration" reported by the RIE is wrong
- Different behavior between local invocation with SAM and AWS HOT 2
- panic: runtime error: invalid memory address or nil pointer dereference HOT 1
- `tracing` field missing from Lambda extension INVOKE event
- Go package vulnerable to CVE-2023-45285 HOT 2
- Vulnerabilities due to go1.20 HOT 2
- Add environment variable for --runtime-interface-emulator-address HOT 5
- CVEs found in latest RIE release HOT 1
- CVEs found in latest RIE release HOT 1
- Trying to test a simple lambda - getting Unable to unmarshal error HOT 5
- CVEs found in latest RIE release HOT 1
- RIE crashes with null pointer dereference after logging `AlreadyReserved` error HOT 1
- Installing Windows "aws-lambda-runtime-interface-emulator " copies Linux binary to windows program files HOT 3
- No binaries in 1.12 release HOT 1
- Runtime error: invalid memory address or nil pointer dereference HOT 8
- go packges verion issue HOT 2
- Is it possible to test LambdaFunctionURL lambdas with aws-lambda-rie ? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-lambda-runtime-interface-emulator.