Les liens symboliques fonctionnent comme des raccourcis de fichiers sous Windows et vous permettent d’accéder rapidement aux objets associés dans Object Storage Service (OSS).
Notes d’utilisation
Si vous utilisez des outils d’empaquetage tels que Webpack et Browserify, installez le kit SDK OSS pour Browser.js en exécutant la commande npm install ali-oss.
Si vous souhaitez accéder à un compartiment OSS depuis un navigateur sans avoir configuré de règles CORS, le navigateur rejettera la requête. Vous devez donc configurer des règles CORS pour le compartiment afin d’y accéder depuis un navigateur. Pour plus d’informations, consultez la section Installation.
-
Le kit SDK OSS pour Browser.js s’exécute généralement dans un navigateur. Pour éviter d’exposer votre paire de clés AccessKey, nous vous recommandons d’utiliser des identifiants d’accès temporaires obtenus via Security Token Service (STS) pour accéder à OSS.
Les identifiants d’accès temporaires se composent d’une paire de clés AccessKey et d’un jeton de sécurité. La paire de clés AccessKey comprend un AccessKey ID et un AccessKey Secret. Pour savoir comment obtenir des identifiants d’accès temporaires, consultez la section Utiliser STS pour une autorisation d’accès temporaire.
Créer un lien symbolique
Le code suivant montre comment créer un lien symbolique :
<!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>
<!-- Import the SDK file -->
<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({
// Specify the region in which the bucket is located. For example, if your bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou.
region: 'yourRegion',
authorizationV4: true,
// Specify the temporary AccessKey pair obtained from STS. The AccessKey pair consists of an AccessKey ID and an AccessKey secret.
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// Specify the security token obtained from STS.
stsToken: 'yourSecurityToken',
// Specify the name of the bucket. Example: examplebucket.
bucket: "examplebucket",
});
const upload = document.getElementById('upload')
const symlink = document.getElementById('symlink')
const getSymlink = document.getElementById("getSymlink")
// Specify the content of the object to upload.
const file = new Blob(['examplecontent'])
// Specify the name of the object to upload to the bucket.
const fileName = 'exampleobject.txt'
// Upload the object.
upload.addEventListener('click', () => {
client.put(fileName, file).then(r => console.log(r))
})
// Create a symbolic link named symlink.txt.
symlink.addEventListener('click', () => {
client.putSymlink('symlink.txt', fileName).then(r => console.log(r))
})
</script>
</body>
</html>
Interroger le nom de l’objet ciblé par le lien symbolique
Pour interroger un lien symbolique, vous devez disposer des autorisations de lecture sur ce lien. Le code suivant montre comment récupérer le nom de l’objet ciblé par le lien symbolique :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id='getSymlink'>Query Symbolic Link</button>
<!-- Import the SDK file -->
<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({
// Specify the region in which the bucket is located. For example, if your bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou.
region: 'yourRegion',
authorizationV4: true,
// Specify the temporary AccessKey pair obtained from STS. The AccessKey pair consists of an AccessKey ID and an AccessKey secret.
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// Specify the security token obtained from STS.
stsToken: 'yourSecurityToken',
// Specify the name of the bucket. Example: examplebucket.
bucket: "examplebucket",
});
const getSymlink = document.getElementById("getSymlink")
// Query the name of the object to which the symbolic link points.
getSymlink.addEventListener('click', () => {
client.getSymlink('symlink.txt').then(r => console.log(r))
})
</script>
</body>
</html>
Références
-
Créer un lien symbolique
Pour consulter l’exemple de code complet relatif à la création d’un lien symbolique, rendez-vous sur GitHub.
Pour plus d’informations sur l’opération API permettant de créer un lien symbolique, consultez la section PutSymlink.
-
Interroger l’objet ciblé par un lien symbolique
Pour consulter l’exemple de code complet relatif à l’interrogation de l’objet ciblé par un lien symbolique, rendez-vous sur GitHub.
Pour plus d’informations sur l’opération API permettant d’interroger l’objet ciblé par un lien symbolique, consultez la section GetSymlink.