12得票4回答
AWS SAM在Hello World模板下部署出现错误

我目前正在处理AWS无服务器Lambda函数的部署,并尝试使用AWS SAM进行分发和测试。然而,当我按照官方网站上的AWS SAM“Hello World”模板教程时,我无法将代码真正部署到AWS。 我已经: 分配了一个工作中的IAM账户 安装了我们需要用于AWS SAM的每个包(br...

12得票1回答
在SAM模板中定义一个AWS::Serverless::Function时,指定多个API阶段和Lambda别名。

我想实现的目标是编写一个SAM模板,以获取由Api Gateway事件触发的Lambda函数。我希望有多个API阶段(例如“dev”,“testing”,“prod”),我希望每个阶段都映射到具有相同名称的Lambda别名。我更喜欢不在每次部署时生成新的lambda版本,并手动设置要由每个la...

12得票3回答
如何以安全的方式在template.yaml文件中添加环境变量?

通过 SAM CLI 使用template.yaml创建Lambda函数时,我必须传递一些环境变量,并且它们不应该在GitHub上公开。是否有任何方法可以通过`.env`文件在`template.yaml`中引用环境变量? 我没有找到任何相关资料。 来自template.yaml的示例代码...

12得票4回答
如何在Linux上安装AWS SAM CLI而不使用Brew

2020年12月更新 AWS的Github问题是“提供无需Homebrew安装的Linux版本 #1424”。请在Github问题中监控最新状态。 AWS最终决定提供非brew方法。 我们目前正在进行工作,通过pyinstaller提供更好的安装体验。在短期内,我们将继续发布到brew以支持...

11得票4回答
SAM CLI可执行文件未找到 - Pycharm

我正在尝试配置PyCharm以运行Lambda函数。 首先,在AWS Toolkit中选择SAM CLI可执行文件,这一步很顺利: 然而,当我想要添加一个Lambda运行配置时,PyCharm会显示:“无效的sam可执行文件:“系统找不到指定的路线。” 我的系统PATH变量: 请...

11得票3回答
使用sam deploy ---guided时出现“安全约束未满足错误”的原因是什么?

我正在尝试跟随Hello World样例来部署AWS无服务器应用,但是使用命令sam deploy --guided时,出现“安全限制未满足”的错误。根据教程,我在每个提示处按Enter接受了默认值。 有趣的是,如果我使用VS Code的AWS Toolkit扩展程序部署应用程序,则可以正常...

10得票2回答
为什么Sam构建命令会显示警告“ServerlessRestApi”是保留的逻辑ID?

我使用sam init创建了示例应用程序。当我运行sam build时,会收到警告: 您的模板包含具有逻辑ID“ServerlessRestApi”的资源,这是AWS SAM中保留的逻辑ID。它可能导致意外行为,不建议使用。 然而,该模板并没有这个逻辑ID。为什么build会生成此警告? 重...

10得票4回答
在本地运行 AWS SAM CLI 时启用 CORS

无论何时我尝试通过浏览器使用POST访问无服务器Lambda函数,都会出现以下错误:响应的预检请求未通过访问控制检查:请求的资源上没有'Access-Control-Allow-Origin'标头。当使用/GET时,一切正常。据我了解,这是因为它没有发送预检请求。但当我把它改为POST时就会失...

10得票1回答
IntelliJ IDEA配置无法在默认的“helloworld”应用程序中找到AWS Lambda处理程序

当为默认的IntelliJ IDEA Java helloworld应用程序(在创建新的AWS Lambda项目时创建)设置调试配置时,会显示以下响应: 错误:在项目中找不到处理程序'helloworld.App :: handleRequest'。 为了解决这个问题,我尝试编辑t...

10得票1回答
如何从AWS SAM获取堆栈输出?

我希望在我的无服务器项目上执行自动集成测试。为了做到这点,我需要以某种方式获取API端点。Serverless框架已经有用于此目的的插件serverless-stack-output。但是我想知道,在我部署应用程序后,如何使用AWS SAM实现类似的功能。同时,如果我能够以某种方式获得我的AP...