问题标签 [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 - 试图让 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?
amazon-web-services - 如何在本地部署和测试在 .Net Core 中创建的 AWS 无服务器应用程序(API 网关)?
我是AWS 服务器少编程的新手。我创建了一个示例应用程序。使用 [.Net Core 1.0] 的博客(Visual Studio 提供的示例),现在我想在本地部署并测试它。我已经尝试过AWS SAM Local和LocalStack,但我很困惑,因为 .Net Core 应用程序没有明确的解释或步骤。
谁能为我提供在本地部署和执行此应用程序的明确步骤?
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
aws-lambda - 云形成 lambda 未从代码构建中选择 jar
我尝试使用 Code Pipeline 来自动化代码部署。它使用 wiki 中提到的 Git Hub -> Code Build -> Cloud Formation
在这个线程建议的一些更改之后,我设法让管道运行
但是,每当我使用代码管道时,Lambda 测试都会失败,说找不到该类。
为了验证,我直接在 AWS lambda 控制台中上传了 jar,它运行良好。
我还验证了由 S3“MyAppBuild”文件夹中的 aws 代码构建构建的 jar,它在 zip 文件中包含 target/app-1.0-SNAPSHOT.jar 中的 jar 文件以及我的 SamTemplate.yml。
这是 SamTemplate.yml
这是 buildSpec.yaml
有什么建议可以尝试吗?我使用 Maven。
node.js - AWS lambda nodejs 运行时:io:在封闭管道上读/写
我正在尝试从一个lambda
函数执行几个异步请求。第一次调用resolveEndpoints()
成功,第二次失败
处理程序是:
如果我删除resolveEndpoint()
呼叫然后getAuthToken()
成功。
resolveEndpoint()
返回一个在请求完成后解决的承诺。
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 上加快速度,如果这个问题很愚蠢,很抱歉。
蒂亚!
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。
python - Sam local内部的mysql数据库连接
我正在尝试为无服务器架构进行本地开发设置。亚马逊为此提供了 SAM Local Beta。但在我的项目中,我们使用的是 mysql 数据库。我正在尝试连接到我的本地 mysql 服务器,但它失败了。
下面是我的python代码:
我可以使用命令行和 pycharm 进行连接。
我的问题是这在 SAM local 中是可能的。
我已经安装了 mysql 的 docker 映像并启动了它。在此之后,我仍然遇到同样的错误。
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
在普通目录的末尾或如何解决它。
有任何想法吗?
amazon-web-services - Cloudformation 模板到 SAM 还是无服务器?
我想扩展lambCI cloudformation模板,但发现自己迷失在它提供的大麦人类可读的json/yml中。
是否可以将 CF 模板反向转换为其他内容(sam、serverless ...),对其进行编辑然后转换回来?