Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lambda 如何切换提供程序无服务器框架?_Lambda_Serverless Framework - Fatal编程技术网

Lambda 如何切换提供程序无服务器框架?

Lambda 如何切换提供程序无服务器框架?,lambda,serverless-framework,Lambda,Serverless Framework,我已经在AWS Lambda上使用无服务器框架部署了一些函数。我想将提供程序切换到IBM函数,因为它们使用OpenWhisk,而且它是一个由apache支持的非常酷的开源项目 我假设仅仅在yml中更改提供者是行不通的,因为openwhisk函数的签名与lambda不同。此外,我在函数中使用上下文对象,但openwhisk不会将其作为参数传递 我怎样才能切换?(或者我应该说是移民?) 如果我不能以透明的方式切换到另一个提供商,为什么它会说无服务器是云不可知的 提前谢谢 无服务器框架是一种工具,它可

我已经在AWS Lambda上使用无服务器框架部署了一些函数。我想将提供程序切换到IBM函数,因为它们使用OpenWhisk,而且它是一个由apache支持的非常酷的开源项目

我假设仅仅在yml中更改提供者是行不通的,因为openwhisk函数的签名与lambda不同。此外,我在函数中使用上下文对象,但openwhisk不会将其作为参数传递

我怎样才能切换?(或者我应该说是移民?) 如果我不能以透明的方式切换到另一个提供商,为什么它会说无服务器是云不可知的


提前谢谢

无服务器框架是一种工具,它可以处理所有耗时的任务,如果不使用web控制台,则需要手动执行这些任务,并允许您在给定提供程序的基础结构上快速安装处理程序函数,但实际上它不会以任何方式转换这些函数,当您在AWS或Azure web控制台中看到这些函数时,您可以看到这些函数(我假设IBM也是如此,但我还没有使用该提供程序)

这意味着,当提供者之间存在任何差异时——比如不同的上下文对象、不同的事件数据、不同的请求响应方式等等——您当前需要自己处理这些差异

当我第一次发现它时,这也让我感到惊讶,我的想法是编写一个简单的抽象层来处理AWS和Azure之间的差异,并将处理程序编写到该通用抽象,而不是目标提供程序

如果这对其他人有用的话,我想我可能会为无服务器框架开源这个微框架

但底线是,据我所知,在撰写本文时,无服务器框架本身并不能处理部署到不同提供者的函数之间的差异。如果我错了,请在评论中纠正我。

谢谢你的回答:)我个人很想看到你开发的微框架。我们也在考虑开发一些抽象层,唯一的遗憾是该函数的功能将局限于不同环境的“gcd”(即,不再可能使用aws支持的context.memoryLimitInMB)