All Products
Search
Document Center

Simple Message Queue (formerly MNS):Notifikasi event OSS

Last Updated:Jun 05, 2026

Dengan membuat aturan notifikasi event, Anda dapat menggunakan Simple Message Queue (SMQ) untuk mendorong pesan event dari resource Object Storage Service (OSS) ke titik akhir tertentu. Topik ini mencakup jenis event, format pesan, dan langkah-langkah untuk membuat aturan notifikasi.

Latar belakang

Setelah Anda membuat aturan notifikasi event, Simple Message Queue (SMQ) akan mendorong pesan event dari resource OSS yang ditentukan ke sebuah endpoint, seperti yang ditunjukkan di bawah ini.

Ketika operasi OSS memicu aturan notifikasi event yang sesuai, sebuah header ditambahkan ke respons. Header ini menjelaskan hasil notifikasi tanpa memengaruhi respons API asli. Jika tidak ada aturan yang sesuai, header tidak ditambahkan. Jika ada aturan yang sesuai, header tetap ditambahkan terlepas dari apakah pesan berhasil dikirim atau tidak. Formatnya adalah:

x-oss-process-status: 'ewogICAgImNvZGUiOiAiU3VjY2VzcyIsCiAgICAibWVzc2FnZSI6ICJOb3RpZmljYXRpb25TdWNjZWVkIiwKICAgICJ0eXBlIjogIkV2ZW50Tm90aWZpY2F****'
  • Kunci: x-oss-process-status

  • Nilai: string yang dienkode Base64. Contoh berikut menunjukkan objek JSON setelah didekode:

    {
        "code":"Success",  // Hasil upaya notifikasi event. Mengembalikan Success atau Fail. Success menunjukkan bahwa OSS telah mengirim pesan ke topik, tetapi tidak menjamin bahwa topik tersebut berhasil mendorong pesan ke endpoint.
        "message":"NotificationSucceed",   // Deskripsi detail operasi. Jika gagal, bidang ini memberikan alasan kegagalannya.
        "type":"EventNotification",   // Jenis operasi. Untuk notifikasi event, nilai ini selalu EventNotification.
        "version":"1.0"
    }

Tipe Push menjelaskan metode pengiriman pesan yang tersedia.

Kasus penggunaan

  • Memantau aktivitas resource. Buat aturan untuk menerima notifikasi ketika pengguna lain melakukan operasi pada bucket Anda.

  • Menganalisis data dan tren. Lacak frekuensi operasi dari waktu ke waktu, atau impor pesan notifikasi ke layanan seperti E-MapReduce (EMR) untuk analisis lebih lanjut.

  • Memantau metrik operasional. Lacak metrik seperti permintaan per detik (QPS) untuk operasi tertentu pada resource Anda.

Jenis event

Grup

Jenis

Deskripsi

ObjectCreated (Buat objek)

ObjectCreated:PutObject

Mengunggah objek. PutObject.

ObjectCreated:PostObject

Mengunggah objek melalui POST berbasis formulir. PostObject.

ObjectCreated:CopyObject

Menyalin objek. CopyObject.

ObjectCreated:AppendObject

Menambahkan data untuk mengunggah objek. AppendObject.

ObjectCreated:InitiateMultipartUpload

Memulai unggah multi-bagian. InitiateMultipartUpload.

ObjectCreated:UploadPart

Mengunggah bagian dalam unggah multi-bagian. UploadPart.

ObjectCreated:UploadPartCopy

Menyalin bagian dalam unggah multi-bagian. UploadPartCopy.

ObjectCreated:CompleteMultipartUpload

Menyelesaikan unggah multi-bagian. CompleteMultipartUpload.

ObjectCreated:PutSymlink

Membuat tautan simbolik untuk objek. PutSymlink.

ObjectCreated:Mirror

Objek dibuat melalui proses mirroring.

Catatan

Secara default, mirroring OSS memicu ObjectCreated:PutObject. Untuk menggunakan ObjectCreated:Mirror sebagai gantinya, kirimkan tiket.

ObjectCreated:*

Semua event yang diawali dengan ObjectCreated:.

Catatan

Wildcard ini mencakup semua jenis event saat ini dan mendatang di bawah ObjectCreated.

ObjectDownloaded (Unduh objek)

ObjectDownloaded:GetObject

Objek diunduh.

ObjectModified (Ubah objek)

ObjectModified:UpdateObjectMeta

Metadata objek diubah melalui UpdateObjectMeta.

ObjectModified:ChangeStorageClass

Kelas penyimpanan objek diubah oleh aturan siklus hidup.

ObjectModified:*

Semua event yang diawali dengan ObjectModified:.

Catatan

Wildcard ini mencakup semua jenis event saat ini dan mendatang di bawah ObjectModified.

ObjectRemoved (Hapus objek)

ObjectRemoved:DeleteObject

