Topik ini menjelaskan cara menggunakan OSS SDK untuk PHP 2.0 untuk menghapus tag dari sebuah objek.
Catatan
Kode contoh dalam topik ini menggunakan ID Wilayah
cn-hangzhouuntuk wilayah China (Hangzhou). Secara default, titik akhir publik digunakan untuk mengakses sumber daya dalam bucket. Jika Anda mengakses sumber daya dari layanan Alibaba Cloud lainnya di wilayah yang sama dengan bucket tersebut, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang Wilayah dan titik akhir yang didukung oleh OSS, lihat Wilayah dan titik akhir.Untuk menghapus tag objek, Anda harus memiliki izin
oss:DeleteObjectTagging. Untuk informasi lebih lanjut, lihat Lampirkan kebijakan kustom ke Pengguna RAM.
Pasangan nilai-kunci digunakan untuk mengidentifikasi objek. Untuk informasi lebih lanjut, lihat Penandaan objek.
Untuk informasi lebih lanjut tentang cara menghapus tag, lihat DeleteObjectTagging.
Kode contoh
Berikut adalah kode contoh untuk menghapus tag dari objek tertentu dalam sebuah bucket:
<?php
// Masukkan file autoload untuk memuat pustaka dependen.
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], // (Diperlukan) Tentukan wilayah tempat bucket berada.
"endpoint" => ['help' => Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // (Opsional) Tentukan titik akhir yang dapat digunakan oleh layanan lain untuk mengakses OSS.
"bucket" => ['help' => Nama bucket, 'required' => True], // (Diperlukan) Tentukan nama bucket.
"key" => ['help' => Nama objek, 'required' => True], // (Diperlukan) Tentukan nama objek.
];
// Ubah deskripsi menjadi daftar opsi panjang yang diperlukan oleh getopt.
// Tambahkan tanda titik dua (:) di akhir setiap parameter untuk menunjukkan bahwa nilai diperlukan.
$longopts = \array_map(function ($key) {
return "$key:";
}, array_keys($optsdesc));
// Analisis argumen baris perintah.
$options = getopt("", $longopts);
// Periksa apakah parameter yang diperlukan telah dikonfigurasi.
foreach ($optsdesc as $key => $value) {
if ($value['required'] === True && empty($options[$key])) {
$help = $value['help']; // Dapatkan informasi bantuan untuk parameter.
echo "Error: argumen berikut diperlukan: --$key, $help" . PHP_EOL;
exit(1); // Keluar dari program jika parameter yang diperlukan tidak dikonfigurasi.
}
}
// Dapatkan nilai dari parameter yang telah dianalisis.
$region = $options["region"]; // Wilayah tempat bucket berada.
$bucket = $options["bucket"]; // Nama bucket.
$key = $options["key"]; // Nama objek.
// Dapatkan kredensial akses dari variabel lingkungan.
// Gunakan EnvironmentVariableCredentialsProvider untuk mengambil ID AccessKey dan Rahasia AccessKey dari variabel lingkungan.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault();
$cfg->setCredentialsProvider($credentialsProvider); // Tentukan penyedia kredensial.
$cfg->setRegion($region); // Tentukan wilayah tempat bucket berada.
if (isset($options["endpoint"])) {
$cfg->setEndpoint($options["endpoint"]); // Tentukan titik akhir jika disediakan.
}
// Buat instance OSSClient.
$client = new Oss\Client($cfg);
// Buat objek PutObjectTaggingRequest untuk menghapus tag yang dikonfigurasikan untuk objek.
$request = new Oss\Models\DeleteObjectTaggingRequest(
bucket: $bucket,
key: $key
);
// Hapus tag objek.
$result = $client->deleteObjectTagging($request);
// Tampilkan hasil penghapusan.
printf(
'kode status:' . $result->statusCode . PHP_EOL . // Kode status HTTP. Misalnya, kode status HTTP 204 menunjukkan bahwa tag telah dihapus.
'ID permintaan:' . $result-> requestId. PHP_EOL // ID permintaan, yang digunakan untuk men-debug atau melacak permintaan.
);