zhaowenyu
2026-04-01 77ae8c8bf34aaafa58a230d65db5e0f9f2e23c74
ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java
@@ -41,27 +41,36 @@
    @Override
    public StsCredentialsDTO getSTSCredentials() {
        CredentialsDTO credentials = ossService.getCredentials();
        //验证一下minio的临时凭证是否可用
        log.info("验证临时凭证是否有效:{}", credentials);
        log.info("验证https临时凭证是否有效:{}", credentials);
        execMinio(OssConfiguration.endpoint,
                credentials.getAccessKeyId(),
                credentials.getAccessKeySecret(),
                credentials.getSecurityToken(),
                OssConfiguration.region,
                DockConfiguration.bucket,
                "test_object");
                "test_object_https");
        return StsCredentialsDTO.builder()
                //机场媒体库minio配置信息用代理地址,桶用机场的桶。
                //.endpoint(OssConfiguration.endpoint)
                .endpoint(DockConfiguration.endpoint)
//                .bucket(OssConfiguration.bucket)
                .bucket(DockConfiguration.bucket)
//                .credentials(ossService.getCredentials())
                .credentials(credentials)
                .provider(OssConfiguration.provider)
                .objectKeyPrefix(OssConfiguration.objectDirPrefix)
                .region(OssConfiguration.region)
                .build();
//        return StsCredentialsDTO.builder()
//                //机场媒体库minio配置信息用代理地址,桶用机场的桶。
//                .endpoint(OssConfiguration.endpoint)
//                .bucket(OssConfiguration.bucket)
////                .credentials(ossService.getCredentials())
//                .credentials(credentials)
//                .provider(OssConfiguration.provider)
//                .objectKeyPrefix(OssConfiguration.objectDirPrefix)
//                .region(OssConfiguration.region)
//                .build();
    }
    @Override
@@ -83,16 +92,18 @@
                          String accessKeyId,
                          String accessKeySecret,
                          String securityToken,
                          String region,
                          String bucketName,
                          String testObjectName) {
        // 1. 替换为你要验证的临时凭证参数(从 getCredentials() 返回的结果中复制)
        try {
            log.info("🔑 正在验证{}临时凭证有效性...", endpoint);
            // 2. 用临时凭证(含 securityToken)初始化 MinIO 客户端
            MinioClient minioClient = MinioClient.builder()
                    .endpoint(endpoint)
//                    .credentials(accessKeyId, accessKeySecret) // 核心:传入 securityToken
                    .credentialsProvider(new StaticProvider(accessKeyId, accessKeySecret, securityToken))
                    .region("us-east-1") // 和你配置的 region 一致
                    .region(region) // 和你配置的 region 一致   us-east-1
                    .build();
            // 3. 执行验证操作:上传一个测试文件(模拟机场上传媒体文件)