シンボリックリンクを作成

シンボリックリンクは、オブジェクトのリンク先となる特殊オブジェクトです。Windows でのショートカットのようなものです。シンボリックリンクには、ユーザー独自のメタデータを定義することができます。

次のコードを実行してシンボリックリンクを作成します。

  1. // 例では、エンドポイントに「杭州 (中国東部 1)」を指定しています。ご利用のエンドポイントを指定します。String endpoint = “http://oss-cn-hangzhou.aliyuncs.com“;// Alibaba Cloud アカウントは OSS の API すべてにアクセスする権限があるため、AccessKey を使用してのログインは非常にリスクを伴います。定期的な運用保守には、RAM ユーザーでのログインを推奨します。RAM アカウントを作成するには、https://ram.console.aliyun.com にログインします。String accessKeyId = “<yourAccessKeyId>”;String accessKeySecret = “<yourAccessKeySecret>”;String bucketName = “<yourBucketName>”;String symLink = “<yourSymLink>”;String destinationObjectName = “<yourDestinationObjectName>”;// OSSClient インスタンスを作成します。OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);// Object Meta を作成します。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」をご参照ください。

シンボリックリンクのオブジェクトコンテンツを取得

シンボリックリンクを取得するには、シンボリックリンクの読み取り権限が必要です。シンボリックリンクのリンク先オブジェクトのコンテンツを取得するには、次のコードを実行します。

  1. // 例では、エンドポイントに「杭州 (中国東部 1)」を指定しています。ご利用のエンドポイントを指定します。String endpoint = “http://oss-cn-hangzhou.aliyuncs.com“;// Alibaba Cloud アカウントは OSS の API すべてにアクセスする権限があるため、AccessKey を使用してのログインは非常にリスクを伴います。定期的な運用保守には、RAM ユーザーでのログインを推奨します。RAM アカウントを作成するには、https://ram.console.aliyun.com にログインします。String accessKeyId = “<yourAccessKeyId>”;String accessKeySecret = “<yourAccessKeySecret>”;String bucketName = “<yourBucketName>”;String symLink = “<yourSymLink>”;// OSSClient インスタンスを作成します。OSSClient ossClient = new OSSClient(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」をご参照ください。