gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 17:35:25 32 4
gpt4 key购买 nike

我在尝试获取 boto3 时遇到了一个奇怪的问题在 AWS SAM local连接到 localstack S3 .我知道这特别奇怪,因为 SQS工作正常。两者 localstackAWS SAM local被调用以在我创建的 Docker 网络中运行,名为 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()

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

但是,如果我将代码更改为使用 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()

一切正常,它列出了我在 localstack SQS 中创建的队列.

最佳答案

默认情况下,所有 API 调用的主要入口点是(EDGE_PORT)4566。我通过同一个端口与 localstack/localstack:latest 容器内的 S3 进行交互。
为了让它工作,我还必须更改 AWS SDK 配置以使用 s3ForcePathStyle: true
以上对你有用吗?

关于python - 通过 SAM local 使用 boto3 与 Localstack S3 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48690698/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com