Menghapus satu objek. DeleteObject.

ObjectRemoved:DeleteObjects

Menghapus beberapa objek. DeleteMultipleObjects.

ObjectRemoved:AbortMultipartUpload

Membatalkan unggah multi-bagian dan menghapus bagian-bagiannya. AbortMultipartUpload.

ObjectRemoved:*

Semua event yang diawali dengan ObjectRemoved:.

Catatan

Wildcard ini mencakup semua jenis event saat ini dan mendatang di bawah ObjectRemoved.

ObjectReplication (Replikasi objek)

ObjectReplication:ObjectCreated

Operasi tulis terjadi sebagai bagian dari proses replikasi data.

ObjectReplication:ObjectRemoved

Operasi hapus terjadi sebagai bagian dari proses replikasi data.

ObjectReplication:ObjectModified

Operasi timpa terjadi sebagai bagian dari proses replikasi data.

ObjectReplication:*

Semua event yang diawali dengan ObjectReplication:.

Catatan

Wildcard ini mencakup semua jenis event saat ini dan mendatang di bawah ObjectReplication.

ObjectRestore (Pulihkan objek)

ObjectRestore:FinishRestore

Objek dipulihkan dari penyimpanan arsip. Hanya berlaku untuk objek Cold Archive dan Deep Cold Archive.

Format pesan

Pesan notifikasi event OSS adalah objek JSON yang dienkode Base64. Contoh berikut menunjukkan muatan pesan setelah didekode.

{
    "events":[
        {
            "eventName":"ObjectDownloaded:GetObject",
            "eventSource":"acs:oss",
            "eventTime":"2016-07-01T11:17:30.000Z",
            "eventVersion":"1.0",
            "oss":{
                "bucket":{
                    "arn":"acs:oss:cn-shenzhen:123456789098****:event-notification-test-shenzhen",
                    "name":"event-notification-test-shenzhen",
                    "ownerIdentity":"123456789098****"
                },
                "object":{
                    "deltaSize":0,
                    "eTag":"0CC175B9C0F1B6A831C399E26977****",
                    "key":"test",
                    "readFrom":0,
                    "readTo":1,
                    "size":1
                },
                "ossSchemaVersion":"1.0",
                "ruleId":"GetObjectRule"
            },
            "region":"cn-shenzhen",
            "requestParameters":{
                "sourceIPAddress":"140.205.XX.XX"
            },
            "responseElements":{
                "requestId":"5776514AF09A9E654242****"
            },
            "userIdentity":{
                "principalId":"123456789098****"
            },
            "xVars":{
                "x:callback-var1":"value1",
                "x:callback-var2":"value2"
            }
        }
    ]
}

Muatan pesan berisi parameter berikut.

Parameter

Deskripsi

eventName

Jenis event.

eventSource

Sumber event.

eventTime

Waktu terjadinya event, dalam UTC.

eventVersion

Versi skema event.

oss

Berisi detail tentang event OSS.

bucket

Berisi detail tentang bucket.

arn

Nama Sumber Daya Alibaba Cloud (ARN) dari bucket.

name

Nama bucket.

ownerIdentity

ID pengguna pemilik bucket.

object

Berisi detail tentang objek.

deltaSize

Perubahan ukuran objek, dalam byte.

eTag

ETag objek. Untuk permintaan PutObject, ini adalah hash MD5. Untuk operasi lain, ini adalah pengidentifikasi unik (bukan hash MD5). Gunakan ETag untuk memverifikasi integritas konten objek.

key

Nama objek.

readFrom

Posisi byte awal untuk operasi baca.

readTo

Posisi byte akhir untuk operasi baca.

size

Ukuran total objek dalam byte.

ossSchemaVersion

Versi skema spesifik OSS.

ruleId

ID aturan yang memicu event.

region

Wilayah tempat bucket berada.

requestParameters

Parameter dari permintaan asli.

sourceIPAddress

Alamat IP sumber permintaan.

responseElements

Elemen dari respons.

requestId

ID unik untuk permintaan.

userIdentity

Informasi tentang pengguna yang membuat permintaan.

principalId

User ID (UID) pihak yang membuat permintaan.

xVars

Parameter kustom dari konfigurasi callback OSS.

Catatan penggunaan

  • Aturan notifikasi event membutuhkan waktu sekitar 10 menit untuk mulai berlaku setelah dibuat.

  • Sebuah topik dibuat untuk setiap aturan baru dan mungkin dikenai biaya sesuai panduan Penagihan.

  • Aturan notifikasi event dapat dibuat dan dihapus, tetapi tidak dapat dimodifikasi.

(Opsional) Langkah 1: Buat antrian

