Tag bucket memungkinkan Anda mengklasifikasikan dan mengelola bucket Layanan Penyimpanan Objek (OSS) secara efisien. Sebagai contoh, Anda dapat mencantumkan hanya bucket yang memiliki tag tertentu saat memanggil operasi ListBuckets.
Catatan penggunaan
Dalam topik ini, titik akhir publik Wilayah Hangzhou, Tiongkok digunakan. Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir OSS, lihat Wilayah dan Titik Akhir OSS.
Dalam topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses Menggunakan OSS SDK for Python 1.0.
Dalam topik ini, instans OSSClient dibuat dengan menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient dengan menggunakan nama domain kustom atau Layanan Token Keamanan (STS), lihat Inisialisasi.
Hanya pemilik bucket dan pengguna yang diberi izin
oss:PutBucketTaggingyang dapat mengonfigurasi tag untuk bucket. Jika pengguna lain mencoba mengonfigurasi tag untuk bucket, pesan 403 Forbidden yang berisi kode kesalahan AccessDenied akan dikembalikan.Anda dapat mengonfigurasi hingga 20 tag untuk sebuah bucket.
Kunci dan nilai dari sebuah tag harus dienkripsi dalam UTF-8.
Kunci dapat memiliki panjang hingga 64 karakter dan bersifat peka huruf besar/kecil. Kunci tidak boleh kosong. Kunci tidak boleh dimulai dengan
http://,https://, atauAliyun. Awalan ini tidak peka huruf besar/kecil.Nilai dari sebuah tag dapat memiliki panjang hingga 128 karakter dan bisa dibiarkan kosong.
Konfigurasikan tag untuk sebuah bucket
Berikut adalah contoh kode sampel yang menunjukkan cara mengonfigurasi tag untuk bucket bernama examplebucket:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import Tagging, TaggingRule
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Tentukan titik akhir wilayah tempat bucket berada. Sebagai contoh, jika bucket berada di Wilayah Hangzhou, Tiongkok, atur titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan ID wilayah yang sesuai dengan titik akhir. Contoh: cn-hangzhou. Parameter ini diperlukan jika Anda menggunakan algoritma tanda tangan V4.
region = "cn-hangzhou"
# Tentukan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)
# Buat aturan penandaan untuk bucket.
rule = TaggingRule()
rule.add('key1', 'value1')
rule.add('key2', 'value2')
# Buat tag untuk bucket.
tagging = Tagging(rule)
# Konfigurasikan tag untuk bucket.
result = bucket.put_bucket_tagging(tagging)
# Tampilkan kode status HTTP yang dikembalikan.
print('http status:', result.status)Kueri tag dari sebuah bucket
Berikut adalah contoh kode sampel yang menunjukkan cara mengkueri tag dari bucket bernama examplebucket:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Tentukan titik akhir wilayah tempat bucket berada. Sebagai contoh, jika bucket berada di Wilayah Hangzhou, Tiongkok, atur titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan ID wilayah yang sesuai dengan titik akhir. Contoh: cn-hangzhou. Parameter ini diperlukan jika Anda menggunakan algoritma tanda tangan V4.
region = "cn-hangzhou"
# Tentukan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)
# Kueri tag dari bucket.
result = bucket.get_bucket_tagging()
# Tampilkan aturan penandaan.
tag_rule = result.tag_set.tagging_rule
print('aturan tag:', tag_rule)Daftar bucket yang memiliki tag tertentu
Berikut adalah contoh kode sampel yang menunjukkan cara mendaftarkan bucket yang memiliki tag tertentu:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Buat objek server.
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Tentukan titik akhir wilayah tempat bucket berada. Sebagai contoh, jika bucket berada di Wilayah Hangzhou, Tiongkok, atur titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan ID wilayah yang sesuai dengan titik akhir. Contoh: cn-hangzhou. Parameter ini diperlukan jika Anda menggunakan algoritma tanda tangan V4.
region = "cn-hangzhou"
service = oss2.Service(auth, endpoint, region=region)
# Tambahkan bidang tag-key dan tag-value ke parameter params dari operasi ListBuckets.
params = {}
params['tag-key'] = 'yourTagging_key'
params['tag-value'] = 'yourTagging_value'
# Daftarkan bucket yang memiliki tag tertentu.
result = service.list_buckets(params=params)
# Tampilkan hasil dari operasi daftar.
for bucket in result.buckets:
print('hasil nama_bucket:', bucket.name)Hapus tag dari sebuah bucket
Hapus semua tag dari sebuah bucket
Berikut adalah contoh kode sampel yang menunjukkan cara menghapus semua tag dari bucket bernama examplebucket:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Tentukan titik akhir wilayah tempat bucket berada. Sebagai contoh, jika bucket berada di Wilayah Hangzhou, Tiongkok, atur titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan ID wilayah yang sesuai dengan titik akhir. Contoh: cn-hangzhou. Parameter ini diperlukan jika Anda menggunakan algoritma tanda tangan V4.
region = "cn-hangzhou"
# Tentukan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)
# Hapus tag dari bucket.
result = bucket.delete_bucket_tagging()
# Tampilkan kode status HTTP yang dikembalikan.
print('http status:', result.status)Hapus tag tertentu dari sebuah bucket
Berikut adalah contoh kode sampel yang menunjukkan cara menghapus tag tertentu dari bucket bernama examplebucket:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# Tentukan titik akhir wilayah tempat bucket berada. Sebagai contoh, jika bucket berada di Wilayah Hangzhou, Tiongkok, atur titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
# Tentukan nama bucket. Contoh: examplebucket.
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')
params = dict()
# Hapus tag yang memiliki kunci key1.
params['tagging'] = "key1"
# Hapus tag tertentu dari bucket.
result = bucket.delete_bucket_tagging(params=params)
# Tampilkan kode status HTTP yang dikembalikan.
print('http status:', result.status)Referensi
Untuk kode sampel lengkap untuk mengelola tag dari sebuah bucket, kunjungi GitHub.
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk mengonfigurasi tag untuk sebuah bucket, lihat PutBucketTags.
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk mengkueri tag dari sebuah bucket, lihat GetBucketTags.
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk menghapus tag dari sebuah bucket, lihat DeleteBucketTags.