问题标签 [sam]
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.
python - 本地调用 AWS SAM(lambda) python 代码时出现“没有名为‘requests’的模块”错误
我最近开始使用 AWS SAM 来构建 API 和 AWS Lambda。该代码在 AWS 中运行良好,但我在设置本地测试和调试时遇到了一些困难(这是我首先想使用 SAM 的主要原因之一)。
lambda_handler 函数非常简单。它看起来类似于下面。我只是在运行我的函数,比如 some_function_here,它在依赖函数之一中使用“请求”模块。在 SAM 项目的 requirements.txt 中,我有“请求”以及其他一些依赖项。这似乎完成了它的工作,因为我可以看到请求被安装在 AWS Lambda 中(下面的屏幕截图)。
令人惊讶的是,当我在本地运行 SAM 时(在 VsCode 上,我按 F5)。当我运行时sam local invoke
(因为我不需要事件),当它应该根据“requirements.txt”下载请求时,我收到一条错误消息“没有名为请求的模块”,就像它在 AWS 云上所做的那样。任何建议表示赞赏。
Lambda 处理程序代码
错误
amazon-web-services - API 网关与 Lambda 代理集成的 API 文档
我定义了一个 SAM 应用程序,在 API 网关后面只有几个 Lambda”
显然,API Gateway 对代理资源了解不多,例如:
- 代理路径
- 请求模型
- 响应模型
从 API Gateway 阶段生成的文档反映了这一点:
有没有办法为 API Gateway 提供缺失的位(代理路径、响应模型、请求模型)?最终我需要一个足够好的文档来生成客户端代码/允许一些集成测试。类似的问题在这里-> Aws lambda proxy Swagger template integration
amazon-web-services - docker AWS SAM本地未连接到docker dynamodb
所以在生成 AWS SAM 模板 'web-backend' lambda 后,我的函数没有连接到我的 dynamodb docker 实例。
这是我正在使用的 JavaScript 代码:
并在我的终端中运行:
&
点击生成的端点http://127.0.0.1:3000/
,终端会给出错误:
如果我尝试通过邮递员击中 dynamodb,我会得到:
所以 dynamodb 服务器正在运行,因为我可以通过 noSQL 工作台连接到它,但我的假设是 sam 本地 api 的 docker 容器看不到 dynamodb 的 docker 容器?
任何想法将不胜感激!谢谢。
amazon-web-services - 如何设置 AWS VPN 端点以访问 SAM Cloudfront
我在 SAM 架构下建立了一个基于 CloudFront 的静态网站。
我想通过使用 aws VPN 端点在客户端机器和网站之间设置 VPN。我知道我需要设置 VPN 端点和 VPC,但不知道 VPC 在客户端 VPN 和 VPC 之间成功建立 VPN 连接后如何访问基于 Cloudfront 的网站。
有谁知道如何设置从客户端 VPN 访问云端?
kotlin - 实现 SAM 时,lambda 表达式中的这个是谁?
我有以下界面(SAM):
在一个类中,(让我们称之为ClassA类)我写了以下代码:
我不明白为什么在ParseJsonStringOnInit的第一个参数中,这被认为是ClassA而不是VolleyHandler.WebResponseHandler?这是使用SAM时的约定吗?
amazon-web-services - AWS CloudFormation 伪参数在本地不正确
我正在使用 SAM 开发 AWS 无服务器应用程序。我的template.yaml有这一行用于定义 S3 存储桶名称:
当我使用变量部署到 AWS 时,sam deploy
这些变量被正确替换。但是当我在本地执行 lambda 函数时,生成的字符串是local-visit-attachments-123456789012
. 我找不到local
和123456789012
来自哪里,因为我在配置中的任何地方都没有它们。
我怎样才能使它在本地使用与我部署到 AWS 时相同的值?
python - 让 sam 忽略 requirements.txt
所以我使用 AWS SAM 来构建和部署一些功能到 AWS Lambda。由于我的连接速度很慢,上传功能很慢,所以我决定在其中创建一个带有需求的图层。所以下次我尝试部署功能时,我不必上传所有 50 mb 的需求,我可以使用已经上传的层。
问题是我找不到任何参数可以让我忽略需求文件并只部署源代码。
甚至可能吗?
amazon-web-services - FunctionName 的调用容器没有响应
尝试使用以下命令将dockerized Lambda端口转发到我的本地主机:
每次尝试访问 Lambda 时都会出错:
FunctionName 的调用容器没有响应
也尝试使用host.docker.internal和host.docker.local网络但没有成功。
有任何想法吗?解决方法?
aws-lambda - 如何以安全的方式在 template.yaml 中添加环境变量?
在使用 SAM CLI 创建 Lambda 函数时template.yaml
,我必须传递一些环境变量,它们不应该在 GitHub 上公开。有什么方法可以template.yaml
通过.env
文件引用环境变量吗?
我没有找到任何相同的来源。
来自 template.yaml 的示例代码片段:
postgresql - AWS SAM golang lambda localhost连接拒绝postgres
我无法将 AWS SAM lambda 函数连接到本地 postgres 实例。我稍后会具体说明,但首先让我说相同的代码适用于我的同事,并且我尝试在 docker 容器中使用 Postgres 以及手动安装。为了简化问题,我从 SAM helloworld golang 示例重新开始,并添加了以下内容:
我收到以下错误:
SAM CLI,版本 1.21.1
我现在已经在两台机器上尝试过这个并且得到了同样的错误。有什么我只是想念的吗?我可以确认数据库正在接收连接正常。我每天都从节点应用程序中点击它。另外,我可以在 SAM 之外构建 golang 代码,它可以正常工作。所以我的 SAM 设置有问题。