シンボリックリンクを使用すると、バケット内で頻繁に使用するオブジェクトに簡単にアクセスできます。シンボリックリンクを作成すると、Windows のショートカットと同様の方法でターゲットオブジェクトにアクセスできます。
注意事項
Webpack や Browserify などのパッケージングツールを使用する場合は、npm install ali-oss コマンドを実行して OSS SDK for Browser.js をインストールします。
ブラウザから OSS バケットにアクセスする際に、バケットに CORS ルールが設定されていない場合、ブラウザはリクエストを拒否します。そのため、ブラウザからバケットにアクセスする場合は、バケットに CORS ルールを設定する必要があります。詳細については、インストールをご参照ください。
ほとんどの場合、OSS SDK for Browser.js はブラウザで使用されます。AccessKey ペアの公開を防ぐために、Security Token Service (STS) から取得した一時的なアクセス認証情報を使用して OSS にアクセスすることを推奨します。
一時的なアクセス認証情報は、AccessKey ペアとセキュリティトークンで構成されます。AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。一時的なアクセス認証情報の取得方法の詳細については、STS を使用した一時的なアクセス権限付与をご参照ください。
シンボリックリンクの作成
次のコードを使用してシンボリックリンクを作成します。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id='upload'>Upload</button>
<button id='symlink'>Create Symbolic Link</button>
<!--SDK ファイルをインポートします。-->
<script type="text/javascript" src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
<script type="text/javascript">
const client = new OSS({
// バケットが配置されているリージョンに region を設定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、region を oss-cn-hangzhou に設定します。
region: 'yourRegion',
authorizationV4: true,
// STS から取得した一時的な AccessKey ID と AccessKey Secret。
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// STS から取得したセキュリティトークン (SecurityToken)。
stsToken: 'yourSecurityToken',
// バケット名を指定します。例:examplebucket。
bucket: "examplebucket",
});
const upload = document.getElementById('upload')
const symlink = document.getElementById('symlink')
const getSymlink = document.getElementById("getSymlink")
// アップロードするファイルの内容を指定します。
const file = new Blob(['examplecontent'])
// バケット内のオブジェクトの名前を指定します。
const fileName = 'exampleobject.txt'
// ファイルをアップロードします。
upload.addEventListener('click', () => {
client.put(fileName, file).then(r => console.log(r))
})
// symlink.txt という名前のシンボリックリンクを作成します。
symlink.addEventListener('click', () => {
client.putSymlink('symlink.txt', fileName).then(r => console.log(r))
})
</script>
</body>
</html>シンボリックリンクのターゲットオブジェクト名の取得
シンボリックリンクのターゲットオブジェクトの名前を取得するには、シンボリックリンクに対する読み取り権限が必要です。次のコードを使用してターゲットオブジェクトの名前を取得します。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id='getSymlink'>Get Symbolic Link</button>
<!--SDK ファイルをインポートします。-->
<script type="text/javascript" src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
<script type="text/javascript">
const client = new OSS({
// バケットが配置されているリージョンに region を設定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、region を oss-cn-hangzhou に設定します。
region: 'yourRegion',
authorizationV4: true,
// STS から取得した一時的な AccessKey ID と AccessKey Secret。
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// STS から取得したセキュリティトークン (SecurityToken)。
stsToken: 'yourSecurityToken',
// バケット名を指定します。例:examplebucket。
bucket: "examplebucket",
});
const getSymlink = document.getElementById("getSymlink")
// シンボリックリンクのターゲットオブジェクトの名前を取得します。
getSymlink.addEventListener('click', () => {
client.getSymlink('symlink.txt').then(r => console.log(r))
})
</script>
</body>
</html>関連ドキュメント
シンボリックリンクの作成
シンボリックリンクを作成する方法を示す完全なサンプルコードについては、GitHub の例をご参照ください。
シンボリックリンクを作成するための API 操作の詳細については、PutSymlink をご参照ください。
シンボリックリンクのターゲットオブジェクトの取得
シンボリックリンクのターゲットオブジェクトを取得する方法を示す完全なサンプルコードについては、GitHub の例をご参照ください。
シンボリックリンクのターゲットオブジェクトを取得するための API 操作の詳細については、GetSymlink をご参照ください。