//package com.stylefeng.guns.modular.system.util.qianyuntong;
|
//
|
//import com.heredata.hos.HOS;
|
//import com.heredata.hos.HOSClientBuilder;
|
//import com.heredata.hos.model.CreateBucketRequest;
|
//import com.heredata.hos.model.HOSObject;
|
//import com.heredata.hos.model.PutObjectRequest;
|
//import com.heredata.hos.model.PutObjectResult;
|
//import com.heredata.hos.model.bucket.Bucket;
|
//import com.heredata.model.VoidResult;
|
//import lombok.extern.slf4j.Slf4j;
|
//
|
//import java.io.InputStream;
|
//
|
///**
|
// * OSS 工具类
|
// * @author zhibing.pu
|
// * @Date 2025/6/23 17:50
|
// */
|
//@Slf4j
|
//public class NCOSSUtil {
|
//
|
// /**
|
// * 创建桶
|
// * @param bucketName
|
// * @return
|
// */
|
// public static Boolean createBucket(String bucketName) {
|
// /**
|
// * endPoint:HOS的基础路径(公共前缀)
|
// * account:账户的ID
|
// * accessKey:向UAAS服务请求到的access_key
|
// * secretKey:向UAAS服务请求到的secret_key
|
// */
|
// HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey);
|
// try {
|
// // 创建请求对象,并且设置创建桶名为"example"的桶
|
// CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
|
// VoidResult result = hos.createBucket(createBucketRequest);
|
// if (result.getResponse().isSuccessful()) {
|
// log.info("创建桶成功:" + bucketName);
|
// return true;
|
// }
|
// } catch (Exception e){
|
// log.info("创建桶失败:" + bucketName);
|
// e.printStackTrace();
|
// }
|
// return false;
|
// }
|
//
|
//
|
// /**
|
// * 查询桶详情
|
// * @param bucketName
|
// * @return
|
// */
|
// public static Bucket getBucketInfo(String bucketName) {
|
// /**
|
// * endPoint:HOS的基础路径(公共前缀)
|
// * account:账户的ID
|
// * accessKey:向UAAS服务请求到的access_key
|
// * secretKey:向UAAS服务请求到的secret_key
|
// */
|
// HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey);
|
// try {
|
// // 查询桶名为"example"的详情
|
// Bucket bucket = hos.getBucketInfo(bucketName);
|
// return bucket;
|
// } catch (Exception e){
|
// e.printStackTrace();
|
// }
|
// return null;
|
// }
|
//
|
//
|
// /**
|
// * 删除桶
|
// * @param bucketName
|
// * @return
|
// */
|
// public static Boolean deleteBucket(String bucketName) {
|
// /**
|
// * endPoint:HOS的基础路径(公共前缀)
|
// * account:账户的ID
|
// * accessKey:向UAAS服务请求到的access_key
|
// * secretKey:向UAAS服务请求到的secret_key
|
// */
|
// HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey);
|
// try {
|
// VoidResult result = hos.deleteBucket(bucketName);
|
// if (result.getResponse().isSuccessful()) {
|
// log.info("删除桶成功:" + bucketName);
|
// return true;
|
// }
|
// } catch (Exception e){
|
// log.info("删除桶成功:" + bucketName);
|
// e.printStackTrace();
|
// }
|
// return false;
|
// }
|
//
|
//
|
// /**
|
// * 设置桶策略
|
// * @param bucketName 桶名
|
// * @param policyText 策略规则字符串
|
// * {
|
// * // 策略配置的版本号,由用户定义
|
// * "Version": "2012-10-17",
|
// * // 策略规则配置,可指定多条策略规则
|
// * "Statement": [{
|
// * // 策略规则ID,可用户指定,如不指定则服务自动生成一条
|
// * "Sid": "sid",
|
// * // 策略规则指定的HOS API接口标识,可参照下表填写
|
// * "Action": [
|
// * "action"
|
// * ],
|
// * // 策略规则效果,具体表现为允许或拒绝,有效值为Allow(允许),Deny(拒绝);
|
// * "Effect": "Allow",
|
// * // 策略规则指定的资源参照下面resource配置
|
// * "Resource": "resource",
|
// * // 策略规则指定的授权人 参照下面Principal配置
|
// * "Principal": {
|
// * "HWS": [
|
// * "account_id:root"
|
// * ]
|
// * }
|
// * }
|
// * ]
|
// * }
|
// * @return
|
// */
|
// public static Boolean setBucketPolicy(String bucketName, String policyText) {
|
// /**
|
// * endPoint:HOS的基础路径(公共前缀)
|
// * account:账户的ID
|
// * accessKey:向UAAS服务请求到的access_key
|
// * secretKey:向UAAS服务请求到的secret_key
|
// */
|
// HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey);
|
// // 桶策略字符串
|
// try {
|
// VoidResult result = hos.setBucketPolicy(bucketName, policyText);
|
// if (result.getResponse().isSuccessful()) {
|
// log.info("设置桶策略成功:" + bucketName);
|
// return true;
|
// }
|
// } catch (Exception e) {
|
// log.info("设置桶策略失败:" + bucketName);
|
// e.printStackTrace();
|
// }
|
// return false;
|
// }
|
//
|
//
|
// /**
|
// * 上传对象
|
// * @param bucketName 桶名称
|
// * @param key 存储文件名
|
// * @param inputStream 上传文件流
|
// * @return 对象唯一标识
|
// */
|
// public static String putObject(String bucketName, String key, InputStream inputStream) {
|
// /**
|
// * endPoint:HOS的基础路径(公共前缀)
|
// * account:账户的ID
|
// * accessKey:向UAAS服务请求到的access_key
|
// * secretKey:向UAAS服务请求到的secret_key
|
// */
|
// HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey);
|
// try {
|
// PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key , inputStream);
|
// PutObjectResult example = hos.putObject(putObjectRequest);
|
// if (example.getResponse().isSuccessful()) {
|
// log.info("上传对象成功:" + bucketName + "--->" + key);
|
// return example.getETag();
|
// }
|
// } catch (Exception e) {
|
// log.info("上传对象成功:" + bucketName);
|
// e.printStackTrace();
|
// }
|
// return null;
|
// }
|
//
|
//
|
// /**
|
// * 查询对象
|
// * @param bucketName 桶名称
|
// * @param key 存储文件名
|
// * @return
|
// */
|
// public static HOSObject getObject(String bucketName, String key) {
|
// /**
|
// * endPoint:HOS的基础路径(公共前缀)
|
// * account:账户的ID
|
// * accessKey:向UAAS服务请求到的access_key
|
// * secretKey:向UAAS服务请求到的secret_key
|
// */
|
// HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey);
|
// try {
|
// HOSObject example = hos.getObject(bucketName, key);
|
// if (example.getResponse().isSuccessful()) {
|
// log.info("查询对象成功:" + bucketName + "--->" + key);
|
// return example;
|
// }
|
// } catch (Exception e) {
|
// log.info("查询对象失败:" + bucketName);
|
// e.printStackTrace();
|
// }
|
// return null;
|
// }
|
//
|
//
|
// /**
|
// * 删除对象
|
// * @param bucketName 桶名称
|
// * @param key 存储文件名
|
// * @return
|
// */
|
// public static Boolean deleteObject(String bucketName, String key) {
|
// /**
|
// * endPoint:HOS的基础路径(公共前缀)
|
// * account:账户的ID
|
// * accessKey:向UAAS服务请求到的access_key
|
// * secretKey:向UAAS服务请求到的secret_key
|
// */
|
// HOS hos = new HOSClientBuilder().build(QianYunTongProperties.endPoint, QianYunTongProperties.account, QianYunTongProperties.accessKey, QianYunTongProperties.secretKey);
|
// try {
|
// VoidResult example = hos.deleteObject(bucketName, key);
|
// if (example.getResponse().isSuccessful()) {
|
// log.info("删除对象成功:" + bucketName + "--->" + key);
|
// return true;
|
// }
|
// } catch (Exception e) {
|
// log.info("删除对象失败:" + bucketName + "--->" + key);
|
// e.printStackTrace();
|
// }
|
// return false;
|
// }
|
//}
|