在已创建的资源上部署 lambda 函数
Posted
技术标签:
【中文标题】在已创建的资源上部署 lambda 函数【英文标题】:Deploy lambda function on already created resources 【发布时间】:2020-12-20 17:18:18 【问题描述】:我面临一个挑战,即程序化帐户无权创建资源。通常,无服务器通过上传 Cloudformation 模板并要求 Cloudformation 创建堆栈来通过 Cloudformation 创建资源。 在这种情况下,不会有这样的堆栈,但是已经为我创建了所需的资源。 我想在已经手动创建的 API 网关、S3 存储桶、Lambda 角色、Lambda 函数等现有资源上部署 lambda 函数和所有代码。
是否可以绕过 cloudformation ?要么 是否可以在每个资源的 arn 中提及 serverless.yml 中的所有这些资源,其中 serverless 不会创建堆栈,只是将 zip 文件上传到 S3 存储桶,然后解压缩 lambda 函数中的所有代码?
【问题讨论】:
看到这个答案***.com/questions/41452274/… 【参考方案1】:在做了大量研究并通过thread 之后,我得出一个结论,在serverless 框架中,到目前为止,没有办法绕过 Cloudformation,因为它使用 Cloudformation 来检查资源是否创建与否。如果不是,它将创建它。目前,我们可以传递的唯一现有资源是可供将要部署的 Lambda 函数使用的 Lambda 角色、Cloudformation 角色、vpc id、子网和 s3 存储桶。 这是 serverless.yml 的 template,其中包含所有可能的操作。
【讨论】:
以上是关于在已创建的资源上部署 lambda 函数的主要内容,如果未能解决你的问题,请参考以下文章
未能在已部署的 emberjs 应用程序上的资源的“完整性”属性中找到有效的摘要