89671

Is it possible to test AWS Lambda functions written in C# locally?

Question:

I've started to learn about AWS Lambda and I've written a simple lambda function. I'd like to know if is it possible to test the DLL locally. For example, for NodeJS, we can use the NPM package called "lamda-local", which I'm not very familiar with it. I've seen that <a href="https://docs.aws.amazon.com/lambda/latest/dg/test-sam-local.html" rel="nofollow">SAM Local</a> only allows NodeJS, Java and Python runtime.

I'd like to know if there's a way to do the same with a Lambda function written in C#. Maybe I'm missunderstanding the concept of "testing the lambda function locally". I think that that means to test the AWS Lambda function in an emulated environment on our local machine, without "touching" the real AWS Console. Is that correct?

I could try creating a simple Console application to import the DLLs there, but I'm not sure if that's the correct way to do it.

Please, provide me with any other information that could be useful.

Thanks in advance.

Answer1:

Here is how we test our Lambda,

Create a machine from AMI as mentioned here,

<a href="https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html" rel="nofollow">https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html</a>

Run your code on that machine. This is very much needed if you have any native libraries associated with your code.

Run your C# code with the version mentioned, .NET Core – .NET Core 1.0.1 (C#)

Once everything looks good, the code works in production lambda as well.

Hope it helps.

Recommend

  • Why did my alphabet had 40 letters? Or why dropping STDERR is not always a good idea [closed]
  • Is it possible to use MJSIP api with Blackberry?
  • Pipe file contents in g++ to compile
  • Cursor with Stored Procedure Question
  • Is there a way to return a sorted key list from a hash?
  • Raise Session_OnStart event from custom ASP.NET SessionStateProvider class
  • How to only store 3 values for a key in a dictionary? Python
  • What is the quartz default thread count
  • What I have to do to guarantee that ccc.jar is loaded before aaa.jar?
  • How does ActiveSupport do month sums?
  • Can a Collections.shuffle be considered equivalent to a series of Randoms?
  • PHP + XML - how to rename and delete XML elements using SimpleXML or DOMDocument?
  • runtime error when linking ffmpeg libraries in qt creator
  • Is there a parser equivalent of 'fragment' marking in ANTLR4?
  • ZipList with Scalaz
  • Ruby on Rails App deployed to heroku showing “We're sorry, but something went wrong”
  • import scipy.sparse failed
  • Android cannot disable cut copy paste
  • Detecting null parameter in preprocessor macro
  • During installation of Django, why do I keep getting ImportError: No module named django?
  • where do I find the xml.dom python package for the python-2.6.0-8.9.28 and I have a suse/x86_64 vers
  • Python pickle not one-to-one: different pickles give same object
  • how does System.Web.HttpRequest::PathInfo work?
  • C# program and C++ DLL compiled for 32-bit system crash on 64-bit system
  • Breaking out column by groups in Pandas
  • How solve “Qt: Untested Windows version 10.0 detected!”
  • How to define and use opencv mat of user type
  • Time complexity of a program which involves multiple variables
  • PHP buffered output depending on server setting?
  • preg_replace Double Spaces to tab (\\t) at the beginning of a line
  • ImageMagick, replace semi-transparent white with opaque white
  • How to delay loading a property with linq to sql external mapping?
  • Projection media query: browser support and workarounds?
  • Is my CUDA kernel really runs on device or is being mistekenly executed by host in emulation?
  • sending/ receiving email in Java
  • How to format a variable of double type
  • coudnt use logback because of log4j
  • Are Kotlin's Float, Int etc optimised to built-in types in the JVM? [duplicate]
  • JaxB to read class hierarchy
  • costura.fody for a dll that references another dll