最近更新时间: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();
}
}
纯净模式
