标签: localstack

我们如何在 docker 上运行 Neptune 图形数据库

我们如何在 docker 上运行 Neptune 图形数据库

由于 Neptune DB 最近已产品化,因此在 Localstack 上不可用,有人可以指导我如何将 AWS Neptune DB Service 部署到 docker 容器中

amazon-web-services docker docker-compose amazon-neptune localstack

8
推荐指数
1
解决办法
4626
查看次数

通过 SAM local 使用 boto3 与 Localstack S3 交互

我有一个奇怪的问题,试图让boto3AWS SAM local连接到localstack S3。我知道这特别奇怪,因为SQS工作正常。这两个localstackAWS SAM local被调用,以泊坞窗网我已经创建,称为内运行test

我的(非工作 S3)Python 代码是:

  ACCESS_KEY='123'
  SECRET_KEY='abc'
  s3 = boto3.client('s3',
                      endpoint_url="http://docker.for.mac.localhost:4572",
                      use_ssl=False,
                      aws_access_key_id=ACCESS_KEY,
                      aws_secret_access_key=SECRET_KEY)
  print s3.list_buckets()
Run Code Online (Sandbox Code Playgroud)

上面的代码给了我错误:An error occurred (NoSuchBucket) when calling the ListBuckets operation: The specified bucket does not exist: NoSuchBucket.

但是,如果我将代码更改为 use localstack SQS,如下所示:

  ACCESS_KEY='123'
  SECRET_KEY='abc'
  sqs = boto3.client('sqs',
                      endpoint_url="http://docker.for.mac.localhost:4576",
                      use_ssl=False,
                      aws_access_key_id=ACCESS_KEY,
                      aws_secret_access_key=SECRET_KEY)
  print sqs.list_queues()
Run Code Online (Sandbox Code Playgroud)

一切正常,它列出了我在localstack SQS.

python amazon-s3 amazon-web-services aws-lambda localstack

7
推荐指数
1
解决办法
3449
查看次数

有没有办法查看存储在 localstack 的模拟 S3 环境中的文件

我已经根据文章如何使用 LocalStack 在本地伪造 AWS设置了localstack安装。我已经测试过将文件复制到模拟的 S3 服务,并且效果很好。

我开始寻找我上传的测试文件。我看到我上传的文件有一个编码版本.localstack/data/s3_api_calls.json,但我在其他任何地方都找不到。

鉴于:DATA_DIR=/tmp/localstack/data我期待在那里找到它,但事实并非如此。

我可以直接在文件系统上访问它并不重要,但这会很好。

我的问题是:是否有任何地方/方式可以查看上传到 localstack 的模拟 S3 服务的文件?

amazon-s3 amazon-web-services localstack

7
推荐指数
3
解决办法
1万
查看次数

无法连接到 Windows 10 计算机上的 Localstack docker 实例 - 无法找到凭据

我正在尝试在 Windows 10 计算机上试验Localstack 。

  • 我希望使用localstack/localstack docker 镜像。
  • 我还希望使用amazon/aws-cli docker 映像针对我的 Localstack 实例运行命令。(例如创建一个S3存储桶)。
  • 不想在我的 Windows 机器安装 python/pip。
  • 不想在我的 Windows 计算机上安装 aws - cli (注意:我想将 docker 映像用于 aws-cli 命令。)

所以我似乎 Localstack 运行正常,但是当我尝试对 Localstack 实例运行 AWS 命令​​时,出现错误Unable to locate credentials

例如

CMD > docker run --rm -it amazon/aws-cli --endpoint-url=http://localhost:4566 s3 mb s3://testbucket
make_bucket failed: s3://testbucket Unable to locate credentials
Run Code Online (Sandbox Code Playgroud)

和我的泊坞窗文件:

version: '3.2'

services:
  
  localstack:
    image: localstack/localstack # This will pull the latest
    container_name: localstack …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services docker localstack

7
推荐指数
1
解决办法
2万
查看次数

localstack docker-compose - 您提供的 AWS 访问密钥 ID 在我们的记录中不存在

通过 docker-compose 运行 localstack 和 app 来虚拟一个 s3 存储桶,但出现错误:

"msg":"Failed to upload file /test-data/test.txt: The AWS Access Key Id you provided does not exist in our records."
Run Code Online (Sandbox Code Playgroud)

如果我使用有效的 AWS 凭证运行应用程序docker run,它将成功运行并连接。有什么想法我做错了什么吗?

version: '3.8'

services:
  postbox:
    build: .
    ports: 
      - "8000:8000"
    environment:
      - S3_BUCKET=localstack-postbox-s3
      - MESSAGE_BUS_ENDPOINT=http://localhost
      - AWS_REGION=eu-west-2
      - AWS_ACCESS_KEY_ID=xyz
      - AWS_SECRET_ACCESS_KEY=aaa
      - NODE_ENV=test
    depends_on:
      - localstack
    
  localstack:
    container_name: localstack
    image: localstack/localstack:0.14.2
    ports:
      - "4566-4599:4566-4599"
    environment:
      - SERVICES=s3
    volumes:
      - ./infra/localstack:/docker-entrypoint-initaws.d

  aws:
    container_name: aws-cli
    image: amazon/aws-cli:latest
    environment:
      - AWS_REGION=eu-west-2 …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services docker-compose localstack

