如何从serverless.yml文件中提取REST API ID和资源ID?

时间:2019-06-04 18:34:32

标签: node.js aws-serverless

我正在使用AWS updateIntegrationResponse函数,并且需要一种从serverless.yml文件动态获取restApiId和resourceId值的方法。我该怎么做?

我已经浏览了我正在使用的serverless.yml文件中列出的所有内容,并且其中没有任何字段存储任何值。

1 个答案:

答案 0 :(得分:0)

无服务器创建一个CloudFormation堆栈,名称格式为{yourServiceName}-{yourStage}。该堆栈的输出之一是由Serverless创建的REST API网关的API ID,您可以在脚本中获取它。使用API​​ ID,您可以列出资源,然后尝试通过CLI API查找正确的资源。

我不确定您要使用RaiseCanExecuteChanged()来完成什么,但是最有效的方式来实现所需的功能可能是实现一个小型的无服务器插件来在部署时执行此操作。在插件中,您可以访问由Serverless创建的完整CloudFormation堆栈,并可以找到所需的ID-Serverless倾向于根据updateIntegrationResponse中的函数名称为资源创建可预测的名称。