Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
Aws lambda 如何将无服务器应用于现有API网关_Aws Lambda_Aws Api Gateway_Serverless - Fatal编程技术网

Aws lambda 如何将无服务器应用于现有API网关

Aws lambda 如何将无服务器应用于现有API网关,aws-lambda,aws-api-gateway,serverless,Aws Lambda,Aws Api Gateway,Serverless,最近我使用无服务器框架创建/部署AWS lambda函数/API网关。部署Lambda/API是一种非常酷的方法,但我不知道如何将其应用到现有的awslambda/API 有没有办法不删除现有的一个,然后使用serverless重新创建,因为我有几十个现有的lambda函数和API 否。您可以通过指向Serverless.yml中这些函数的特定ARN来重用lambda函数,但如果没有手动干预和使用Serverless重新创建,目前无法“替换”API网关组件 好处是,除非您使用AWS API网关中

最近我使用无服务器框架创建/部署AWS lambda函数/API网关。部署Lambda/API是一种非常酷的方法,但我不知道如何将其应用到现有的awslambda/API


有没有办法不删除现有的一个,然后使用serverless重新创建,因为我有几十个现有的lambda函数和API

否。您可以通过指向Serverless.yml中这些函数的特定ARN来重用lambda函数,但如果没有手动干预和使用Serverless重新创建,目前无法“替换”API网关组件

好处是,除非您使用AWS API网关中目前不受无服务器框架支持的功能,否则它应该相对简单易懂

随着应用程序的增长,您可能需要将其拆分为多个更小的服务。默认情况下,每个无服务器项目都会生成一个新的API网关。但是,通过在
serverless.yml
中引用REST API ID和根资源ID,您可以在多个项目之间共享同一个API网关,如下所示:

服务:服务名称
供应商:
名称:aws
apiGateway:
restApiId:xxxxxxxxx#REST API资源ID。默认值由框架生成
restApiRootResourceId:xxxxxxxxx#根资源,表示为/path
Websocket API ID:xxxxxxxxx#Websocket API资源ID。默认值由框架生成
描述:部分描述#可选-部署历史记录描述
功能:。。。

这可能会有帮助吗?谢谢@mph85,但这不是我正在寻找的np np解决方案,我误解了,什么会阻止你将现有的Lambda函数插入
AWS Lambda
并让服务负责编译它和所有这些?但是如果我有一个complext apigateway设置呢?如何获取该api的serverless.template事件部分?@RoyiNamir您应该检查Cloudformation模板语法。Serverless基本上是复制这些选项,尽管这是可能的。