尝试整理sam build
和相应的.aws-sam
文件夹的必要性。它包含我template.yaml,我的lambda应用程序文件夹,其代码,node_modules等的相同副本。它似乎并没有用于sam invoke local
,因为它与我的顶级代码完全一样。调用sam package
和sam deploy
时使用吗?如果是这样,如果我不先sam build
,为什么这些命令在顶级代码上也能正常工作?
最终,我想知道除了sam local invoke
之外,使用SAM CLI的意义还在于什么,因为上面提到的所有其他命令都是aws cloudformation
的别名。我可以编写我的顶级代码并运行:
aws cloudformation package \
--template-file template.yaml \
--output-template-file packaged.yaml \
--s3-bucket foo
和
aws cloudformation deploy \
--template-file packaged.yaml \
--stack-name stackName \
--capabilities CAPABILITY_IAM
部署堆栈。对编写和打包/部署这种方式有任何警告吗?