管理文件元数据

最近更新时间:2021-12-16 11:41:52

获取文件元数据

public HeadObjectResult headObject() {
       // yourEndpoint填写Bucket所在地域对应的Endpoint。以中国(北京)为例,Endpoint填写为ks3-cn-beijing.ksyuncs.com。如果使用自定义域名,设置endpoint为自定义域名,同时设置domainMode为true
       String endpoint = "yourEndpoint";
       // 金山云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
       String accessKeyId = "yourAccessKeyId";
       String accessKeySecret = "yourAccessKeySecret";
       // 创建Ks3ClientConfig 实例。
       Ks3ClientConfig config = new Ks3ClientConfig();
       // 设置域名
       config.setEndpoint(endpoint);
       // 创建Ks3Client实例
       Ks3 client = new Ks3Client(accessKeyId, accessKeySecret, config);
       // 指定桶名和文件名
       HeadObjectRequest request = new HeadObjectRequest("<bucket名称>","<object名称>");

       /**
        * <p>
        * 如果抛出{@link NotFoundException} 表示这个object不存在
        * </p>
        * <p>
        * 如果抛出{@link AccessDinedException} 表示当前用户没有权限访问
        * </p>
        */
       HeadObjectResult result = client.headObject(request);
       // head请求可以用于获取object的元数据
       result.getObjectMetadata();
       return result;
}

修改文件元数据信息

// 修改文件元数据信息
public void modifyObjMetadata(){
       // yourEndpoint填写Bucket所在地域对应的Endpoint。以中国(北京)为例,Endpoint填写为ks3-cn-beijing.ksyuncs.com。如果使用自定义域名,设置endpoint为自定义域名,同时设置domainMode为true
       String endpoint = "yourEndpoint";
       // 金山云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
       String accessKeyId = "yourAccessKeyId";
       String accessKeySecret = "yourAccessKeySecret";
       // 创建Ks3ClientConfig 实例。
       Ks3ClientConfig config = new Ks3ClientConfig();
       // 设置域名
       config.setEndpoint(endpoint);
       // 创建Ks3Client实例
       Ks3 client = new Ks3Client(accessKeyId, accessKeySecret, config);
       // 修改yourbucket这个存储空间下的yourkey这个object的元数据信息 
       CopyObjectRequest request = new CopyObjectRequest("yourbucket", "yourkey", "yourbucket", "yourkey");
       ObjectMetadata meta = new ObjectMetadata();
       // 指定是否拷贝源Object的元数据信息,有效值:COPY, REPLACE。 如果此选项不指定,默认为COPY。
       meta.setHeader("x-kss-metadata-directive", "REPLACE");
       // 指定文件的contentType
       meta.setContentType("application/json");
       // 设置文件的元数据
       meta.setUserMeta("x-kss-meta-zlymeta123", "mymeta123");
       request.setNewObjectMetadata(meta);
       // 发起请求
       CopyResult result = client.copyObject(request);
}

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