This namespace integrates the Clojure code with two different runtimes: Java Lambda Runtime, Native Provided Runtime. The former is the Official Java Runtime for AWS Lambda which is well tested and works perfectly fine, but it's rather slow due to cold starts. The latter is a custom runtime integrated within the framework. It's a significantly faster than the Java runtime due to the use of GraalVM.
Namespace includes:
This namespace integrates the Clojure code with two different runtimes: Java Lambda Runtime, Native Provided Runtime. The former is the Official Java Runtime for AWS Lambda which is well tested and works perfectly fine, but it's rather slow due to cold starts. The latter is a custom [runtime](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html) integrated within the framework. It's a significantly faster than the Java runtime due to the use of GraalVM. *Namespace includes:* - Utilities for Logging - Friendly macro for generating Lambda functions which run on both runtimes - TODO Utilities which help produce valid response
(call afn-sym)
(call afn-sym event context)
(call afn-sym input output context)
Resolves the lambda function and calls it with the event and context.
Returns the callable lambda function if only one argument is passed.
See fierycod.holy-lambda.impl.util/call
Resolves the lambda function and calls it with the event and context. Returns the callable lambda function if only one argument is passed. See `fierycod.holy-lambda.impl.util/call`
(deflambda name doc-string? attrs-map? [event context] prepost-map? fn-body)
(deflambda name
doc-string?
attrs-map?
[input output context]
prepost-map?
fn-body)
Similiar to defn
, with the limitation that it only allows the
2 arity definition. Defined Lambda is safe to use either in Java Runtime or
with the Custom Runtime alongside this library.
Similiar to `defn`, with the limitation that it only allows the 2 arity definition. Defined Lambda is safe to use either in Java Runtime or with the Custom Runtime alongside this library.
(error & msgs)
Similiar to log
, but adds special [ERROR] decoration
See fierycod.holy-lambda.impl.logging/error
Similiar to `log`, but adds special *[ERROR]* decoration See `fierycod.holy-lambda.impl.logging/error`
(gen-main lambdas)
Generates the main function which has the two roles:
The -main
might be then launched by AWS in the lambda runtime.
Lambda runtime tries to proxy the payloads from AWS to corresponding handlers
defined in native-template.yml
.
The -main
might be used to generate the configuration necessary to compile
the project to native.
For more info take a look into the corresponding links:
According to the comment of the @cstancu with the help of the agent we can find the majority
of the reflective calls and generate the configuration. Generated configuration might then be used
by native-image
tool.
Generates the main function which has the two roles: 1. The `-main` might be then launched by AWS in the lambda runtime. Lambda runtime tries to proxy the payloads from AWS to corresponding handlers defined in `native-template.yml`. 2. The `-main` might be used to generate the configuration necessary to compile the project to native. *For more info take a look into the corresponding links:* 1. https://github.com/oracle/graal/issues/1367 2. https://github.com/oracle/graal/blob/master/substratevm/CONFIGURE.md 3. https://github.com/oracle/graal/blob/master/substratevm/REFLECTION.md According to the comment of the @cstancu with the help of the agent we can find the majority of the reflective calls and generate the configuration. Generated configuration might then be used by `native-image` tool.
(info & msgs)
Similiar to log
, but adds special [INFO] decoration
See fierycod.holy-lambda.impl.logging/info
Similiar to `log`, but adds special *[INFO]* decoration See `fierycod.holy-lambda.impl.logging/info`
(log & msgs)
Logs to standard output. Uses the proper logger according to the runtime
See fierycod.holy-lambda.impl.logging/log
Logs to standard output. Uses the proper logger according to the runtime See `fierycod.holy-lambda.impl.logging/log`
(trace tag x)
Trace the x
with tag then returns the value
See fierycod.holy-lambda.impl.logging/trace
Trace the `x` with tag then returns the value See `fierycod.holy-lambda.impl.logging/trace`
(warn & msgs)
Similiar to log
, but adds special [WARN] decoration
See fierycod.holy-lambda.impl.logging/warn
Similiar to `log`, but adds special *[WARN]* decoration See `fierycod.holy-lambda.impl.logging/warn`
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close