Los enlaces simbólicos funcionan como los accesos directos de archivos en Windows. Le permiten acceder rápidamente a los objetos asociados en Object Storage Service (OSS).
Notas de uso
Si utiliza herramientas de empaquetado como Webpack y Browserify, instale OSS SDK for Browser.js al ejecutar el comando npm install ali-oss.
Si desea acceder a un bucket de OSS desde un navegador, pero no hay reglas de CORS configuradas para ese bucket, el navegador rechazará la solicitud. Por lo tanto, debe configurar las reglas de CORS del bucket al que quiera acceder desde un navegador. Para obtener más información, consulte Installation.
-
En la mayoría de los casos, OSS SDK for Browser.js se usa dentro de navegadores. Para evitar que su par de AccessKey quede expuesto, se recomienda utilizar credenciales de acceso temporales obtenidas de Security Token Service (STS) para acceder a OSS.
Las credenciales de acceso temporales constan de un par de AccessKey y un token de seguridad. El par de AccessKey está formado por un AccessKey ID y un AccessKey secret. Para conocer el procedimiento de obtención de credenciales de acceso temporales, consulte Use STS for temporary access authorization.
Creación de un enlace simbólico
A continuación se muestra un ejemplo de código para crear un enlace simbólico:
<!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>
Consulta del nombre del objeto al que apunta el enlace simbólico
Para consultar un enlace simbólico, necesita permisos de lectura sobre dicho enlace. A continuación se muestra un ejemplo de código para consultar el nombre del objeto al que apunta el enlace simbólico:
<!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>
Referencias
-
Creación de un enlace simbólico
Para consultar el código de ejemplo completo utilizado para crear un enlace simbólico, visite GitHub.
Para obtener más información sobre la operación de API que permite crear un enlace simbólico, consulte PutSymlink.
-
Consulta del objeto al que apunta un enlace simbólico
El código de ejemplo completo para consultar el objeto al que apunta un enlace simbólico está disponible en GitHub.
Para conocer los detalles de la operación de API que consulta el objeto al que apunta un enlace simbólico, consulte GetSymlink.