问题标签 [localstack]

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 回答
144 浏览

unit-testing - 无法使用 moto 测试第三方库以在本地环境中进行 lambda 测试

我正在尝试在本地测试 aws lambda 函数,并成功地使用 moto 库模拟 dynamo DB 之类的 aws 资源,但是在引入组件时,即请求调用第三方库时,由于连接被拒绝,我收到错误。

这主要是因为moto 库reponse.py 类即httpPretty 库。

我们可以使用哪些其他替代方法来修复这些问题或在本地测试具有 aws 资源的 lambda 函数以及调用第三方库。

我的 lambda 函数源:

也尝试过使用 localstack 库并将图像部署到 docker,但它给出的 url 不是无法连接到端点 URL:“ http://localhost:4569/ ”。

参考:https ://github.com/localstack/localstack

0 投票
1 回答
2321 浏览

node.js - 当我尝试在 localstack 中使用 aws ses 时,电子邮件地址未验证

我正在尝试使用 localstack 来测试使用 SES 发送一些电子邮件的 lambda。

但是当我尝试它时,我得到下一个错误:

电子邮件地址未验证

有什么方法可以在 localstack (docker) 中验证此电子邮件吗?

谢谢!

pd:对不起我的英语

0 投票
0 回答
1187 浏览

localstack - 无法在 Mac 上启动 localstack docker

我已经在本地安装了 localstack。使用以下 docker 版本。

Docker 版本:- 18.09.1。

还在我的 Mac 中创建了一个 tmp 目录。

TMPDIR=/私人$TMPDIR

localstack 在没有 docker 版本的情况下工作正常。因为我正在编写测试用例,所以想启动 docker 容器并运行我的测试用例。

这是我的日志输出。你能帮我看看有什么问题吗..

0 投票
2 回答
5367 浏览

java - 是否可以在 amazon kinesis 消费者库 v2 中禁用 SSL 证书检查?

使用 Kinesis Consumer Library 的第 2 版开发 Kinesis Consumer 并将 Dynamo DB 终端节点覆盖到 localstack 终端节点时,由于 SSL 握手错误,库无法创建租赁表。

我可以确认在使用 AWS 的 Dynamo DB 时创建表成功,但是一旦我将端点 url 覆盖为 localstack url,Dynamo DB 客户端在多次重试后无法创建租约表。堆栈跟踪不是很有用,但 Wireshark 显示了所有 SSL 握手错误,所以我只能假设 Amazon SDK 不接受 localstack 证书。我找不到任何关于如何使用该software.amazon.awssdk软件包禁用证书验证的信息。

/edit 这是基于亚马逊在此处找到的示例:https ://docs.aws.amazon.com/streams/latest/dev/kcl2-standard-consumer-java-example.html

0 投票
0 回答
1811 浏览

aws-sdk - 无法配置将无服务器堆栈部署到 localstack

我正在使用无服务器来部署 AWS 无服务器堆栈。(即:lambda、sqs、sns)。在尝试部署到 AWS 之前,我想先在本地运行。我已经搜索并查看了适合我用例的localstack 。这是我部署系统的步骤:

  1. 使用 docker 克隆项目并运行整个堆栈。(命令docker-compose up:)
  2. 在我的项目中安装库serverless-localstack并更新serverless.yml

这是我的配置:

之后,我使用命令部署此堆栈:serverless deploy --stage local。但我总是遇到例外。

这是我的完整部署日志:

请告诉我如何解决这个问题。

0 投票
1 回答
2141 浏览

localstack - Localstack SNS:无法向 ElasticMq 发送消息

我有 2 个应用程序:

1 个应用程序使用ElasticMq队列来收听消息。第二个应用程序发布有关SNS主题的消息。

我可以订阅该主题的ElasticMq队列。SNS但是,当我在主题上发布时,即使订阅成功local stack,也无法将消息发送给。elasticmq

以下是我收到的错误消息:

awslocal sns 发布 --topic-arn arn:aws:sns:us-east-1:123456789012:classification-details-topic --message "我的消息"

调用 Publish 操作时出错 (InvalidParameter):调用 SendMessage 操作时出错 (AWS.SimpleQueueService.NonExistentQueue):AWS.SimpleQueueService.NonExistentQueue; 请参阅 SQS 文档。

elasticmq在本地堆栈上订阅错了吗?

我正在使用 docker-compose 文件运行 localstack

我使用相同的 docker 网络“my_network”将 elasticmq 和其他服务作为不同 docker-compose 的一部分

以下是完整的 docker-compose。我尝试通过将条目组合到一个 docker-compose 文件中来复制它。

重现步骤

在此之后可以运行以下一组命令

0 投票
1 回答
754 浏览

docker-compose - 如何在 Mac 上使用一个命令在 docker-compose 中运行 localstack?

阅读 localstack的文档

我不明白这一行:“(请注意,在 MacOS 上,如果 $TMPDIR 包含 Docker 无法挂载的符号链接,您可能必须运行 TMPDIR=/private$TMPDIR docker-compose up。)”按照这些说明操作,但我希望能够用一个命令运行我的 docker-compose,我现在必须运行docker-compose buildthen TMPDIR=/private$TMPDIR docker-compose up。有什么方法可以成功组合命令?

0 投票
1 回答
833 浏览

java - S3 java v1 => v2:putObject 仅在调试时有效 - SdkClientException:无法执行 HTTP 请求:读取超时

我想从 S3 java v1 迁移到 v2,现在由于某种原因,一个小集成测试开始失败。在调试和单步执行时,它正在工作。这是代码(我有一个 localstack https://github.com/localstack/localstack实例正在运行):

这是植根于 putObject 行的异常:

software.amazon.awssdk.core.exception.SdkClientException:无法执行 HTTP 请求:读取超时

这里发生了什么?就示例而言,这应该可以工作https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javav2/example_code/s3/src/main/java/com/example/s3/ S3ObjectOperations.java

0 投票
4 回答
2306 浏览

amazon-cloudformation - 无法通过 LocalStack 中的 Cloudformation 创建对 SNS 主题的 SQS 订阅

使用localstack我正在尝试创建一个执行以下操作的模板:

  1. 创建 SNS 主题
  2. 创建 SQS 队列
  3. 创建将 SQS 队列订阅到 SNS 主题的订阅。

我的docker-compose文件如下所示:

我的init.sh文件如下所示:

最后我的 Cloudformation 文件如下所示:

这会产生一个非常模糊的500 Internal Server Error。因为这是localstack并且我知道 arns 是相当静态的,所以我尝试用以下内容替换yml订阅文件TopcArnEndpoint内容:

这次我没有收到错误,但没有创建订阅。从localstack我的调试输出中可以看到:

在此处输入图像描述

并且未创建订阅。Cloudformation执行中不支持此功能localstack还是我做错了什么?

0 投票
1 回答
842 浏览

docker - 使用 dynamodb 和 DATA_DIR 的 localstack 容器,在 docker commit 后不持久化表

我正在尝试基于运行 dynamodb 的 localstack 容器创建映像,其中在容器启动时存在一组表。我的理解是我可以使用环境变量 DATA_DIR=/tmp/localstack/data,然后创建表并提交容器,使用持久表创建一个新图像。当我运行新图像时,表不存在。这是在 localstack/dynamodb 实例中持久化表的正确方法,还是有更好的方法来完成我想要做的事情?