Node.js AWS S3解析docker容器的URI错误
在本地环境中,我使用express/node后端和AWS S3服务器(使用)开发了一个文件上载功能。这两个服务都停靠在各自的容器中,通信工作正常。 我的问题是S3服务器似乎不理解上传请求。以下是我尝试使用的代码:Node.js AWS S3解析docker容器的URI错误,node.js,amazon-s3,Node.js,Amazon S3,在本地环境中,我使用express/node后端和AWS S3服务器(使用)开发了一个文件上载功能。这两个服务都停靠在各自的容器中,通信工作正常。 我的问题是S3服务器似乎不理解上传请求。以下是我尝试使用的代码: const s3=新s3({ accessKeyId:'accessKey1', secretAccessKey:“verySecretKey1”, 终结点:“s3server:8000”, sslEnabled:错误, s3ForcePathStyle:没错, }); 函数上载文件
const s3=新s3({
accessKeyId:'accessKey1',
secretAccessKey:“verySecretKey1”,
终结点:“s3server:8000”,
sslEnabled:错误,
s3ForcePathStyle:没错,
});
函数上载文件(文件){
常量参数={
正文:文件,
Bucket:'testbucket',
Key:'testkey',
ACL:“公共读取”,
};
s3.上传(参数,(错误,数据)=>{
if(err)console.log(err,err.stack);//发生错误
else console.log(数据);//响应成功
});
}
您可以按照建议使用卷提供自己的config.json来解决此问题
“s3server”:“us-east-1”
添加到“restEndpoints”
docker run-v$(pwd)/config.json:/usr/src/app/config.json…
或者,如果您正在使用docker compose,请向您的docker compose.yaml添加类似以下内容:
s3server:
image: scality/s3server
restart: always
expose: [8000]
stdin_open: true
tty: true
container_name: s3server
volumes:
- "${PWD}/s3config.json:/usr/src/app/config.json"