作为打包SAM应用程序的一部分,发布到s3桶的应用程序如下所示:
sam package --template-file sam.yaml --s3-bucket mybucket --output-template-file output.yaml
为什么sam package提供--s3-bucket选项?这是强制性的选择吗?
将工件发布到s3桶的目的是什么?
发布于 2019-07-21 06:58:43
--s3-bucket选项在sam package命令中是强制性的。该命令所做的是接受本地代码,将其上传到S3,并返回转换后的模板,其中本地代码的源位置已被替换为S3桶URI (对象压缩代码的URI--在S3桶中)。
将工件上传到S3的主要优点是部署在AWS网络中的代码比在部署期间通过Internet发送代码要快。
另一件事是普通的CloudFormation,让我们内联lambda函数代码,而不将它推到S3,但是这种方法有其局限性。如果您的lambda函数需要使用外部库,这些库不是AWS为特定运行时提供的lambda环境的一部分,或者您的函数的大小很大,那么您仍然需要压缩函数的代码及其依赖项,并在继续之前将其上传到S3。SAM只是使您更容易这样做,这样您就不必手动执行此步骤。
https://stackoverflow.com/questions/57121977
复制相似问题