问题标签 [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 投票
0 回答
1648 浏览

amazon-s3 - 使用 localstack 从 s3 调用 lambda 的问题

我正在使用 localstack 并试图让我的 lambda 的 s3 调用工作。我可以成功地从 cli 调用 lambda,并且 s3 似乎正在尝试,但没有任何反应。

我使用以下命令创建了我的 lambda:

然后我从 cli 调用我的 lambda,如下所示:

在 localstack 中,我看到了这个输出。“Lambda 开始”和“S3 事件收到”是我的日志消息,所以我知道它到目前为止工作正常。

接下来,我创建存储桶、设置事件通知并推送文件。

此时,我在 localstack 中看到了以下内容。看起来它正在尝试调用我的 lambda。所有 lambda 执行跟踪看起来都与我直接运行它时发生的相同,但实际上似乎没有发生任何事情。

我希望在 localstack 中看到与直接通过 cli 调用 lambda 时看到的相同的输出。相反,看起来 lambda 实际上并没有被调用。Localstack 只是说 mylambda 执行了异步,没有任何明显的事情发生。

有人可以指出我错过了什么吗?

谢谢!

0 投票
3 回答
1842 浏览

amazon-web-services - 如何在访问之前检查 aws sqs 队列是否可用?

对不起,如果我听起来很菜鸟。但是我在我的项目中使用 docker 实现 localstack SQS,当队列尚未创建时,我的服务器失败。

我做了一些研究,发现我们可以为其他容器添加健康检查。但是要添加健康检查。

我不确定如何检查队列是否已成功创建?

只有健康检查成功后,它应该启动主容器

0 投票
0 回答
667 浏览

docker - 在 docker 中运行 Localstack 时转发请求时出错

我正在尝试在 docker 中运行 localstack 并收到以下错误:

等待所有 LocalStack 服务准备好 localstack_1
| 2019-09-08T12:32:52:ERROR:localstack.services.generic_proxy: 转发请求时出错:HTTPConnectionPool(host='127.0.0.1', port=4561): url 超出最大重试次数:/(由 NewConnectionError(' : 无法建立新连接:[Errno 111] Connection denied',)) Traceback(最近一次调用最后一次):localstack_1 | _new_conn localstack_1 中的文件“/opt/code/localstack/.venv/lib/python3.6/site-packages/urllib3/connection.py”,第 160 行 |
(self._dns_host, self.port), self.timeout, **extra_kw) localstack_1
| 文件“/opt/code/localstack/.venv/lib/python3.6/site-pack

我不确定我做错了什么,我从图像运行 localstack:

使用我在网上找到的信息,然后我运行了一个短暂的 bandintown/alpine 来创建必要的 SQS 主题和队列。

看起来好像队列被正确创建并且订阅工作是整个事情中最奇怪的部分。

这是在 MacOS Sierra 上运行最新版本的 Docker。

0 投票
1 回答
409 浏览

