本文介绍如何创建软链接并获取软链接指向的目标文件(Object)名称。
创建软链接
软链接是一种特殊的文件,它指向某个具体的文件,类似于Windows上使用的快捷方式。软链接支持自定义元信息。
以下代码用于创建软链接:
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://console.cloud.tmall.com 创建RAM账号。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
String bucketName = "<yourBucketName>";
String symLink = "<yourSymLink>";
String destinationObjectName = "<yourDestinationObjectName>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 创建上传文件元信息。
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType("text/plain");
// 设置自定义元信息property的值为property-value。
metadata.addUserMetadata("property", "property-value");
// 创建CreateSymlinkRequest。
CreateSymlinkRequest createSymlinkRequest = new CreateSymlinkRequest(bucketName, symLink, destinationObjectName);
// 设置元信息。
createSymlinkRequest.setMetadata(metadata);
// 创建软链接。
ossClient.createSymlink(createSymlinkRequest);
// 关闭OSSClient。
ossClient.shutdown(); 
     创建软链接的详细信息请参见PutSymlink。
获取软链接指向的目标文件名称
获取软链接要求您对该软链接有读权限。以下代码用于获取软链接指向的目标文件名称:
// Endpoint以杭州为例,其它Region请按实际情况填写。 String endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://console.cloud.tmall.com 创建RAM账号。 String accessKeyId = "<yourAccessKeyId>"; String accessKeySecret = "<yourAccessKeySecret>"; String bucketName = "<yourBucketName>"; String symLink = "<yourSymLink>"; // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 获取软链接。 OSSSymlink symbolicLink = ossClient.getSymlink(bucketName, symLink); // 打印软链接指向的文件内容。 System.out.println(symbolicLink.getSymlink()); System.out.println(symbolicLink.getTarget()); System.out.println(symbolicLink.getRequestId()); // 关闭OSSClient。 ossClient.shutdown();
获取软链接的详细信息请参见GetSymlink。