Anda dapat menggunakan fitur penandaan bucket untuk mengklasifikasikan dan mengelola bucket, misalnya dengan menampilkan hanya bucket yang memiliki tag tertentu.
Perhatian
Pada topik ini, digunakan titik akhir publik wilayah China (Hangzhou). Untuk mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk detail mengenai wilayah dan titik akhir yang didukung, lihat Wilayah dan titik akhir.
Pada topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi selengkapnya tentang cara mengonfigurasi kredensial akses, lihat Konfigurasi kredensial akses.
Pada topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Contoh konfigurasi untuk skenario umum.
Hanya Pemilik bucket dan pengguna yang diberikan izin
oss:PutBucketTaggingyang dapat mengonfigurasi tag untuk bucket. Jika pengguna lain mencoba mengonfigurasi tag untuk bucket, sistem akan mengembalikan pesan 403 Forbidden yang berisi kode kesalahan AccessDenied.Anda dapat mengonfigurasi hingga 20 tag (pasangan kunci-nilai) untuk setiap bucket.
Kunci dan nilai tag harus dikodekan dalam UTF-8.
Panjang kunci maksimal 64 karakter. Kunci bersifat case-sensitive dan tidak boleh kosong. Kunci tidak boleh diawali dengan
http://,https://, atauAliyun. Awalan-awalan ini tidak case-sensitive.Panjang nilai tag maksimal 128 karakter dan boleh kosong.
Atur tag bucket
Kode berikut memberikan contoh cara mengatur tag untuk bucket.
const OSS = require('ali-oss')
const client = new OSS({
// Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
region: 'yourregion',
// Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Setel bucket ke nama bucket Anda.
bucket: 'yourBucketName',
});
// Atur tag bucket.
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)Ambil tag bucket
Kode berikut memberikan contoh cara mengambil tag bucket.
const OSS = require('ali-oss')
const client = new OSS({
// Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
region: 'yourregion',
// Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Setel bucket ke nama bucket Anda.
bucket: 'yourBucketName',
});
// Ambil tag bucket.
async function getBucketTags(bucketName) {
try {
const result = await client.getBucketTags(bucketName);
console.log(result);
} catch (e) {
console.log(e);
}
}
getBucketTags('yourBucketName')Daftar bucket dengan tag tertentu
Kode berikut menunjukkan cara menampilkan daftar bucket yang memiliki tag tertentu.
const OSS = require('ali-oss')
const client = new OSS({
// Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
region: 'yourregion',
// Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Setel bucket ke nama bucket Anda.
bucket: 'yourBucketName',
});
// Tampilkan daftar bucket dengan tag tertentu.
async function listBucketTags() {
try {
const params = {
// Tambahkan bidang tag-key dan tag-value ke parameter params operasi listBuckets.
'tag-key': 'yourTagKey',
'tag-value': 'yourTagValue'
}
const result = await client.listBuckets(params);
console.log(result);
} catch (err) {
console.log(err);
}
}
listBucketTags();Hapus tag bucket
Kode berikut memberikan contoh cara menghapus tag bucket.
const OSS = require('ali-oss')
const client = new OSS({
// Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
region: 'yourregion',
// Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Setel bucket ke nama bucket Anda.
bucket: 'yourBucketName',
});
// Hapus tag bucket.
async function deleteBucketTags(bucketName) {
try {
const result = await client.deleteBucketTags(bucketName);
console.log(result);
} catch (e) {
console.log(e);
}
}
deleteBucketTags('yourBucketName')Referensi
Untuk kode contoh lengkap mengenai penandaan bucket, lihat GitHub.
Untuk informasi selengkapnya tentang operasi API yang digunakan untuk mengatur tag bucket, lihat PutBucketTags.
Untuk informasi selengkapnya tentang operasi API yang digunakan untuk mengambil tag bucket, lihat GetBucketTags.
Untuk informasi selengkapnya tentang operasi API yang digunakan untuk menghapus tag bucket, lihat DeleteBucketTags.