All Products
Search
Document Center

Object Storage Service:Mengambil tag objek (PHP SDK V1)

Last Updated:Nov 29, 2025

Setelah menetapkan tag pada suatu objek, Anda dapat mengambil informasi tagnya. Jika Pengendalian versi diaktifkan untuk bucket, OSS secara default mengambil tag dari versi terkini objek tersebut. Untuk mengambil tag dari versi tertentu, tentukan ID versi (versionId) objek tersebut.

Catatan
  • Penandaan objek menggunakan pasangan kunci-nilai untuk memberi tag pada objek. Untuk informasi selengkapnya tentang penandaan objek, lihat Object tagging.

  • Untuk informasi selengkapnya tentang cara mengambil tag objek, lihat GetObjectTagging.

Perhatian

  • Topik ini menggunakan titik akhir publik wilayah China (Hangzhou). Untuk mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk detail wilayah dan titik akhir yang didukung, lihat Regions and endpoints.

  • Pada topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient dengan nama domain kustom atau Security Token Service (STS), lihat Create an OssClient instance.

  • Anda harus memiliki izin oss:GetObjectTagging untuk mengambil tag objek. Untuk informasi selengkapnya, lihat Grant custom access policies to a RAM user.

Mengambil tag objek

Jika Pengendalian versi dinonaktifkan untuk suatu bucket, Anda dapat mengambil informasi tag objek tersebut. Jika Pengendalian versi diaktifkan untuk bucket, OSS secara default mengambil tag dari versi terkini objek tersebut.

Kode berikut menunjukkan cara mengambil tag file exampleobject.txt di folder exampledir dalam bucket examplebucket.

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;

// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah ditetapkan. 
$provider = new EnvironmentVariableCredentialsProvider();
// Tetapkan yourEndpoint ke Endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tetapkan nama bucket. Contoh: examplebucket.
$bucket = "examplebucket";
// Tetapkan path lengkap objek. Contoh: exampledir/exampleobject.txt. Path lengkap tidak boleh mengandung nama bucket.
$object = "exampledir/exampleobject.txt";

$config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);

try {
    // Ambil tag objek.
    $config = $ossClient->getObjectTagging($bucket, $object);
    printf($object." tags are:".$config->serializeToXml(). "\n");
} catch (OssException $e) {
    printf($e->getMessage() . "\n");
    return;
}

Mengambil tag untuk versi objek tertentu

Jika Pengendalian versi diaktifkan untuk bucket, Anda dapat mengambil tag dari versi tertentu objek dengan menentukan ID versi (versionId) objek tersebut.

Kode berikut menunjukkan cara mengambil tag dari versi tertentu file exampleobject.txt di folder exampledir dalam bucket examplebucket.

Catatan

Untuk informasi selengkapnya tentang cara mendapatkan ID versi, lihat List objects (PHP SDK V1).

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;

// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah ditetapkan. 
$provider = new EnvironmentVariableCredentialsProvider();
// Tetapkan yourEndpoint ke Endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tetapkan nama bucket. Contoh: examplebucket.
$bucket = "examplebucket";
// Tetapkan path lengkap objek. Contoh: exampledir/exampleobject.txt. Path lengkap tidak boleh mengandung nama bucket.
$object = "exampledir/exampleobject.txt";
// Tetapkan ID versi objek.
$options = array(
    'versionId'=>'CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****'
);

$config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);

try {
   // Ambil tag objek.
   $config = $ossClient->getObjectTagging($bucket, $object,$options);
   printf($object." tags are:".$config->serializeToXml(). "\n");
} catch (OssException $e) {
   printf($e->getMessage() . "\n");
   return;
}