minio getPresignedObjectUrl(GetPresignedObjectUrlArgs args)如何使用

在MinIO Java SDK中,getPresignedObjectUrl 方法现在接受一个 GetPresignedObjectUrlArgs 对象作为参数,这个对象允许你更加灵活地配置生成预签名URL的行为。以下是使用这个方法的一个示例:

首先,确保你已经添加了MinIO Java SDK依赖到你的项目中,并且初始化了MinioClient实例。

java 复制代码
import io.minio.MinioClient;
import io.minio.errors.MinioException;
import io.minio.http.Method;
import io.minio.presignedurl.GetPresignedObjectUrlArgs;

import java.net.URL;
import java.time.Duration;
import java.util.concurrent.TimeUnit;

public class PresignedUrlExample {
    public static void main(String[] args) {
        try {
            // 初始化MinioClient实例
            MinioClient minioClient = MinioClient.builder()
                    .endpoint("https://your-minio-endpoint")
                    .credentials("your-access-key", "your-secret-key")
                    .build();

            // 定义GetPresignedObjectUrlArgs参数
            GetPresignedObjectUrlArgs.Builder builder = GetPresignedObjectUrlArgs.builder()
                    .bucket("your-bucket-name")
                    .object("your-object-path")
                    // 可选: 设置HTTP方法,默认为GET
                    .method(Method.GET)
                    // 设置URL过期时间,这里是1小时
                    .expiry(1, TimeUnit.HOURS);

            // 生成预签名URL
            URL presignedUrl = minioClient.getPresignedObjectUrl(builder.build());

            // 打印预签名URL
            System.out.println("Pre-signed URL: " + presignedUrl.toString());

        } catch (Exception e) {
            System.out.println("Error generating pre-signed URL: " + e.getMessage());
        }
    }
}

在这个示例中,我们创建了一个GetPresignedObjectUrlArgs.Builder来配置生成预签名URL的参数。我们指定了存储桶名称(your-bucket-name)、对象路径(your-object-path)以及URL的有效期为1小时。默认的HTTP方法是GET,但如果你有特殊需求,也可以通过.method(Method)方法来改变。

请确保将 "https://your-minio-endpoint", "your-access-key", "your-secret-key", "your-bucket-name", 和 "your-object-path" 替换为你的实际MinIO服务器地址、凭证和目标对象的信息。

相关推荐
chen_note2 天前
Ceph常用的三种存储操作
ceph·对象存储·minio·块存储·文件存储
橙-极纪元2 天前
文件存储服务有哪些?他们优缺点分别是什么?FastDFS、MinIO、Ceph、HDFS、MooseFS、TFS、七牛云、阿里云 OSS
hdfs·minio·七牛云·tfs·fastdfs·阿里云 oss·文件存储服务
分布式存储与RustFS11 天前
RustFS:MinIO的“平替”还是“乱杀”?
python·rust·对象存储·minio·存储·企业存储·rustfs
magic3341656317 天前
Springboot整合MinIO文件服务(windows版本)
windows·spring boot·后端·minio·文件对象存储
分布式存储与RustFS18 天前
存算一体架构的先行者:RustFS在异构计算环境下的探索与实践
大数据·人工智能·物联网·云原生·对象存储·minio·rustfs
清静诗意19 天前
在 Ubuntu 上安装 MinIO 并使用 Python 封装类操作对象存储
服务器·minio
分布式存储与RustFS25 天前
告别复杂配置:用Milvus、RustFS和Vibe Coding,60分钟DIY专属Chatbot
wpf·文件系统·milvus·对象存储·minio·rustfs·vibe
分布式存储与RustFS1 个月前
告别手动配置:用 Terraform 定义你的 RustFS 存储帝国
云原生·wpf·文件系统·terraform·对象存储·minio·rustfs
SirLancelot11 个月前
MinIO-基本介绍(一)基本概念、特点、适用场景
后端·云原生·中间件·容器·aws·对象存储·minio
爱刘温柔的小猪1 个月前
Python 基于 MinIO 的文件上传服务与图像处理核心实践
python·minio