在AWS Lambda中,人们可以创建node.js函数并通过事件触发它,例如消息等.
我想知道这是如何在’引擎盖下’工作的,以及如何在Haskell中将这样的东西放在一起.上传的功能基本上是单功能库,没有任何主要功能.
在CLI上或通过API,您可以通过名称(以及所需的输入)调用任何函数,并获得函数签名定义的输出 – 或者,当然也可以是错误.
是否有可能在Haskell中做到这一点?
澄清一下:我想要做的是例如在Haskell平台上加载许多不同的单函数Haskell库,或者在我的数据中心中的任何其他执行上下文,并通过CLI或API在名称中执行/调用它们与AWS Lambda使用node.js函数的方式相同.
最佳答案 如果你想重现相同的功能(作为服务的功能)存在许多你可以使用的技术(soap,rpc,rest,…).如果您不知道,我建议您阅读.
我最喜欢的是SOAP,但它是如此不受欢迎,Haskell的支持是有限的soap(见related question). SOAP(和其他人一样)提供您想要的.
但是你必须具体化你的真正问题才能选择最好的技术.
如果您正在寻找分发您自己的Haskell代码Cloud Haskell可能是一个很好的起点.
如果您需要更多像“web服务器”那么请查看sodium,elm,…以Javascript样式或servant(生成某些语言的客户端代码).
无论如何,即使AWS Lambda需要支持每种语言,您也不应期望为RPC找到一种无处不在的技术(如HTTP).