7
推荐指数
1
解决办法
1万
查看次数

通过 LocalStack / AWS SES 接收电子邮件

我正在尝试使用 LocalStack 进行端到端测试,但无法阅读通过 LocalStack/SES 发送的电子邮件。有没有办法做到这一点?

我希望我的 Cypress e2e 测试调用我的后端服务,后端服务撰写一封包含链接的电子邮件并通过 LocalStack/SES 发送电子邮件。然后我希望我的 e2e 测试等待该电子邮件,阅读其中发送的链接,然后继续。

我设法调用 LocalStack 的 SES 来发送电子邮件,并且我知道支持 LocalStack 的 moto 库将发送的消息存储在内存中。有没有办法阅读这些消息?

amazon-ses cypress localstack

6
推荐指数
1
解决办法
1036
查看次数

当我们明确将 url 设置为 4576 时,localstack 尝试连接到 localhost:4566

我的团队正在尝试为我们的项目进行本地设置。我们正在使用 image 运行相同的 docker-compose 文件localstack/localstack:0.8.10。我们正在运行相同的 shell 脚本。我们的脚本看起来像这样......

awslocal sns subscribe \
    --topic-arn arn:aws:sns:us-east-1:123456789012:cx-clientcomm-traffic-controller-sent \
    --protocol sqs \
    --notification-endpoint http://localhost:4576/queue/cx-clientcomm-request-processor-queue
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,两名开发人员都会收到此错误。Could not connect to the endpoint URL: http://localhost:4566对于 SQS。

我知道这个端口用于最新版本的 localstack,但他们运行与我们相同的映像。

有任何想法吗??

amazon-web-services docker localstack

6
推荐指数
1
解决办法
2万
查看次数

使用 localstack 创建 S3 存储桶时出错

我已经克隆了 localstack 存储库并使用 docker-compose up 公开了它,我得到了端口 4566,正如您可以看到日志一样:

localstack_main | [2021-02-26 06:30:24 +0000] [22] [INFO] Running on https://0.0.0.0:4566 (CTRL + C to quit)
localstack_main | 2021-02-26T06:30:24:INFO:hypercorn.error: Running on https://0.0.0.0:4566 (CTRL + C to quit)
localstack_main | Starting mock API Gateway service on http port 4566 ...
localstack_main | Starting mock CloudFormation service on http port 4566 ...
localstack_main | Starting mock CloudWatch service on http port 4566 ...
localstack_main | Waiting for all LocalStack services to be ready
localstack_main | Starting …
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 docker localstack

6
推荐指数
0
解决办法
4024
查看次数

Docker-compose:如何使用相同的网络地址从容器和主机访问 Localstack 资源

我使用 docker-compose 在 2 个独立的容器中运行 python API 和 Localstack 实例,以进行本地开发。

该 API 有一个端点,可生成预签名的 AWS S3 URL 并重定向用户,以便直接从 S3 加载图像。

在本地开发中,API 使用 localstack 容器的地址作为自定义端点 url(即:boto3.client("s3",endpoint_url="http://localstack:4566"))来实例化 boto3 客户端,这允许 API 访问 localstack 容器内的资源。

问题是 boto3 客户端返回的预签名 URL 使用该localstack地址,浏览器无法加载它,因为 localstack 资源暴露给主机,位于http://localhost:4566.

如果我尝试在 boto3 客户端实例化中将 aws 资源端点 url 设置为localhost,则在容器内运行的 API 将在其自己的容器的本地主机中查找 AWS 资源,而不是在主机中查找 localstack 资源被暴露。

有没有办法使用相同的地址从主机的浏览器和不同的容器访问在 docker 容器中运行的 localstack 资源?

[编辑]我在 mac 上使用 docker,以防发生任何变化[/编辑]

python amazon-web-services docker localstack

6
推荐指数
1
解决办法
9006
查看次数

如何允许我的 docker 容器连接到本地堆栈

操作系统:mac Os Big sur

您好,我想从也在测试网络中运行的另一个 docker 容器连接到在测试网络中的 4566 上运行的本地堆栈。

如果我运行,则从 docker 容器内部:

aws --endpoint-url=http://localhost:4566 dynamodb list-tables

Could not connect to the endpoint URL: "http://localhost:4566/"
Run Code Online (Sandbox Code Playgroud)

如果我运行,则在 Docker 容器之外:

 aws --endpoint-url=http://localhost:4566 dynamodb list-tables
{
    "TableNames": [
        "test-table-1"
    ]
}

Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激

docker localstack

6
推荐指数
1
解决办法
5378
查看次数