问题标签 [serverless-application-model]
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 - 使用 SAM AWS 部署带有 HTTP 端点集成的 REST API?
我是 AWS SAM 部署的新手。我有一个使用 SAM AWS 自动部署的用例。拥有一个带有另一个 HTTP 端点调用的 Rest API GW。我搜索了更多文档,但没有找到任何解决方案。你能建议我怎么做这个案子吗?
提前致谢。卡西克扬 B
amazon-web-services - AWS SAM 部署配置问题
我已经使用 Node JS 和 AWS Lambda 设置了一个简单的无服务器 rest api。
使用 AWS SAM 完成部署
以下是 SAM 模板:
这很好用,但下面是我对创建的堆栈的观察。它创建了两个 AWS Lambda 函数,而不是一个。
两者都包含两个列出的 API -
它不能只包含内部有这两个处理程序的 Lambda 函数吗?
handler.js 文件:
amazon-cloudformation - 在 Aws 控制台模板选项卡中隐藏 CloudFormation/SAM 机密
假设我在 Cloud Formation(或 SAM)模板中有以下秘密,我将其作为堆栈的一部分部署到我的 AWS IAM 账户(当然,SecretString 的敏感值由运行云形成部署的脚本动态分配) :
当我检查 aws 控制台上的堆栈页面时,我注意到“模板”选项卡以纯文本形式显示了整个模板,包括这个秘密。
这对我来说似乎非常不受欢迎,我想知道是否有某种方法可以减轻我遗漏的情况。虽然只有有权访问 IAM 帐户的人才能访问 aws 控制台,但除非有人特别要求查看它们,否则以纯文本形式弹出秘密似乎是不可取的。
有人知道减轻这种情况的好方法吗?
python-3.x - 为什么 AWS SAM 给我随机的 DynamoDB 表名
当我使用 SAM 创建我的 Lambda、API 网关和 DynamoDB 表时,它都可以正常工作,直到我到达实际创建的表。它应该被称为“列表”,但是在“列表”这个词之后它给了我一堆随机数字和字母。我想要做的是,当所有 3 个服务都创建后,它们应该相互通信,但是由于我遇到了这个问题,我必须手动将名称添加到我的函数中才能正常工作。
---------- 这是我为表创建项目的 Lambda 函数代码。
aws-lambda - CloudFormation 堆栈和无服务器应用程序之间的区别(发布到存储库)
考虑到私有应用程序,我很难理解 CloudFormation 堆栈和发布到存储库的无服务器应用程序之间的区别。
我有一个带有几个功能的 SAM 模板。然后build
,我使用package
SAM deploy
CLI。此时我有一个 CF 堆栈,我可以使用boto3
python lib 调用我的函数。
我们publish
命令的目的(发布到无服务器应用程序存储库)是什么?如果我将我的应用程序发布为私有,我将如何通过该应用程序调用我的函数。在我看来,执行这些功能仍然会以与不发布它相同的方式完成。
javascript - AWS 使用 Node.js 开发工具包调用本地 Lambda 端点
在SAM 文档中,显示了部署您自己的 lambda 端点并使用 Python SDK 调用它的可能性。
您只需要启动本地 lambda 端点,sam local start-lambda
然后继续
我现在的问题是,我怎样才能对 Javascript SDK 做同样的事情?我总是收到关于缺少区域、未找到主机和不受支持的参数的不同错误。你有我的解决方案吗?
node.js - 如何使用 SAM CLI 部署 API 网关、Lambda(Node.js) 和 DynamoDB?
我正在尝试在我的本地系统中创建一个应用程序并使用 SAM CLI 将其部署到 AWS 云。该应用程序的基本轮廓如图所示。
我为此应用程序创建了一个名为myproj的目录,所有子文件夹和文件如下图所示。
template.yaml文件包含以下代码-
在functionRead文件夹中,package.json具有以下内容 -
read.js文件包含以下代码 -
在functionWrite文件夹中,文件package.json具有以下内容 -
并且文件write.js具有以下内容 -
然后,我导航回终端中的myproj目录并运行命令sam build
。构建完成后,我运行命令sam deploy --guided
并按照步骤将堆栈部署到云端。然后,我检查了控制台以确认部署,并且成功。然后,在终端中,我跑了 curl -X POST -d '{"id":"one","name":"john"}' https://0000000000.execute-api.ap-south-1.amazonaws.com/Prod/writedb
. 但我得到了{message : 'Internal server Error'}
。
为了确认 lambda 和 dynamoDB 是否正确链接,我转到 Lambda 控制台并为名称为write.js的 lambda 函数创建了一个测试事件,具有相同的有效负载。它成功运行并将这两项输入到 dyanmoDB 表中. 同样,我为 lambda 函数创建了另一个测试事件,名称为read.js和 payload 。它也成功运行并显示了数据。{"id":"one","name":"john"}
{"id":"one"}
为了确认 API 网关和 lambda 是否正确链接,我在 API 网关中对资源/writedb
和进行了测试/readdb
,但它给了我{message : 'Internal server Error'}
.
请帮我解决这个问题。
serverless-framework - provider.logRetentionInDays 未按预期工作
我正在使用无服务器框架版本 2.11.0
尝试部署时,它会引发无服务器错误:
但它没有显示任何允许的值。同样在我的情况下,我将值设为 90(整数)。我做错了什么?
amazon-web-services - 如何通过 AWS SAM 模板创建具有自动扩展吞吐量的 DynamoDB 表
我正在尝试创建一个 AWS SAM。我的 Lambda 对 DynamoDB 表进行了一些写入操作,并且表配置的吞吐量应该是 Autoscaled。我如何在template.yml
文件中提及?
这是我的表定义