Topik ini menjelaskan cara mengelola tag untuk sebuah bucket.
Peringatan
Secara default, kode contoh dalam topik ini menggunakan Titik akhir publik Wilayah China (Hangzhou) (
cn-hangzhou). 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 pemetaan antara Wilayah OSS dan Titik akhir, lihat Wilayah dan Titik akhir.
Kode contoh
Setel tag untuk sebuah bucket
Gunakan kode contoh berikut untuk menetapkan tag pada sebuah bucket.
<?php
// Impor file autoloader untuk memuat pustaka dependensi.
require_once __DIR__ . '/../vendor/autoload.php';
use AlibabaCloud\Oss\V2 as Oss;
// Tentukan deskripsi untuk argumen baris perintah.
$optsdesc = [
"region" => ['help' => 'Wilayah tempat bucket berada', 'required' => True], // Wilayah tempat bucket berada. Argumen ini wajib.
"endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS', 'required' => False], // Titik akhir yang dapat digunakan layanan lain untuk mengakses OSS. Argumen ini opsional.
"bucket" => ['help' => 'Nama bucket', 'required' => True], // Nama bucket. Argumen ini wajib.
];
// Hasilkan daftar opsi panjang untuk mengurai argumen baris perintah.
$longopts = \array_map(function ($key) {
return "$key:"; // Tanda titik dua (:) ditambahkan di akhir setiap argumen untuk menunjukkan bahwa nilai diperlukan.
}, array_keys($optsdesc));
// Uraikan argumen baris perintah.
$options = getopt("", $longopts);
// Periksa apakah argumen yang diperlukan telah ditentukan.
foreach ($optsdesc as $key => $value) {
if ($value['required'] === True && empty($options[$key])) {
$help = $value['help'];
echo "Error: argumen berikut diperlukan: --$key, $help"; // Beri tahu pengguna bahwa argumen yang diperlukan hilang.
exit(1);
}
}
// Dapatkan nilai argumen baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.
$bucket = $options["bucket"]; // Nama bucket.
// Gunakan variabel lingkungan untuk memuat kredensial, termasuk ID AccessKey dan Rahasia AccessKey.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault();
// Tetapkan penyedia kredensial.
$cfg->setCredentialsProvider($credentialsProvider);
// Tetapkan wilayah.
$cfg->setRegion($region);
// Jika endpoint disediakan, tetapkan endpoint.
if (isset($options["endpoint"])) {
$cfg->setEndpoint($options["endpoint"]);
}
// Buat instance klien OSS.
$client = new Oss\Client($cfg);
// Buat objek penandaan bucket yang berisi beberapa pasangan kunci-nilai.
$tagging = new Oss\Models\Tagging(
tagSet: new Oss\Models\TagSet(
tags: [new Oss\Models\Tag(key: 'key1', value: 'value1'), new Oss\Models\Tag(key: 'key2', value: 'value2')]
)
);
// Buat objek permintaan untuk menetapkan tag bucket dan lewati konten tag.
$request = new Oss\Models\PutBucketTagsRequest(bucket: $bucket, tagging: $tagging);
// Panggil metode putBucketTags untuk menetapkan tag pada bucket.
$result = $client->putBucketTags($request);
// Cetak tanggapan.
printf(
'kode status:' . $result->statusCode . PHP_EOL . // Kode status HTTP dari tanggapan.
'ID permintaan:' . $result->requestId // ID unik dari permintaan.
);
Kueri tag sebuah bucket
Gunakan kode contoh berikut untuk menanyakan tag sebuah bucket.
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Impor file autoloader untuk memuat pustaka dependensi.
use AlibabaCloud\Oss\V2 as Oss;
// Tentukan deskripsi untuk argumen baris perintah.
$optsdesc = [
"region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // Wilayah tempat bucket berada. Argumen ini wajib. Contoh: oss-cn-hangzhou.
"endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // Titik akhir yang dapat digunakan layanan lain untuk mengakses OSS. Argumen ini opsional.
"bucket" => ['help' => 'Nama bucket', 'required' => True], // Nama bucket. Argumen ini wajib.
];
$longopts = \array_map(function ($key) {
return "$key:"; // Tanda titik dua (:) ditambahkan di akhir setiap argumen untuk menunjukkan bahwa nilai diperlukan.
}, array_keys($optsdesc));
// Uraikan argumen baris perintah.
$options = getopt("", $longopts);
// Periksa apakah argumen yang diperlukan telah ditentukan.
foreach ($optsdesc as $key => $value) {
if ($value['required'] === True && empty($options[$key])) {
$help = $value['help'];
echo "Error: argumen berikut diperlukan: --$key, $help"; // Beri tahu pengguna bahwa argumen yang diperlukan hilang.
exit(1);
}
}
// Dapatkan nilai argumen baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.
$bucket = $options["bucket"]; // Nama bucket.
// Gunakan variabel lingkungan untuk memuat kredensial, termasuk ID AccessKey dan Rahasia AccessKey.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider(); // Muat kredensial dari variabel lingkungan.
// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault(); // Muat konfigurasi default dari SDK.
$cfg->setCredentialsProvider($credentialsProvider); // Tetapkan penyedia kredensial.
$cfg->setRegion($region); // Tetapkan wilayah.
if (isset($options["endpoint"])) {
$cfg->setEndpoint($options["endpoint"]); // Jika endpoint disediakan, tetapkan endpoint.
}
// Buat instance klien OSS.
$client = new Oss\Client($cfg); // Buat instance klien OSS.
// Buat objek permintaan untuk mendapatkan tag bucket.
$request = new Oss\Models\GetBucketTagsRequest(bucket: $bucket); // Buat objek permintaan untuk mendapatkan informasi tag bucket yang ditentukan.
// Panggil metode getBucketTags untuk mendapatkan tag bucket.
$result = $client->getBucketTags($request); // Panggil metode getBucketTags untuk mendapatkan informasi tag bucket.
// Cetak tanggapan.
printf(
'kode status:' . $result->statusCode . PHP_EOL . // Kode status HTTP dari tanggapan.
'ID permintaan:' . $result->requestId . PHP_EOL . // ID unik dari permintaan.
'tag:' . var_export($result->tagging, true) // Informasi tag yang dikembalikan, ditampilkan dalam array.
);
Hapus semua tag sebuah bucket
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Impor file autoloader untuk memuat pustaka dependensi.
use AlibabaCloud\Oss\V2 as Oss;
// Tentukan deskripsi untuk argumen baris perintah.
$optsdesc = [
"region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // Wilayah tempat bucket berada. Argumen ini wajib. Contoh: oss-cn-hangzhou.
"endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // Titik akhir yang dapat digunakan layanan lain untuk mengakses OSS. Argumen ini opsional.
"bucket" => ['help' => 'Nama bucket', 'required' => True], // Nama bucket. Argumen ini wajib.
];
$longopts = \array_map(function ($key) {
return "$key:"; // Tanda titik dua (:) ditambahkan di akhir setiap argumen untuk menunjukkan bahwa nilai diperlukan.
}, array_keys($optsdesc));
// Uraikan argumen baris perintah.
$options = getopt("", $longopts);
// Periksa apakah argumen yang diperlukan telah ditentukan.
foreach ($optsdesc as $key => $value) {
if ($value['required'] === True && empty($options[$key])) {
$help = $value['help'];
echo "Error: argumen berikut diperlukan: --$key, $help"; // Beri tahu pengguna bahwa argumen yang diperlukan hilang.
exit(1);
}
}
// Dapatkan nilai argumen baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.
$bucket = $options["bucket"]; // Nama bucket.
// Gunakan variabel lingkungan untuk memuat kredensial, termasuk ID AccessKey dan Rahasia AccessKey.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault(); // Muat konfigurasi default dari SDK.
$cfg->setCredentialsProvider($credentialsProvider); // Tetapkan penyedia kredensial.
$cfg->setRegion($region); // Tetapkan wilayah.
if (isset($options["endpoint"])) {
$cfg->setEndpoint($options["endpoint"]); // Jika endpoint disediakan, tetapkan endpoint.
}
// Buat instance klien OSS.
$client = new Oss\Client($cfg); // Buat instance klien OSS.
// Buat objek permintaan untuk menghapus tag bucket.
$request = new Oss\Models\DeleteBucketTagsRequest(bucket: $bucket);
// Panggil metode deleteBucketTags untuk menghapus tag bucket.
$result = $client->deleteBucketTags($request);
// Cetak tanggapan.
printf(
'kode status:' . $result->statusCode . PHP_EOL . // Kode status HTTP dari tanggapan.
'ID permintaan:' . $result->requestId // ID unik dari permintaan.
);
Referensi
Untuk informasi lebih lanjut tentang operasi API untuk menetapkan tag bucket, lihat PutBucketTags.
Untuk informasi lebih lanjut tentang operasi API untuk mendapatkan tag bucket, lihat GetBucketTags.
Untuk informasi lebih lanjut tentang operasi API untuk menghapus tag bucket, lihat DeleteBucketTags.