全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

管理文件元数据(Java)

最近更新时间:2026-11-03 19:37:39

获取文件元数据

public void getObjectMetadata() {
    // 初始化 Ks3Client,参见“初始化”文档
    Ks3Client ks3Client = initKs3Client();

    try {
        // 获取对象元数据
        // 1.5.0 及以上版本可以直接使用 ks3Client.getObjectMetadata 方法获取对象元数据
        ObjectMetadata objectMetadata = ks3Client.getObjectMetadata("bucketName", "objectKey");
        // 1.5.0 以下版本需要使用 headObject 获取对象元数据
        // HeadObjectResult headObjectResult = ks3Client.headObject("bucketName", "objectKey");
        // ObjectMetadata objectMetadata = headObjectResult.getObjectMetadata();
        System.out.println("Object Metadata:");
        System.out.println("Content-Length: " + objectMetadata.getContentLength());
        System.out.println("Content-Type: " + objectMetadata.getContentType());
        System.out.println("Content-Encoding: " + objectMetadata.getContentEncoding());
        System.out.println("Content-Disposition: " + objectMetadata.getContentDisposition());
        System.out.println("Cache-Control: " + objectMetadata.getCacheControl());
        System.out.println("Last-Modified: " + objectMetadata.getLastModified());
        System.out.println("Last-Access: " + objectMetadata.getLastAccess());
        System.out.println("ETag: " + objectMetadata.getETag());
        System.out.println("Crc64 Ecma: " + objectMetadata.getCrc64Ecma());
        System.out.println("Storage Class: " + objectMetadata.getStorageClass());
        System.out.println("Expiration Time: " + objectMetadata.getHttpExpiresDate());
        System.out.println("Restore Status: " + objectMetadata.getMeta(HttpHeaders.XKssRestore.toString()));
        System.out.println("Next Append Position: " + objectMetadata.getNextAppendPosition());
        System.out.println("Object Type: " + objectMetadata.getObjectType());
        System.out.println("Data Redundancy Type: " + objectMetadata.getDataRedundancyType());
        System.out.println("User Metadata: ");
        for (Map.Entry<String, String> entry : objectMetadata.getAllUserMeta().entrySet()) {
            System.out.println("  " + entry.getKey() + ": " + entry.getValue());
        }
    } catch (Ks3ServiceException e) {
        System.out.println("Ks3ServiceException occurred, which means the request was made to KS3, but KS3 returned an error response for some reason.");
        System.out.println("Error Message: " + e.getErrorMessage());
        System.out.println("Error Code: " + e.getErrorCode());
        System.out.println("Request ID: " + e.getRequestId());
    } catch (Ks3ClientException e) {
        System.out.println("Ks3ClientException occurred, which means the client encountered an internal error while trying to communicate with KS3.");
        System.out.println("Error Message: " + e.getMessage());
    } finally {
        // 不再使用时,关闭 Ks3Client
        ks3Client.shutdown();
    }
}

修改文件元数据

public void putObjectMetadata() {
    // 初始化 Ks3Client,参见“初始化”文档
    Ks3Client ks3Client = initKs3Client();

    try {
        ObjectMetadata metadata = new ObjectMetadata();
        // 设置 content type、cache control、content encoding、content disposition 等标准 header
        metadata.setContentType("text/plain");
        metadata.setCacheControl("no-cache");
        metadata.setContentEncoding("gzip");
        metadata.setContentDisposition("attachment; filename=example.txt");
        // 设置用户自定义元数据
        metadata.setUserMeta("meta1", "value1");
        metadata.setUserMeta("meta2", "value2");
        // 发起请求,设置对象的元数据
        // 1.5.0 及以上版本可以直接使用 ks3Client.putObjectMetadata 方法设置对象元数据
        ks3Client.putObjectMetadata("bucketName", "objectKey", metadata);
        // 1.5.0 以下版本需要使用 copyObject 设置元数据
        // CopyObjectRequest request = new CopyObjectRequest("bucketName", "objectKey", "bucketName", "objectKey");
        // metadata.setMetadataDirective("REPLACE"); // 设置元数据替换指令
        // request.setNewObjectMetadata(metadata);
        // ks3Client.copyObject(request);
    } catch (Ks3ServiceException e) {
        System.out.println("Ks3ServiceException occurred, which means the request was made to KS3, but KS3 returned an error response for some reason.");
        System.out.println("Error Message: " + e.getErrorMessage());
        System.out.println("Error Code: " + e.getErrorCode());
        System.out.println("Request ID: " + e.getRequestId());
    } catch (Ks3ClientException e) {
        System.out.println("Ks3ClientException occurred, which means the client encountered an internal error while trying to communicate with KS3.");
        System.out.println("Error Message: " + e.getMessage());
    } finally {
        // 不再使用时,关闭 Ks3Client
        ks3Client.shutdown();
    }
}
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