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

0 投票
1 回答
1309 浏览

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 云上所做的那样。任何建议表示赞赏。

AWS Lambda 文件夹结构

Lambda 处理程序代码

错误

0 投票
0 回答
146 浏览

amazon-web-services - API 网关与 Lambda 代理集成的 API 文档

我定义了一个 SAM 应用程序,在 API 网关后面只有几个 Lambda”

显然,API Gateway 对代理资源了解不多,例如:

  • 代理路径
  • 请求模型
  • 响应模型

从 API Gateway 阶段生成的文档反映了这一点:

有没有办法为 API Gateway 提供缺失的位(代理路径、响应模型、请求模型)?最终我需要一个足够好的文档来生成客户端代码/允许一些集成测试。类似的问题在这里-> Aws lambda proxy Swagger template integration

0 投票
3 回答
1052 浏览

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 容器?

任何想法将不胜感激!谢谢。

0 投票
1 回答
113 浏览

amazon-web-services - 如何设置 AWS VPN 端点以访问 SAM Cloudfront

我在 SAM 架构下建立了一个基于 CloudFront 的静态网站。

我想通过使用 aws VPN 端点在客户端机器和网站之间设置 VPN。我知道我需要设置 VPN 端点和 VPC,但不知道 VPC 在客户端 VPN 和 VPC 之间成功建立 VPN 连接后如何访问基于 Cloudfront 的网站。

有谁知道如何设置从客户端 VPN 访问云端?

0 投票
0 回答
47 浏览

kotlin - 实现 SAM 时,lambda 表达式中的这个是谁?

我有以下界面(SAM):

在一个类中,(让我们称之为ClassA类)我写了以下代码:

我不明白为什么在ParseJsonStringOnInit的第一个参数中,被认为是ClassA而不是VolleyHandler.WebResponseHandler?这是使用SAM时的约定吗?

0 投票
1 回答
185 浏览

amazon-web-services - AWS CloudFormation 伪参数在本地不正确

我正在使用 SAM 开发 AWS 无服务器应用程序。我的template.yaml有这一行用于定义 S3 存储桶名称:

当我使用变量部署到 AWS 时,sam deploy这些变量被正确替换。但是当我在本地执行 lambda 函数时,生成的字符串是local-visit-attachments-123456789012. 我找不到local123456789012来自哪里,因为我在配置中的任何地方都没有它们。

我怎样才能使它在本地使用与我部署到 AWS 时相同的值?

0 投票
2 回答
610 浏览

python - 让 sam 忽略 requirements.txt

所以我使用 AWS SAM 来构建和部署一些功能到 AWS Lambda。由于我的连接速度很慢,上传功能很慢,所以我决定在其中创建一个带有需求的图层。所以下次我尝试部署功能时,我不必上传所有 50 mb 的需求,我可以使用已经上传的层。

问题是我找不到任何参数可以让我忽略需求文件并只部署源代码。

甚至可能吗?

0 投票
1 回答
2294 浏览

amazon-web-services - FunctionName 的调用容器没有响应

尝试使用以下命令将dockerized Lambda端口转发到我的本地主机:

每次尝试访问 Lambda 时都会出错:

FunctionName 的调用容器没有响应

也尝试使用host.docker.internalhost.docker.local网络但没有成功。

有任何想法吗?解决方法?

0 投票
2 回答
3164 浏览

aws-lambda - 如何以安全的方式在 template.yaml 中添加环境变量?

在使用 SAM CLI 创建 Lambda 函数时template.yaml,我必须传递一些环境变量,它们不应该在 GitHub 上公开。有什么方法可以template.yaml通过.env文件引用环境变量吗?

我没有找到任何相同的来源。

来自 template.yaml 的示例代码片段:

0 投票
1 回答
389 浏览

postgresql - AWS SAM golang lambda localhost连接拒绝postgres

我无法将 AWS SAM lambda 函数连接到本地 postgres 实例。我稍后会具体说明,但首先让我说相同的代码适用于我的同事,并且我尝试在 docker 容器中使用 Postgres 以及手动安装。为了简化问题,我从 SAM helloworld golang 示例重新开始,并添加了以下内容:

我收到以下错误:

SAM CLI,版本 1.21.1

我现在已经在两台机器上尝试过这个并且得到了同样的错误。有什么我只是想念的吗?我可以确认数据库正在接收连接正常。我每天都从节点应用程序中点击它。另外,我可以在 SAM 之外构建 golang 代码,它可以正常工作。所以我的 SAM 设置有问题。