全部产品
Search
文档中心

Object Storage Service:set-meta, set-meta

更新时间:Jul 02, 2025

Object Storage Service (OSS) menggunakan metadata objek untuk mendeskripsikan sebuah objek. Metadata mencakup header HTTP standar dan metadata pengguna. Header HTTP dapat digunakan untuk menentukan kebijakan kustom pada permintaan HTTP, sedangkan metadata pengguna dapat digunakan untuk mengidentifikasi tujuan atau atribut objek. Anda dapat menjalankan perintah set-meta untuk mengonfigurasi, memodifikasi, atau menghapus metadata objek.

Catatan Penggunaan

  • Untuk mengonfigurasi metadata satu objek, Anda memerlukan izin oss:GetObject, oss:PutObject, oss:GetObjectVersion, dan oss:GetObjectAcl. Untuk beberapa objek sekaligus, Anda memerlukan izin oss:GetObject, oss:PutObject, oss:GetObjectVersion, dan oss:ListObjects. Untuk informasi lebih lanjut, lihat Lampirkan kebijakan kustom ke pengguna RAM.

  • Mulai versi ossutil 1.6.16, Anda dapat langsung menggunakan nama biner ossutil di baris perintah tanpa memperbarui berdasarkan sistem operasi. Untuk versi sebelum 1.6.16, Anda harus memperbarui nama biner sesuai dengan sistem operasi. Untuk informasi lebih lanjut, lihat Referensi perintah ossutil.

  • Setelah mengonfigurasi atau memperbarui metadata objek dengan perintah set-meta, Anda dapat menjalankan perintah stat untuk melihat metadata objek. Untuk informasi lebih lanjut, lihat stat.

Sintaks Perintah

