> Why was it done this way in the first place? If the data comes in as a
single JSON object to the runtime, why did the runtime move a subset of
that data to env vars instead of just keeping it all within the params map
sent to the user action code?

This was done to keep the function abstraction simple and composable. The
function signature is dictionary in and dictionary out. It makes
composition and the programming model cleaner as in f(g(h(x))). We opted
for global variables instead for the context (these are the __OW
properties). There is a lot of discussion on the programming model from the
early days of the project which I can dig up if you are interested. Some of
it can also be gleaned from https://github.com/apache/openwhisk/issues/116.

-r

Reply via email to