Buat antrian jika Anda berencana menggunakannya sebagai tujuan notifikasi. Anda juga dapat menambahkan langganan setelah membuat aturan event.

  1. Masuk ke Konsol Simple Message Queue (sebelumnya MNS).

  2. Di panel navigasi kiri, pilih Queue Model > Queues.

  3. Di bilah navigasi atas, pilih wilayah.

  4. Di halaman Queues, klik Create Queue.

  5. Di panel Create Queue, konfigurasikan parameter berikut lalu klik OK:

    • Name: nama antrian.

    • Maximum Message Length: panjang maksimum pesan yang dikirim ke antrian.

    • Long Polling Period: durasi maksimum permintaan long polling ditahan setelah operasi ReceiveMessage dipanggil.

    • Visibility Timeout Period: durasi pesan berada dalam status Inactive setelah diterima dari antrian.

    • Message Retention Period: durasi maksimum pesan berada di antrian. Setelah periode retensi berakhir, pesan akan dihapus terlepas dari apakah sudah diterima atau belum.

    • Message Delay Period: periode setelah semua pesan yang dikirim ke antrian dapat dikonsumsi.

    • Enable Logging Feature: tentukan apakah fitur logging diaktifkan.

    Setelah antrian dibuat, antrian tersebut akan ditampilkan di halaman Queues.

(Opsional) Langkah 2: Buat bucket

Jika bucket yang diinginkan sudah ada, Anda dapat melewati langkah ini.

  1. Masuk ke Konsol OSS.

  2. Di panel navigasi kiri, klik Buckets.

  3. Di halaman Buckets, klik Create bucket.

  4. Di panel Create bucket, konfigurasikan parameter bucket, lalu klik OK.

    • Bucket name: Masukkan event-notification-test.

    • Region: Pilih wilayah yang sama dengan antrian Anda.

    • Block public access: Pilih Off.

    • ACL: Pilih Public Read/Write.

      Catatan

      Biarkan nilai default untuk pengaturan lainnya.

Langkah 3: Buat aturan kustom

Saat Anda membuat aturan, Simple Message Queue (SMQ) secara otomatis membuat topik dan langganan untuk endpoint yang ditentukan. Anda dapat mengelolanya di Konsol SMQ.

  1. Masuk ke Konsol Simple Message Queue (sebelumnya MNS).

  2. Di panel navigasi kiri, klik Event Notifications.

  3. Di bilah navigasi atas, pilih wilayah.

  4. Di halaman Event Notifications, klik tab OSS, lalu klik Create Rule.

  5. Di panel Create rule - OSS, konfigurasikan pengaturan berikut, lalu klik OK.

    • Instance Name: Masukkan nama untuk aturan.

    • Event Type: Pilih satu atau beberapa jenis event.

    • Match rule: Konfigurasikan aturan pencocokan.

      Catatan

      Aturan pencocokan dapat berupa nama lengkap, awalan, akhiran, atau kombinasi awalan dan akhiran. Aturan berbeda tidak boleh memiliki definisi resource yang tumpang tindih. Resource OSS ditentukan dalam format bucket/object. Misalnya, pada resource movie/hello.avi, movie adalah bucket dan hello.avi adalah objek.

      • Nama Lengkap: movie/hello.avi.

      • Awalan:

        • movie/hello: Mencocokkan semua objek di bucket movie yang memiliki awalan hello.

        • movie/: Mencocokkan semua objek di bucket movie.

        • mov: Mencocokkan semua objek di bucket mana pun yang namanya memiliki awalan mov.

      • Akhiran: .avi: Mencocokkan semua objek di bucket mana pun yang memiliki akhiran .avi.

      • Awalan dan Akhiran: Awalan movie/ dan akhiran .avi: Mencocokkan semua objek di bucket movie yang memiliki akhiran .avi.

    • Destination: Pilih Queue dan masukkan nama antrian yang telah Anda buat di Langkah 1.

Langkah 4: Unggah objek

  1. Masuk ke Konsol OSS.

  2. Di panel navigasi kiri, klik Buckets.

  3. Di halaman Buckets, klik nama bucket target.

  4. Pilih Object management > Object list, lalu klik Upload object.

  5. Di panel Upload object, tentukan direktori unggah dan ACL objek, lalu klik Upload object. Unggah objek menggunakan Konsol OSS.

    Kolom Status menampilkan "Uploaded".

Langkah 5: Terima pesan

  1. Masuk ke Konsol Simple Message Queue (sebelumnya MNS).

  2. Di panel navigasi kiri, pilih Queue Model > Queues.

  3. Di bilah navigasi atas, pilih wilayah.

  4. Di halaman Queues, temukan antrian target, lalu di kolom Action, pilih More > Send and receive messages.

  5. Pada halaman Send and receive messages, di bagian Receive messages, klik Receive message.

    Daftar pesan untuk antrian ditampilkan di bagian Receive messages.

  6. Di daftar pesan, temukan pesan target, lalu klik Details di kolom Actions untuk melihat isinya di kotak dialog Message details.