use*_*987 4 amazon-s3 amazon-web-services node.js
使用 localstack S3 和 AWS JS SDK V3 时出现此错误:
getaddrinfo ENOTFOUND bucket-name.localhost
Run Code Online (Sandbox Code Playgroud)
我的 Localstack docker-compose:
localstack_main:
container_name: "localstack_main"
image: localstack/localstack
ports:
- "127.0.0.1:4566:4566"
- "127.0.0.1:4572:4572"
environment:
- SERVICES=sqs:4566,s3:4572
- DEFAULT_REGION=us-east-1
- DATA_DIR=${TMPDIR:-/tmp/}localstack/data
- HOST_TMP_FOLDER=${TMPDIR:-/tmp/}localstack
volumes:
- "${TMPDIR:-/tmp}/localstack:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
- './localstackSetup.sh:/docker-entrypoint-initaws.d/make-s3.sh'
Run Code Online (Sandbox Code Playgroud)
和我的 S3 配置:
region: EnvConfig.S3_REGION,
endpoint: 'http://localhost:4566',
Run Code Online (Sandbox Code Playgroud)
use*_*987 15
解决方案是添加“forcePathStyle: true”,如下所示: https: //qubyte.codes/blog/tip-connecting-to-localstack-s3-using-the-javascript-aws-sdk-v3 我认为这会自动删除在存储桶名称后添加“.localhost”。
我的 s3 客户端的新配置是:
{
region: EnvConfig.S3_REGION,
endpoint: 'http://localhost:4566',
forcePathStyle: true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4501 次 |
| 最近记录: |