我的理解是,在 Jets3t 0.7.4 S3 端点之前是在 S3Service::setS3EndpointHost 静态设置的。因此,无法使用 Jets3t 在同一应用程序中使用不同的 S3 端点来获取/放置内容到 S3。

在 Jets3t 0.7.4 发行说明中它是这样写的 -
“已弃用 S3Service 中用于生成签名 URL 的静态方法。从现在开始应使用新的非静态方法等效项,以避免依赖 VM 范围的 S3 端点常量。”

现在是否可以动态更改 S3 端点?如果是怎么做..是否有可用的 setS3Endpoint 方法?

最佳答案

你可以这样设置:

private void setS3Endpoint(final String endpoint) {
        final Jets3tProperties props = Jets3tProperties.getInstance(Constants.JETS3T_PROPERTIES_FILENAME);
        props.setProperty("s3service.s3-endpoint", endpoint);
}

10-06 10:13