Amazon web services 为什么sam包将工件发布到bucket?

Amazon web services 为什么sam包将工件发布到bucket?,amazon-web-services,aws-lambda,aws-sam-cli,aws-sam,Amazon Web Services,Aws Lambda,Aws Sam Cli,Aws Sam,作为打包SAM应用程序的一部分,该应用程序发布到s3 bucket,如下所示: sam包--模板文件sam.yaml--s3 bucket mybucket--输出模板文件output.yaml 为什么sam包提供了--s3 bucket选项?这是强制性的选择吗 将工件发布到s3 bucket的目的是什么?--sam package命令中的s3 bucket选项是必需的。该命令的作用是获取本地代码,将其上载到S3并返回转换后的模板,其中本地代码的源位置已替换为S3 bucket URI(S3

作为打包SAM应用程序的一部分,该应用程序发布到s3 bucket,如下所示:

sam包--模板文件sam.yaml--s3 bucket mybucket--输出模板文件output.yaml


为什么
sam包
提供了
--s3 bucket
选项?这是强制性的选择吗

将工件发布到s3 bucket的目的是什么?

--
sam package
命令中的s3 bucket
选项是必需的。该命令的作用是获取本地代码,将其上载到S3并返回转换后的模板,其中本地代码的源位置已替换为S3 bucket URI(S3 bucket中对象压缩代码的URI)

将工件上传到S3的主要优点是,部署AWS网络中已经存在的代码比在部署期间通过Internet发送代码更快

另一件事是,简单的CloudFormation允许您内联lambda函数代码,而无需将其推送到S3,但这种方法存在局限性。如果您的lambda函数需要使用外部库,这些库不是AWS为特定运行时提供的lambda环境的一部分,或者您的函数的大小很大,那么您仍然需要压缩函数的代码及其依赖项,并在继续之前将其上载到S3。SAM只是让这对你来说更容易,这样你就不必手动完成这一步