Las etiquetas de bucket le permiten clasificar y gestionar los buckets. Por ejemplo, puede especificar que se listen únicamente los buckets con etiquetas específicas al llamar a la operación ListBucket.
Notas de uso
En este tema se utiliza el endpoint público de la región China (Hangzhou). Para acceder a OSS desde otros servicios de Alibaba Cloud en la misma región, utilice un endpoint interno. Para obtener más información sobre las regiones y los endpoints compatibles, consulte Regions and endpoints.
En este tema, las credenciales de acceso se obtienen de variables de entorno. Para obtener más información, consulte 配置访问凭证.
Este tema muestra cómo crear una instancia de OSSClient con un endpoint de OSS. Para conocer configuraciones alternativas, como usar un dominio personalizado o autenticarse con credenciales de Security Token Service (STS), consulte Client configuration.
Cada bucket admite hasta 20 etiquetas (pares clave-valor).
Las claves y los valores de las etiquetas deben codificarse en UTF-8.
La clave de una etiqueta puede tener hasta 64 caracteres, distingue entre mayúsculas y minúsculas, y no puede estar vacía. Tampoco puede comenzar con
http://,https://niAliyun(sin distinción entre mayúsculas y minúsculas).El valor de una etiqueta puede tener hasta 128 caracteres y puede ser una cadena vacía.
Establecer etiquetas de bucket
A continuación se muestra un ejemplo de código para establecer etiquetas en un bucket.
const OSS = require('ali-oss')
const client = new OSS({
// Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
region: 'yourregion',
// Obtain access credentials from environment variables. Before you run this code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Set bucket to the name of your bucket.
bucket: 'yourBucketName',
});
// Set bucket tags.
async function putBucketTags(bucketName, tag) {
try {
const result = await client.putBucketTags(bucketName, tag);
console.log(result);
} catch (e) {
console.log(e);
}
}
const tag = { a: '1', b: '2' };
putBucketTags('yourBucketName', tag)
Obtener etiquetas de bucket
A continuación se muestra un ejemplo de código para obtener las etiquetas de un bucket.
const OSS = require('ali-oss')
const client = new OSS({
// Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
region: 'yourregion',
// Obtain access credentials from environment variables. Before you run this code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Set bucket to the name of your bucket.
bucket: 'yourBucketName',
});
// Get bucket tags.
async function getBucketTags(bucketName) {
try {
const result = await client.getBucketTags(bucketName);
console.log(result);
} catch (e) {
console.log(e);
}
}
getBucketTags('yourBucketName')
Listar buckets con etiquetas específicas
A continuación se muestra un ejemplo de código para listar los buckets que tienen una etiqueta específica:
const OSS = require('ali-oss')
const client = new OSS({
// Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
region: 'yourregion',
// Obtain access credentials from environment variables. Before you run this code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Set bucket to the name of your bucket.
bucket: 'yourBucketName',
});
// List buckets with specified tags.
async function listBucketTags() {
try {
const params = {
// Add the tag-key and tag-value fields to the params parameter of the listBuckets operation.
'tag-key': 'yourTagKey',
'tag-value': 'yourTagValue'
}
const result = await client.listBuckets(params);
console.log(result);
} catch (err) {
console.log(err);
}
}
listBucketTags();
Eliminar etiquetas de bucket
A continuación se muestra un ejemplo de código para eliminar las etiquetas de un bucket.
const OSS = require('ali-oss')
const client = new OSS({
// Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
region: 'yourregion',
// Obtain access credentials from environment variables. Before you run this code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Set bucket to the name of your bucket.
bucket: 'yourBucketName',
});
// Delete bucket tags.
async function deleteBucketTags(bucketName) {
try {
const result = await client.deleteBucketTags(bucketName);
console.log(result);
} catch (e) {
console.log(e);
}
}
deleteBucketTags('yourBucketName')
Referencias
Para consultar el código de ejemplo completo del etiquetado de buckets, visite GitHub.
Para obtener más información sobre la operación de API utilizada para establecer etiquetas de bucket, consulte PutBucketTags.
Si necesita detalles sobre la operación de API para obtener etiquetas de bucket, consulte GetBucketTags.
En cuanto a la operación de API para eliminar etiquetas de bucket, consulte DeleteBucketTags.