问题标签 [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.

0 投票
0 回答
2008 浏览

amazon-web-services - 试图让 aws-sam-local 提供我的 API

我有一个简单的项目。基本设置是这样的...

我运行 gulp 并最终得到一个build文件夹。它看起来像这样......

构建效果很好。我想在本地运行它,而不是每次进行更改时都将 ZIP 上传到 lambda 并将客户端目录上传到 S3。

为此,我正在运行aws-sam-local。是的,我已经docker安装并运行了。从我运行的项目文件夹中...

现在我可以打开浏览器并访问http://localhost:3000/来查看内容。正如预期的那样,我的静态文件(index.html)加载得很好。但是当我尝试访问 API 路由http://localhost:3000/test时,我得到了 404。

我的 sam.yaml

我的招摇.yaml

如何让aws-sam-local运行我的 lambda API?

0 投票
1 回答
845 浏览

amazon-web-services - 如何在本地部署和测试在 .Net Core 中创建的 AWS 无服务器应用程序(API 网关)?

我是AWS 服务器少编程的新手。我创建了一个示例应用程序。使用 [.Net Core 1.0] 的博客(Visual Studio 提供的示例),现在我想在本地部署并测试它。我已经尝试过AWS SAM LocalLocalStack,但我很困惑,因为 .Net Core 应用程序没有明确的解释或步骤。

谁能为我提供在本地部署和执行此应用程序的明确步骤?

0 投票
1 回答
417 浏览

amazon-web-services - AWS sam local possible to acces a local webpage

Is it possible to access the aws api gateway in aws SAM local with a webpage? at the moment I have everything running local (amazon DynamoDB, (aws lambda, aws api gateway with aws sam local)) but I can't access the api's with a ajax call because I have no rights is there an option to give it rights or disable the rights so I can test my real ajax calls?

update1: solved the CORS prob with an addon for chrome that enables it all the time for itself but now i can see my output in the previeuw in the developer options of chrome (F12) but i still get a 502 bad gateway, any idea why this is?

update2: okay solved that problem to, but now i want to do a post from my webpage true my api gateway true my lambda to my DynamoDB i know i can use the event in the lambda exports.post = (event, context, callback) but it is just plain empty in the body so i cannot get anything in it so i can't get anything out of it. the curl statement i use: curl -d '{"id": 8}' http://127.0.0.1:3000/resource i can just see: body: '\'{id:', as you can see no 8 in it to use. anybody got any answer or work around?

many thanks Liam

0 投票
1 回答
1150 浏览

aws-lambda - 云形成 lambda 未从代码构建中选择 jar

我尝试使用 Code Pipeline 来自动化代码部署。它使用 wiki 中提到的 Git Hub -> Code Build -> Cloud Formation

Lambda 的 AWS 自动化

在这个线程建议的一些更改之后,我设法让管道运行

但是,每当我使用代码管道时,Lambda 测试都会失败,说找不到该类。

为了验证,我直接在 AWS lambda 控制台中上传了 jar,它运行良好。

我还验证了由 S3“MyAppBuild”文件夹中的 aws 代码构建构建的 jar,它在 zip 文件中包含 target/app-1.0-SNAPSHOT.jar 中的 jar 文件以及我的 SamTemplate.yml。

这是 SamTemplate.yml

这是 buildSpec.yaml

有什么建议可以尝试吗?我使用 Maven。

0 投票
1 回答
1736 浏览

node.js - AWS lambda nodejs 运行时:io:在封闭管道上读/写

我正在尝试从一个lambda函数执行几个异步请求。第一次调用resolveEndpoints()成功,第二次失败

处理程序是:

如果我删除resolveEndpoint()呼叫然后getAuthToken()成功。

resolveEndpoint()返回一个在请求完成后解决的承诺。

0 投票
2 回答
3811 浏览

amazon-web-services - 如何使用 Dockerized SAM Local 设置调试

我正在使用带有 Node.js 的 AWS Lambda 开发一个项目。我们使用 Docker 容器作为我们的开发环境。

我们当前的设置在端口:3000 上启动了本地 AWS SAM。它运行 start-api 并将函数安装在我的 template.yml 文件中。我使用邮递员测试这些函数以将 JSON 发送到已安装的 API 端点,如下所示:http: //127.0.0.1 :3000/foo

Docker 设置还在 :4000 上启动了一个单独的 Node.js 实例。

如上所述,我能够在本地测试 Lambda 的东西。但是,我想激活调试,以便我可以单步执行函数并检查变量,而不是使用console.log(). 我不知道如何编辑 Dockerfile / docker-compose.yml 来实现这一点。

这是我的 docker-compose 文件:

这是 SAM 的 Dockerfile,它位于一个名为“serverless”的目录中:

我已经尝试了在 docker-compose.yml 的 RUN 指令中将 --d 标志添加到“sam”服务的各种排列。例如:sam local start-api --host 0.0.0.0 --d 8080。然后我尝试更改端口映射以公开它。但是,我不知道如何让端口映射工作。一旦我到达端点,我就会收到端口错误。

当谈到 Lambda 的东西时,我仍然在 docker / docker-compose 和一个完整的 nube 上加快速度,如果这个问题很愚蠢,很抱歉。

蒂亚!

0 投票
2 回答
4686 浏览

debugging - Visual Studio 代码调试器未连接到 SAM Local

根据 AWS 文档,我正在本地启动 SAM,如下所示:

我的 launch.json 中有以下内容

但是当我启动 Visual Studio 调试器时,它说“无法连接到运行时确保运行时处于‘旧版’调试模式”

看起来好像很多人都对 Node.js 6 和 Visual Studio Code 有这个问题,但我似乎找不到答案……我使用的是 Visual Studio Code 1.18.1 版

我尝试将 "protocol": "Legacy" 添加到 launch.json 配置。我也尝试过使用--debug-port 而不是-d。我在 Windows 10 上。不确定问题是否特定于 Windows。

0 投票
5 回答
7717 浏览

python - Sam local内部的mysql数据库连接

我正在尝试为无服务器架构进行本地开发设置。亚马逊为此提供了 SAM Local Beta。但在我的项目中,我们使用的是 mysql 数据库。我正在尝试连接到我的本地 mysql 服务器,但它失败了。

下面是我的python代码:

我可以使用命令行和 pycharm 进行连接。

我的问题是这在 SAM local 中是可能的。

我已经安装了 mysql 的 docker 映像并启动了它。在此之后,我仍然遇到同样的错误。

0 投票
0 回答
529 浏览

amazon-web-services - 使用 AWS SAM 进行本地 AWS Lambda 测试

我希望在将脚本推送到 AWS Lambda 之前使用 AWS 的 SAM 在本地开发、测试和打包脚本。我正在使用 Docker Toolbox (17.10.0-ce) 和 AWS SAM (0.2.2) 来运行与实际 AWS Lambda 本身相同的代码 - 我知道它可以工作。我MyMainFunction.py的如下:

如下event.json

如下template.yaml

当我尝试在 Docker as 中运行命令时$ sam local invoke MyMainFunction --event event.json,出现错误,如下所示:

这显然与数量有关。然而,不幸的是,我大约五个小时前才开始使用 Dockers(并且从那以后一直在研究卷和挂载)所以我不确定为什么 Docker 会附加:/var/task:ro在普通目录的末尾或如何解决它。

有任何想法吗?

0 投票
1 回答
1252 浏览

amazon-web-services - Cloudformation 模板到 SAM 还是无服务器?

我想扩展lambCI cloudformation模板,但发现自己迷失在它提供的大麦人类可读的json/yml中。

是否可以将 CF 模板反向转换为其他内容(sam、serverless ...),对其进行编辑然后转换回来?