ossutil set-meta oss://namabucket[/prefix] 
[header:nilai#header:nilai...]
[--update]
[--delete] 
[-r, --recursive] 
[-f, --force]
[--object-file, <nilai>]
[--snapshot-path, <nilai>]
[--disable-ignore-error]
[--version <nilai>]
[--include <nilai>]
[--exclude <nilai>]

Tabel berikut menjelaskan parameter dan opsi dalam sintaks perintah.

Parameter/Opsi

Deskripsi

namabucket

Nama bucket.

prefix

Awalan dalam nama sumber daya di bucket, seperti direktori dan objek.

header:nilai#header:nilai...

Header metadata dalam bentuk pasangan kunci-nilai. Kunci header tidak peka huruf besar/kecil, sedangkan nilai header peka huruf besar/kecil. Jika Anda ingin mengonfigurasi beberapa header metadata, pisahkan header metadata tersebut dengan tanda pagar (#). Contoh: Cache-Control:no-cache#Expires:2022-10-12T00:00:00.000Z.

Anda dapat mengonfigurasi header berikut:

Headers:
      Expires(time.RFC3339:2006-01-02T15:04:05Z07:00)
      X-Oss-Object-Acl
      Origin
      X-Oss-Storage-Class
      Content-Encoding
      Cache-Control
      Content-Disposition
      Accept-Encoding
      X-Oss-Server-Side-Encryption
      Content-Type
      Headers yang memiliki awalan X-Oss-Meta-

Untuk informasi lebih lanjut tentang cara menggunakan header, lihat Kelola metadata objek.

--update

Memperbarui metadata objek. Opsi ini dapat disingkat menjadi -u dan tidak dapat digunakan bersamaan dengan --delete.

--delete

Menghapus metadata objek. Opsi ini tidak dapat digunakan bersamaan dengan --update.

-r, --recursive

Menentukan objek yang dapat Anda konfigurasikan metadata-nya. Jika Anda menentukan opsi ini, ossutil mengonfigurasi metadata untuk semua objek yang namanya mengandung awalan tertentu di bucket. Jika Anda tidak menentukan opsi ini, ossutil hanya mengonfigurasi metadata untuk objek yang ditentukan.

-f, --force

Memaksa operasi tanpa memerlukan konfirmasi.

--object-file

Menentukan objek yang ingin Anda konfigurasikan, perbarui, atau hapus metadata-nya sekaligus. Untuk menggunakan opsi ini, lakukan langkah-langkah berikut:

  1. Tentukan file TXT atau XML lokal. Kemudian, masukkan nama semua objek yang ingin Anda konfigurasikan, perbarui, atau hapus metadata-nya di file tersebut. Pisahkan beberapa nama dengan pemisah baris baru.

  2. Gunakan ossutil untuk membaca semua nama objek dari file lokal untuk konfigurasi metadata, pembaruan, atau penghapusan.

Catatan

Jika terjadi kesalahan pada salah satu objek, ossutil mencatat informasi kesalahan tentang objek tersebut di file laporan dan melanjutkan operasi pada objek lainnya. Informasi tentang objek yang metadata-nya dikonfigurasi, diperbarui, atau dihapus tidak dicatat di file laporan.

--snapshot-path

Jalur snapshot. Jika Anda menentukan opsi ini, ossutil hanya menghasilkan snapshot untuk objek yang terlibat dalam operasi ini. Jika snapshot sudah dihasilkan untuk objek yang terlibat dalam operasi ini, tidak ada snapshot yang dihasilkan lagi untuk objek tersebut.

Catatan

Opsi ini harus digunakan bersamaan dengan -r, --recursive atau --object-file.

--disable-ignore-error

Menentukan bahwa kesalahan selama operasi batch tidak diabaikan.

--version-id

ID versi objek yang metadata-nya ingin Anda kelola. Opsi ini hanya berlaku jika status versioning bucket diaktifkan atau ditangguhkan.

--include

Termasuk semua objek yang memenuhi kondisi tertentu.

Untuk informasi lebih lanjut, lihat Opsi --include dan --exclude.

--exclude

Mengecualikan semua objek yang memenuhi kondisi tertentu.

Untuk informasi lebih lanjut, lihat Opsi --include dan --exclude.

Konfigurasi atau Pembaruan Metadata Objek

Pada contoh perintah tanpa opsi --update, jika Anda tidak menentukan header:nilai#header:nilai..., hanya metadata pengguna yang dimulai dengan X-Oss-Meta- yang dipertahankan tanpa perubahan nilai. Untuk header HTTP, ossutil menggunakan mode interaktif untuk menanyakan apakah Anda ingin mempertahankan header tersebut.

  • Contoh 1: Konfigurasi atau pembaruan metadata untuk satu objek

    • Jalankan perintah berikut untuk menetapkan daftar kontrol akses (ACL) objek exampleobject.txt di bucket examplebucket menjadi private:

      ossutil set-meta oss://examplebucket/exampleobject.txt X-Oss-Object-Acl:private
    • Jalankan perintah berikut untuk menetapkan kelas penyimpanan versi tertentu dari objek exampleobject.txt di bucket examplebucket menjadi Standard:

      ossutil set-meta oss://examplebucket/exampleobject.txt X-Oss-Storage-Class:Standard --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk
    • Jalankan perintah berikut untuk menetapkan kelas penyimpanan versi tertentu dari objek exampleobject.txt di bucket examplebucket menjadi Cold Archive:

      ossutil set-meta oss://examplebucket/exampleobject.txt X-Oss-Storage-Class:ColdArchive --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk
      Catatan

      Kelas penyimpanan tidak berubah hingga perintah set-meta selesai. Kelas penyimpanan baru diterapkan setelah perintah berhasil.

      Untuk informasi lebih lanjut tentang cara menanyakan versi objek, lihat Is.

    • Jalankan perintah berikut untuk menetapkan ACL objek exampleobject.txt di bucket examplebucket menjadi public-read:

      ossutil set-meta oss://examplebucket/exampleobject.txt X-Oss-Object-Acl:public-read --update

      Saat menggunakan opsi --update, header yang ditentukan diperbarui ke nilai yang ditentukan. Anda dapat meninggalkan nilai header kosong. Jika nilai header dibiarkan kosong, nilai asli tetap tidak berubah. Dalam contoh ini, ACL objek exampleobject.txt diperbarui menjadi public-read, sementara metadata lainnya tetap tidak berubah.

  • Contoh 2: Konfigurasi atau pembaruan metadata untuk beberapa objek di direktori yang sama secara bersamaan

    Jika terjadi kesalahan saat mengonfigurasi atau memodifikasi metadata salah satu objek, ossutil mencatat informasi kesalahan di file laporan di direktori ossutil_output. Informasi tentang objek yang berhasil dikonfigurasi tidak dicatat dalam file laporan.

    • Konfigurasi metadata untuk objek dengan awalan tertentu

      Perintah berikut mengubah perilaku caching objek dengan awalan src di nama mereka di bucket examplebucket menjadi no-cache dan ACL objek menjadi private menggunakan opsi -r:

      ossutil set-meta oss://examplebucket/src Cache-Control:no-cache#X-Oss-Object-Acl:private -r                             
    • Modifikasi metadata untuk objek yang memenuhi kondisi tertentu

      • Perintah berikut mengubah kelas penyimpanan objek .jpg di direktori desfolder bucket examplebucket menjadi Infrequent Access (IA) menggunakan opsi -r dan -u:

        ossutil set-meta oss://examplebucket/desfolder/ X-Oss-Storage-Class:IA --include "*.jpg" -u -r                                        
      • Perintah berikut mengubah kelas penyimpanan objek menjadi Archive menggunakan opsi -r dan -u: objek non-JPG dan non-TXT dengan nama yang mengandung abc di direktori desfolder bucket examplebucket.

        ossutil set-meta oss://examplebucket/desfolder/ X-Oss-Storage-Class:Archive --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -u -r
      Penting

      Saat menjalankan perintah set-meta untuk mengubah kelas penyimpanan objek Cold Archive atau Deep Cold Archive yang ukurannya lebih besar dari 100 MB, operasi mungkin gagal karena timeout server. Untuk mengubah kelas penyimpanan objek Cold Archive atau Deep Cold Archive yang ukurannya lebih besar dari 100 MB, disarankan untuk menggunakan perintah cp.

  • Contoh 3: Konfigurasi atau pembaruan metadata untuk beberapa objek di direktori yang sama atau berbeda

    • Konfigurasi atau pembaruan metadata untuk beberapa objek di direktori yang berbeda

      Sebagai contoh, Anda ingin mengonfigurasi atau memperbarui metadata objek berikut di direktori yang berbeda di bucket examplebucket: exampleobject1.jpg di direktori root, exampleobject2.png di direktori dir1/, dan exampleobject3.txt di direktori dir2/. Untuk mengonfigurasi atau memperbarui metadata objek-objek tersebut, ikuti langkah-langkah berikut:

      1. Tulis nama objek ke file localfile.txt.

        exampleobject1.jpg
        dir1/exampleobject2.png
        dir2/exampleobject3.txt
      2. Konfigurasi atau pembaruan metadata untuk objek-objek tersebut.

        Perintah berikut memberikan contoh cara mengubah perilaku caching objek menjadi no-cache dan ACL objek menjadi private menggunakan opsi --object-file, serta mengaktifkan snapshot.

        ossutil set-meta oss://examplebucket Cache-Control:no-cache#X-Oss-Object-Acl:private --update --object-file localfile.txt --snapshot-path dir/
    • Konfigurasi atau pembaruan metadata untuk beberapa objek di direktori yang sama

  • Contoh Output

    Jika perintah berhasil dijalankan, output serupa dengan hasil berikut akan dikembalikan untuk menunjukkan waktu yang dikonsumsi untuk mengonfigurasi atau memperbarui metadata objek:

    0.106852(s) elapsed

Hapus Metadata Pengguna

Penting

Jika Anda menggunakan opsi --delete untuk menghapus metadata pengguna, hanya metadata pengguna yang dimulai dengan X-Oss-Meta- yang dapat dihapus.

  • Contoh 1: Hapus metadata pengguna dari satu objek

    Perintah berikut memberikan contoh cara menghapus metadata pengguna yang dimulai dengan X-Oss-Meta- untuk objek exampleobject.txt di bucket examplebucket. Nilai metadata pengguna harus dibiarkan kosong.

    ossutil set-meta oss://examplebucket/exampleobject.txt X-Oss-Meta-Createdby  --delete
  • Contoh 2: Hapus metadata pengguna dari beberapa objek secara bersamaan

    Untuk menghapus metadata pengguna dari beberapa objek secara bersamaan, ikuti langkah-langkah berikut:

    1. Tulis nama objek yang metadata penggunanya ingin Anda hapus ke file localfile.txt.

      exampleobject1.jpg
      dir1/exampleobject2.png
      dir2/exampleobject3.txt
    2. Hapus metadata pengguna dari objek-objek tersebut.

      Perintah berikut memberikan contoh cara menghapus metadata pengguna yang dimulai dengan X-Oss-Meta- dari beberapa objek di bucket examplebucket secara bersamaan menggunakan opsi --object-file. Nilai header metadata harus kosong.

      ossutil set-meta oss://examplebucket X-Oss-Meta-Location --delete --object-file localfile.txt --snapshot-path dir/
  • Contoh Output

    Jika perintah berhasil dijalankan, output serupa dengan hasil berikut akan dikembalikan untuk menunjukkan waktu yang dikonsumsi untuk menghapus metadata pengguna:

    0.106846(s) elapsed

Opsi Umum

Jika Anda menggunakan ossutil untuk beralih ke bucket yang berada di wilayah lain, tambahkan opsi -e untuk menentukan titik akhir wilayah tempat bucket berada. Jika Anda menggunakan ossutil untuk beralih ke bucket yang dimiliki oleh akun Alibaba Cloud lain, tambahkan opsi -i untuk menentukan ID AccessKey dari akun tersebut, dan tambahkan opsi -k untuk menentukan Rahasia AccessKey dari akun tersebut.

Sebagai contoh, Anda dapat menjalankan perintah berikut untuk mengonfigurasi metadata untuk objek testobject.jpg di bucket testbucket yang berada di wilayah China (Shanghai) dan dimiliki oleh akun Alibaba Cloud lain:

ossutil set-meta oss://testbucket/testobject.jpg X-Oss-Object-Acl:private  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret

Untuk informasi lebih lanjut tentang opsi umum, lihat Opsi Umum.