![有没有办法让 CrossFTP 或 DragonDisk 访问路径样式 s3 服务器?](https://linux22.com/image/752230/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E8%AE%A9%20CrossFTP%20%E6%88%96%20DragonDisk%20%E8%AE%BF%E9%97%AE%E8%B7%AF%E5%BE%84%E6%A0%B7%E5%BC%8F%20s3%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
我正在尝试找到一种方法来加快将 95gb 数据传输到我公司的对象存储的速度。
我正在通过 node/aws-sdk 传输文件,但速度太慢了。我已经尝试过 ManagedUpload 和 Multipart upload,结果相同(太慢)。
之后我发现了 s3fs...同样的事情。
所以现在我发现可以访问 S3 服务的 CrossFTP 和 DragonDisk,但都使用 bucket.site.com 样式的 URL,而我的公司服务器使用路径样式。
有没有办法将其中一个/两个配置为使用路径样式?
还有人知道传输文件的更快方法吗?或者任何其他 Linux s3 FOSS 客户端?
如果我可以将元数据随文件一起上传那就更好了。
编辑
回答@emdee:
据我所知,一些 S3 服务器使用域名前缀访问存储桶,例如 bucket.s3domain.com。其他服务器配置为使用域名后的路径访问存储桶,例如 s3domain.com/bucket。
我的公司服务器使用 Ceph 来提供 s3 功能。
因此,当我使用 CrossFTP 或 DragonDisk 访问它时,他们会尝试访问 bucket.s3domain.com,但是不起作用。
您可以看到这里S3 构造函数中有一个 s3ForcePathStyle 属性,我的项目设置该属性以便能够访问站点。此外,当我安装 s3fs 时,我必须使用以下命令:
s3fs bucket /mnt/s3/ -o passwd_file=/home/me/.passwd-s3fs,url=https://myserverurl.com,use_path_request_style
您可以use_path_request_style
在选项中看到。我第一次尝试不使用时,也没有用。
所以它不是一个共享。它是 s3 服务器本身的配置。
我知道 CrossFTP 正在尝试通过这种方式访问服务器,因为有以下错误消息:
R1] S3 Error: -1 (null) error: Request Error: bucket.myserverurl.com: Nome ou serviço desconhecido; XML Error Message: null
我显然是为了隐藏我的公司详细信息而更改了存储桶和服务器名称,但我想您明白这一点。
另一方面,DrangonDisk 正确列出了 bucket,但当我尝试访问其中一个 bucket 时,它却
https://bucket.myserverurl.com/
在 url 字段中。所以我得到的信息是,这两个软件都在使用其不支持的配置访问服务器
希望我已经解释清楚了。