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服务器地址、凭证和目标对象的信息。

相关推荐
分布式存储与RustFS3 天前
告别复杂配置:用Milvus、RustFS和Vibe Coding,60分钟DIY专属Chatbot
wpf·文件系统·milvus·对象存储·minio·rustfs·vibe
分布式存储与RustFS6 天前
告别手动配置:用 Terraform 定义你的 RustFS 存储帝国
云原生·wpf·文件系统·terraform·对象存储·minio·rustfs
SirLancelot113 天前
MinIO-基本介绍(一)基本概念、特点、适用场景
后端·云原生·中间件·容器·aws·对象存储·minio
爱刘温柔的小猪17 天前
Python 基于 MinIO 的文件上传服务与图像处理核心实践
python·minio
分布式存储与RustFS21 天前
RustFS与其他新兴存储系统(如SeaweedFS)相比有哪些优势和劣势?
开源软件·文件系统·对象存储·minio·aws s3·seaweedfs·rustfs
休息一下接着来1 个月前
MinIO 分布式模式与纠删码
分布式·minio
wL魔法师1 个月前
minio大文件断点续传
minio
wL魔法师1 个月前
minio 文件批量下载
minio
Kookoos1 个月前
多模联邦查询网关:ABP + Trino/Presto 聚合跨源数据
minio·presto·trino·数据网关·abp vnext·join优化
冷冷的菜哥1 个月前
ASP.NET Core上传文件到minio
后端·asp.net·上传·asp.net core·minio