问题标签 [aws-sam-cli]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - Lambda 无法访问 KMS 密钥
当我运行我的 lambda 代码时,我收到以下错误:
The ciphertext refers to a customer master key that does not exist, does not exist in this region, or you are not allowed to access.
我主要是按照这个来使用 aws-sam-cli 创建堆栈,模板的相关部分位于代码下方。
相关代码为:
template.yaml 文件的相关部分是:
KMSDecryptPolicy
不允许使用密钥吗?我错过了什么?谢谢!
编辑:将模板更改为下面的作品,但如果可能的话,我真的很想KMSDecryptPolicy
在 lambda 定义中使用。
amazon-web-services - cloudformation 堆栈中的内部转换错误
部署此模板时出现“内部转换”错误。我使用映射来转换开发和产品设置。这适用于单个值,但 cloudformation 在尝试转换事件配置时感到窒息。这通过aws cloudformation validate-template
了我的配置有什么问题?:
我使用映射来转换开发和产品设置。这适用于单个值,但 SAM 在尝试转换事件配置时感到窒息,我的配置有什么问题?:
node.js - AWS SAM FindInMap 未填充变量
我正在尝试使用 !FindInMap 内在函数获取一个简单的 SAM 模板来“动态”填充环境变量。我遵循了许多示例,包括 AWS 的文档,但没有任何运气。由于某种原因,即使一切似乎都是正确的,该函数也不会使用它填充环境变量。它只会将变量设置为空字符串。
您可以从下面的代码中看到,我在其中使用了一个 !Ref 函数,但尝试硬编码该函数的参数却没有任何运气。您还会注意到该功能在该Global
部分中,并且您可能认为它不起作用,因为它在那里而不是功能环境,但我已经尝试过两者都没有工作。您还会注意到我正在填充一个名为的环境变量STAGE
,它工作正常并将其设置为"local"
.
我正在通过sam start local-api
在响应中运行和输出环境变量来测试该功能。
任何建议都会非常有帮助。
amazon-web-services - AWS SAM CLI 超时
我正在 AWS lambda 中创建一个处理程序,它为我的单页应用程序 (SPA) 返回一个文件。该函数运行速度很快(几毫秒)。但我仍然必须几乎同时运行多次,然后它们超时。我的超时时间是 60 秒。我认为这与 docker 有关,但我不太确定。有什么我可以做的吗?
这是我的代码:pastebin.com/TdqAu3Gx
!与执行时间相比,即使使用其他函数也需要更多时间来获得响应。
编辑:
一段时间后,我在 Netlify 上发布了前端。但是在做了一些功能之后,我遇到了同样的错误。fowoling 代码在 aws sam local 中工作。
但在实际中不起作用的是 lambda。(它有效,但我得到了完整的 json,因为 exaple 标头的文本未在响应中设置,但我可以将它们视为正文中的文本)。如果我分别更改events.APIGatewayProxyResponse
and events.APIGatewayProxyRequest
toMyRequest
和一个字符串,它在 lambda 中工作,但在 sam local 中超时。在我的template.json
下面Resources
我有:
如何使代码同时在 AWS Lambda 和 SAM Local 上运行?如果有人有一个可以在 SAM 和 AWS 上运行并且可以开源的 sam 应用程序的工作模板,我将非常感激。
aws-lambda - SAM 可以创建 s3 存储桶来存储 lambda 函数代码吗?
也许这不仅仅是一个问题。尝试注册 SAM Slack 频道,但没有成功。
我正在尝试使用 SAM 构建无服务器应用程序。我习惯于使用 Cloudformation 模板来描述所需的所有资源。现在我很困惑为什么 SAM 的 cli 要求我将 s3 存储桶传递到哪里来上传 lambda 函数代码。我通常希望创建 s3 存储桶(具有随机名称)是 Cloudformation 模板执行的一部分。SAM 是 Cloudformation 的扩展还是不是?
在我的template.yaml
我有这样的事情:
如何在 CodeUri 中引用 SrcBucket?
python-3.x - sam local start-api 在本地测试 SAM 应用程序时出错
嗨,我有一个 sam 应用程序,它有一个 lambda 函数,可以从按预期工作的 rest 端点调用,但是当我尝试使用 sam local start-lambda 或 sam local start-api 或 sam local invoke 在本地测试 sam 应用程序时,我得到了错误为:
使用山姆版本
这是因为我没有在我的本地运行 docker 还是需要一些其他配置。我有一个用于 SAM 应用程序的 .py 类和 template.yml 文件。
amazon-web-services - 通过控制台创建 sam 应用程序时,在 template.yml 文件中附加一个预先存在的角色
我正在尝试通过 sam-cli 创建一个具有预先存在的角色的 sam 应用程序。默认情况下,sam clil 使用基本的 lambda 执行策略创建新的用户角色,但是因为我想在我的 sam 应用程序上运行 x-ray,所以我想要应用程序使用现有用户角色创建。
这是我的 template.yml
我怎样才能做到这一点。
发现这篇关于堆栈溢出的文章,但并没有真正帮助我将现有的 IAM 角色与 CloudFormation 中的 EC2 实例相关联
amazon-web-services - 在 AWS SAM 中使用 !Ref 设置环境变量?
我正在使用 SAM CLI v0.8.1。我正在尝试将环境变量 MY_TABLE_VAR 设置为我的资源(MyTableResource)中的表名。但是,在本地运行我的应用程序时, MY_TABLE_VAR 未定义。你能告诉我我的模板有什么问题吗?我该如何正确设置它?以下是我的 SAM 模板:
python - 为 sam 应用程序在 template.yaml 中的 codeUri 中导入通用 python 文件
我有以下文件夹结构
现在我将使用 template.yaml 创建将 util.py 包含在两个 lambda 函数代码 uri 中。这样我就不必在 lambda1 文件夹和 lambda2 文件夹中维护相同 util.py 的两个副本。
这是我正在使用的 template.yaml:
我如何在 lambda 2 中导入这个常见的 util.py
amazon-web-services - SAM 模板:Cognito 用户池集成在 APIgateway 中 - 授权方不起作用
我想在我的应用程序中集成 Cognito 令牌。
我如何在 AWS Sam 模板中做到这一点?要更新我的模板,我查看https://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/apigateway-enable-cognito-user-pool.html?shortFooter=true
信息:
- 我的 UserPool 是在 AWS 控制台中创建的(在 Web 上)
- 我用没有标题的邮递员进行测试:如果它有效,我应该被拒绝 ==> 现实:我有结果(我的授权人不起作用)
==========================
我的问题是:为什么 Authorizer 不起作用?