有没有办法让 CrossFTP 或 DragonDisk 访问路径样式 s3 服务器?

有没有办法让 CrossFTP 或 DragonDisk 访问路径样式 s3 服务器?

我正在尝试找到一种方法来加快将 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 字段中。所以我得到的信息是,这两个软件都在使用其不支持的配置访问服务器

希望我已经解释清楚了。

相关内容