Or *_*rel 6 lambda serverless-framework
我已经在 AWS Lambda 上使用无服务器框架部署了一些功能。我想将提供者切换到 IBM Functions,因为他们使用的是 OpenWhisk,这是一个由 apache 支持的非常酷的开源项目。
我认为仅更改 yml 中的提供程序将不起作用,因为 openwhisk 函数具有与 lambda 不同的签名。另外,我在我的函数中使用了上下文对象,但 openwhisk 没有将它作为参数传递。
我怎样才能做这个切换?(或者我应该说迁移?)如果我不能以透明的方式切换到另一个提供商,为什么它说 Serverless 与云无关?
提前致谢!
Serverless 框架是一种工具,可以处理所有耗时的任务,否则您需要使用 Web 控制台手动执行这些任务,并允许您在给定提供程序的基础架构上快速安装处理程序功能,但它实际上并不转换这些函数以任何方式出现,当您在 AWS 或 Azure Web 控制台中看到这些函数时,您就可以看到这些函数(我认为 IBM 也是这种情况,但我还没有使用该提供商)。
这意味着只要提供者之间存在任何差异——比如不同的上下文对象、不同的事件数据、响应请求的不同方式等——你目前需要自己处理这些差异。
当我第一次发现它时,这也让我感到惊讶,我的想法是编写一个简单的抽象层来处理 AWS 和 Azure 之间的这些差异,并为该公共抽象而不是目标提供程序编写处理程序。
如果这对其他人有用,那么我想我可能会为 Serverless 框架开源该微框架。
但最重要的是,据我所知,在撰写本文时,Serverless 框架本身并没有处理部署到不同提供者的功能之间的差异。如果我错了,请在评论中纠正我。