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, danoss:GetObjectAcl. Untuk beberapa objek sekaligus, Anda memerlukan izinoss:GetObject,oss:PutObject,oss:GetObjectVersion, danoss: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: Anda dapat mengonfigurasi header berikut: 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:
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:privateJalankan 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 CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRkJalankan 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 CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRkCatatanKelas 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 --updateSaat 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 -rModifikasi 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 -rPerintah 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
PentingSaat 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:
Tulis nama objek ke file localfile.txt.
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txtKonfigurasi 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
Metode 1
Untuk informasi lebih lanjut tentang cara mengonfigurasi atau memperbarui metadata untuk beberapa objek di direktori yang sama, lihat Contoh 3: Konfigurasi atau pembaruan metadata untuk beberapa objek di direktori yang sama atau berbeda.
Metode 2
Untuk informasi lebih lanjut tentang cara mengonfigurasi atau memperbarui metadata beberapa objek di direktori yang sama, lihat Contoh 2: Konfigurasi atau pembaruan metadata untuk beberapa objek di direktori yang sama secara bersamaan.
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
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 --deleteContoh 2: Hapus metadata pengguna dari beberapa objek secara bersamaan
Untuk menghapus metadata pengguna dari beberapa objek secara bersamaan, ikuti langkah-langkah berikut:
Tulis nama objek yang metadata penggunanya ingin Anda hapus ke file localfile.txt.
exampleobject1.jpg dir1/exampleobject2.png dir2/exampleobject3.txtHapus 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 yourAccessKeySecretUntuk informasi lebih lanjut tentang opsi umum, lihat Opsi Umum.