シンボリックリンクを使用すると、バケット内で頻繁に使用するオブジェクトに便利にアクセスできます。シンボリックリンクを作成すると、Windows のショートカットと同様の方法でターゲットオブジェクトにアクセスできます。
シンボリックリンクの作成
次のコードは、シンボリックリンクを作成する方法の例を示しています。
const OSS = require('ali-oss')
const client = new OSS({
// region をバケットが配置されているリージョンに設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、region を oss-cn-hangzhou に設定します。
region: 'yourRegion',
// 環境変数からアクセス認証情報を取得します。 このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// バケット名を指定します。
bucket: 'examplebucket',
});
const headers = {
// オブジェクトのストレージクラスを指定します。
'x-oss-storage-class':'Standard',
// オブジェクトのアクセス権限を指定します。
'x-oss-object-acl':'private',
// シンボリックリンクと同じ名前のオブジェクトを上書きするかどうかを指定します。 true の値は、上書きが禁止されていることを示します。
'x-oss-forbid-overwrite': 'true '
};
async function put () {
try {
// シンボリックリンクの名前を symlinkobject.txt に、ターゲットオブジェクトの名前を exampleobject.txt に設定します。
const result = await client.putSymlink('symlinkobject.txt', 'exampleobject.txt'
// ,{ headers }
);
console.log(result);
} catch (e) {
console.log(e);
}
}
put();シンボリックリンクのターゲットオブジェクトの取得
ターゲットオブジェクトを取得するには、シンボリックリンクに対する読み取り権限が必要です。次のコードは、ターゲットオブジェクトの名前を取得する方法を示しています。
const OSS = require('ali-oss')
const client = new OSS({
// region をバケットが配置されているリージョンに設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、region を oss-cn-hangzhou に設定します。
region: 'yourRegion',
// 環境変数からアクセス認証情報を取得します。 このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// バケット名を指定します。
bucket: 'examplebucket',
});
// ターゲットオブジェクトの名前を取得するために、シンボリックリンクの名前を指定します。
client.getSymlink('symlinkobject.txt').then(r=>console.log(r))リファレンス
シンボリックリンクを作成するための API 操作の詳細については、「PutSymlink」をご参照ください。
シンボリックリンクを取得するための API 操作の詳細については、「GetSymlink」をご参照ください。