python-3.x - 本地堆栈说已启动但抛出不同的错误`Error forwarding request: TypeError: the JSON object must be str, bytes or bytearray

当我开始使用 localstack 制作基础设施时,我得到了这个

但是当我执行http://localhost:4569时,它会抛出错误并且没有显示它已启动。以下是我得到的错误

错误2:

请对此提供帮助,这对我来说是一个障碍。

0 投票
2 回答
1150 浏览

amazon-kinesis - localstack Kinesis 不在 docker 中启动

我们在 Windows 10 上运行 Docker。我们有一个简单的 Java Springboot 应用程序,它应该与 AWS Kinesis 和 S3 交互。对于本地测试,我们要拉取 localstack Docker 最新镜像并安装并运行。但是 Kinesis 的启动会引发错误,而 S3 工作正常。以下是详细信息:

当我们尝试点击 Kinesis 的默认 URL 时http://localhost:4568,我们收到以下错误:(请注意,S3 的默认 URL 会按预期响应):

我的码头安装:

任何指针将不胜感激

0 投票
1 回答
739 浏览

docker-compose - 在 Localstack 上创建 Kinesis Stream 时 Kinesis 端口超时

我正在尝试使用在 Docker 上运行的 Localstack 创建 Kinesis 流。

我的 docker-compose.yml 看起来像这样:

运行docker-compose up -d一切正常,我可以在普通 S3 端口上创建一个 S3 存储桶。

但是,当我尝试运行 aws --endpoint-url=http://localhost:4569 kinesis create-stream --stream-name sample-application-stream --shard-count 1 以创建 Kinesis 流时,我最终收到端口 4569 的超时消息。

知道我做错了什么或者为什么 Localstack 不让我创建这个流吗?

0 投票
1 回答
1710 浏览

java - 没有为集成测试运行 testcontainers 的 Localstack 模块

我正在尝试为 Spring 引导服务提出一些集成测试。由于该服务使用 AWS SQS 和 DynamoDB,我倾向于利用测试容器的 Localstack 模块进行集成测试。但是虽然我认为我已经包含了所有必要的代码,但 LocalStackContainer 似乎没有运行,并且引发了以下错误:

顺便说一句,如果我使用独立的 localstack(即,在终端“$localstack start”中手动运行),集成测试将通过。

谁能帮我弄清楚我错过了什么?

在 build.gradle 我有

在一个超类中,我设置了一些像这样的共享测试上下文,包括 LocalStackContainer 作为@ClassRule

在扩展超类的测试类中,只是一些这样放心的代码

如果你想看看,这里是成功测试的日志

https://justpaste.it/success-with-running-localstack

以及失败测试的日志

https://justpaste.it/failed-with-localstackContainer

0 投票
1 回答
194 浏览

.net - Docket.DotNet 的 Docker 桌面问题,第二次调用 _dockerClient.Containers.StartContainerAsync() 将失败并出现 OperationCanceledException

我尝试通过Docker.DotNet版本 2.1.0.3(38240) 使用 docker 与 AWS Cloud 运行集成测试。

但是,每当第二次调用 StartContainerAsync() 时,它都会失败并出现 OperationCanceledException。

以下是重现该问题的步骤:

我尝试了 localstack/localstack 和 dynamodb-local 图像,但使用哪些图像与我认为的错误无关。

  1. 从 Docker CLI 拉取图像 运行一个控制台应用程序,它会进行以下调用
  2. 调用 _dockerClient.Containers.CreateContainerAsync()
  3. 调用 _dockerClient.Containers.StartContainerAsync()
  4. 调用 _dockerClient.Containers.StopContainerAsync()
  5. 调用 _dockerClient.Containers.RemoveContainerAsync()
  6. 调用 _dockerClient.Containers.CreateContainerAsync()
  7. Call _dockerClient.Containers.StartContainerAsync() // 程序会在这里失败。

或者

  1. 第一次从 Docker CLI 运行控制台应用程序中拉取图像,这会进行以下调用
  2. 调用 _dockerClient.Containers.CreateContainerAsync()
  3. Call _dockerClient.Containers.StartContainerAsync() // 程序会在这里失败。

StartContainerAsync() 只要第二次运行就会失败。它不必在同一个过程中。然后 docker desktop 将进入无响应状态,要修复它,我必须将 docker 重置为出厂默认设置,如果只是尝试重新启动 docker 会得到“等待生命周期服务器启动超时”错误。

这种行为在两台不同的物理机器中重复出现。

感谢您提供任何帮助。

我正在使用 Windows 10 Pro、Visual Studio 16.3.1 和 Docker Desktop 版本 2.1.0.3(38240)

0 投票
1 回答
5476 浏览

amazon-web-services - 无法执行 HTTP 请求:连接到 localhost:4583 以获取 SSM

我在 macOS(Mojave)的 docker 中运行 localstack。我可以使用其他一些服务,如 s3、DynamoDb、SQS;但我无法使用 SSM。

我尝试使用带有命令的 aws-cli

我得到的回应

我尝试使用 java sdk

我又得到了错误

了解如何解决此问题并能够在localhost:4583

0 投票
1 回答
1506 浏览

python - 如何发布到 localstack 内的 sns 主题

我写了 lambda 函数,它通过 sns 向主题发布消息。我想用它进行集成测试,所以 localstack 似乎是一个很好的解决方案。

在 setup_class 方法上,我成功创建了 lambda,使用压缩代码和依赖项,还创建了 sns 主题,我想稍后在测试中发布消息。

在调用 lambda 阶段我收到错误:

它说我可能对 IAM 或角色有一些问题,但是在设置阶段,任何作为创建 lambda、创建主题的操作都运行没有错误。

我试图在 lambda 函数中为 sns 客户端添加端点 url,但在 localstack 内它会引发错误“错误的 url”(sns 的 localstack 端点是' http://localhost:4575 ')。

如何通过 localstack 测试解决“botocore.exceptions.ClientError”?