Objek yang disimpan di Object Storage Service (OSS) terdiri dari kunci, data, dan metadata objek. Metadata objek menjelaskan objek tersebut dan mencakup header HTTP standar serta metadata pengguna. Anda dapat menggunakan header HTTP standar untuk menentukan kebijakan permintaan HTTP untuk suatu objek, seperti kebijakan caching dan unduhan paksa. Selain itu, Anda juga dapat mengonfigurasi metadata pengguna untuk menentukan tujuan atau atribut objek.
Catatan penggunaan
Saat menggunakan alat packaging seperti Webpack dan Browserify, instal OSS SDK untuk Browser.js dengan menjalankan perintah npm install ali-oss.
Jika Anda ingin mengakses bucket OSS dari browser tetapi bucket tersebut belum dikonfigurasi dengan aturan CORS, browser akan menolak permintaan tersebut. Oleh karena itu, Anda harus mengonfigurasi aturan CORS pada bucket jika ingin mengaksesnya dari browser. Untuk informasi selengkapnya, lihat Instalasi.
Dalam kebanyakan kasus, OSS SDK untuk Browser.js digunakan di browser. Untuk mencegah pasangan AccessKey Anda terekspos, kami menyarankan agar Anda menggunakan kredensial akses temporary yang diperoleh dari Security Token Service (STS) untuk mengakses OSS.
Kredensial akses temporary terdiri dari pasangan AccessKey dan token keamanan. Pasangan AccessKey mencakup ID AccessKey dan Rahasia AccessKey. Untuk informasi selengkapnya tentang cara memperoleh kredensial akses temporary, lihat Gunakan STS untuk otorisasi akses temporary.
Kode contoh
Kode berikut menunjukkan cara menentukan metadata saat mengunggah file, serta cara memperbarui dan melihat metadata file setelah diunggah.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id='upload'>Upload</button>
<button id='update'>Update Metadata</button>
<button id='check'>View Metadata</button>
<!--Impor file SDK.-->
<script type="text/javascript" src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
<script type="text/javascript">
const client = new OSS({
// Setel region ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel region ke oss-cn-hangzhou.
region: 'yourRegion',
authorizationV4: true,
// Pasangan AccessKey temporary (ID AccessKey dan Rahasia AccessKey) yang diperoleh dari Security Token Service (STS).
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// Token keamanan (SecurityToken) yang diperoleh dari STS.
stsToken: 'yourSecurityToken',
// Tentukan nama bucket. Misalnya, examplebucket.
bucket: "examplebucket",
});
const upload = document.getElementById('upload')
const update = document.getElementById('update')
const check = document.getElementById('check')
// Tentukan konten file yang akan diunggah.
const file = new Blob(['examplecontent'])
// Tentukan nama objek yang akan diunggah ke bucket.
const fileName = 'exampleobject.txt'
// Unggah file.
upload.addEventListener('click', () => {
client.put(fileName, file, {
// Tentukan metadata kustom. Satu file dapat memiliki beberapa entri metadata, tetapi ukuran totalnya tidak boleh melebihi 8 KB.
meta: {
year: 2020,
people: 'eliot'
}
}).then(r => console.log(r))
})
// Perbarui metadata.
update.addEventListener('click', () => {
client.putMeta(fileName, {
year: 2021,
people: 'evan'
}
).then(r => {
console.log(r)
})
})
// Lihat metadata.
check.addEventListener('click', () => {
// Berdasarkan metadata yang dikonfigurasi pada kode sebelumnya, tambahkan x-oss-meta-year ke item konfigurasi ExposeHeaders dalam aturan cross-origin bucket. Jika tidak, metadata yang dicetak ke konsol bernilai null.
client.head(fileName).then(m => console.log(m))
})
</script>
</body>
</html>Referensi
Untuk kode contoh lengkap tentang pengelolaan metadata file, lihat contoh di GitHub.
Untuk informasi selengkapnya tentang operasi API untuk menyetel atau memodifikasi metadata file saat mengunggah file, lihat PutObject.
Untuk informasi selengkapnya tentang operasi API untuk melihat metadata file, lihat HeadObject.