全部产品
Search
文档中心

Simple Message Queue (formerly MNS):Notifikasi event OSS

更新时间:Mar 01, 2026

Simple Message Queue (SMQ, sebelumnya MNS) mengirimkan notifikasi ketika operasi tertentu terjadi pada resource Object Storage Service (OSS) Anda. Siapkan aturan notifikasi event untuk mengarahkan notifikasi tersebut ke sebuah queue guna pemrosesan lanjutan.

Cara kerja

Setelah Anda membuat aturan notifikasi event, SMQ memantau resource OSS yang ditentukan untuk mendeteksi event yang sesuai. Ketika suatu event terjadi, SMQ mendorong notifikasi ke penerima yang telah Anda konfigurasikan, seperti sebuah queue.

image

OSS menambahkan header respons x-oss-process-status pada permintaan yang sesuai dengan aturan notifikasi event. Header ini tetap disertakan terlepas dari keberhasilan pengiriman notifikasi dan tidak memengaruhi respons terhadap permintaan asli. Permintaan yang tidak sesuai dengan aturan apa pun tidak menyertakan header ini.

Nilai header tersebut dienkripsi dalam format Base64. Setelah didekode, muatan JSON berisi bidang-bidang berikut:

{
    "code": "Success",
    "message": "NotificationSucceed",
    "type": "EventNotification",
    "version": "1.0"
}

Field

Description

code

Apakah notifikasi berhasil dibuat. Nilai Success berarti OSS telah mengirim pesan ke topik SMQ. Ini tidak menjamin bahwa SMQ berhasil mengirimkan pesan ke titik akhir. Nilai Fail menunjukkan notifikasi tidak berhasil dibuat.

message

Deskripsi hasil. Jika gagal, bidang ini berisi penyebab kegagalan.

type

Jenis operasi. Selalu bernilai EventNotification untuk notifikasi event.

version

Versi protokol.

Untuk informasi lebih lanjut tentang pengiriman pesan, lihat Queue.

Kasus penggunaan

  • Lacak operasi pada bucket bersama — Dapatkan notifikasi ketika pengguna yang berwenang mengunggah, menghapus, atau memodifikasi objek di bucket Anda.

  • Analisis pola akses — Kumpulkan notifikasi untuk mengukur frekuensi operasi, mengidentifikasi tren, atau mengirimkan data ke layanan analitik seperti E-MapReduce (EMR).

  • Pantau laju permintaan — Lacak QPS untuk operasi pada resource OSS Anda.

Catatan penggunaan

  • Aturan notifikasi event baru memerlukan waktu sekitar 10 menit untuk mulai berlaku.

  • SMQ secara otomatis membuat topik untuk setiap aturan notifikasi event. Topik tersebut dapat dikenai biaya. Untuk detailnya, lihat Ikhtisar penagihan.

  • Aturan notifikasi event dapat dibuat atau dihapus, tetapi tidak dapat dimodifikasi. Untuk memperbarui aturan, hapus aturan lama dan buat yang baru.

Jenis event yang didukung

Event dikelompokkan berdasarkan kategori. Gunakan akhiran wildcard :* untuk mencocokkan semua event dalam suatu kategori, termasuk jenis event baru yang mungkin ditambahkan ke kategori tersebut di masa depan.

Event pembuatan objek

Event type

Trigger

ObjectCreated:PutObject

PutObject mengunggah objek.

ObjectCreated:PostObject

PostObject mengunggah objek melalui formulir HTML.

ObjectCreated:CopyObject

CopyObject menyalin objek dalam atau antar bucket.

ObjectCreated:AppendObject

AppendObject menambahkan data ke objek yang sudah ada.

ObjectCreated:InitiateMultipartUpload

InitiateMultipartUpload memulai tugas unggah multi-bagian.

ObjectCreated:UploadPart

UploadPart mengunggah bagian dalam proses unggah multi-bagian.

ObjectCreated:UploadPartCopy

UploadPartCopy menyalin data sebagai bagian dalam proses unggah multi-bagian.

ObjectCreated:CompleteMultipartUpload

CompleteMultipartUpload menyelesaikan proses unggah multi-bagian.

ObjectCreated:PutSymlink

PutSymlink membuat tautan simbolik ke objek tujuan.

ObjectCreated:*

Mencocokkan semua event pembuatan objek, termasuk jenis event mendatang yang diawali dengan ObjectCreated:.

Event pengunduhan objek

Event type

Trigger

ObjectDownloaded:GetObject

GetObject mengunduh objek.

Event modifikasi objek

Event type

Trigger

ObjectModified:UpdateObjectMeta

UpdateObjectMeta memperbarui metadata objek.

ObjectModified:ChangeStorageClass

Aturan lifecycle mengubah kelas penyimpanan objek.

ObjectModified:*

Mencocokkan semua event modifikasi objek, termasuk jenis event mendatang yang diawali dengan ObjectModified:.

Event penghapusan objek

Event type

Trigger

ObjectRemoved:DeleteObject

DeleteObject menghapus objek.

ObjectRemoved:DeleteObjects

DeleteMultipleObjects menghapus beberapa objek dalam satu permintaan.

ObjectRemoved:AbortMultipartUpload

AbortMultipartUpload membatalkan unggah multi-bagian dan menghapus bagian-bagian yang telah diunggah.

ObjectRemoved:*

Mencocokkan semua event penghapusan objek, termasuk jenis event mendatang yang diawali dengan ObjectRemoved:.

Event replikasi data

Event type

Trigger

ObjectReplication:ObjectCreated

Objek dibuat selama tugas replikasi data.

ObjectReplication:ObjectRemoved

Objek dihapus selama tugas replikasi data.

ObjectReplication:ObjectModified

Objek ditimpa selama tugas replikasi data.

ObjectReplication:*

Mencocokkan semua event replikasi data, termasuk jenis event mendatang yang diawali dengan ObjectReplication:.

Event pemulihan objek

Event type

Trigger

ObjectRestore:FinishRestore

Pemulihan objek Cold Archive atau Deep Cold Archive selesai. Jenis event ini hanya berlaku untuk objek Cold Archive dan Deep Cold Archive.

Format pesan notifikasi event

Isi pesan dienkripsi dalam format Base64. Muatan setelah didekode berupa objek JSON dengan struktur berikut:

{
    "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:vallback-var2": "value2"
            }
        }
    ]
}

Bidang pesan

Field

Description

eventName

Jenis event yang memicu notifikasi.

eventSource

Sumber event. Nilainya adalah acs:oss.

eventTime

Waktu terjadinya event, dalam format ISO 8601.

eventVersion

Versi protokol event.

oss

Detail event OSS.

oss.bucket.arn

Nama Sumber Daya Alibaba Cloud (ARN) bucket.

oss.bucket.name

Nama bucket.

oss.bucket.ownerIdentity

ID pengguna yang membuat bucket.

oss.object.deltaSize

Perubahan ukuran objek, dalam byte.

oss.object.eTag

ETag objek. Untuk objek yang diunggah dengan PutObject, ini adalah hash MD5 dari kontennya. Untuk objek yang dibuat melalui metode lain, ini adalah nilai unik yang dihasilkan oleh algoritma internal. Bandingkan ETag untuk memeriksa apakah konten objek telah berubah.

oss.object.key

Nama objek.

oss.object.readFrom

Posisi byte awal pembacaan objek.

oss.object.readTo

Posisi byte akhir pembacaan objek.

oss.object.size

Ukuran objek, dalam byte.

oss.ossSchemaVersion

Versi skema OSS.

oss.ruleId

ID aturan notifikasi event yang sesuai dengan event ini.

region

Wilayah tempat bucket berada.

requestParameters.sourceIPAddress

Alamat IP sumber permintaan.

responseElements.requestId

ID permintaan.

userIdentity.principalId

ID unik (UID) pihak yang melakukan permintaan.

xVars

Parameter kustom yang ditentukan dalam konfigurasi callback OSS.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Akun Alibaba Cloud dengan SMQ dan OSS yang telah diaktifkan

  • (Opsional) Sebuah queue untuk menerima notifikasi. Jika belum memiliki, buat di Langkah 1

  • (Opsional) Bucket OSS di wilayah yang sama dengan queue. Jika belum memiliki, buat di Langkah 2

Prosedur

Langkah 1: (Opsional) Buat queue

Lewati langkah ini jika Anda sudah memiliki queue untuk menerima notifikasi event. Anda juga dapat membuat subscription setelah aturan notifikasi event dibuat.

  1. Masuk ke Konsol SMQ.

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

  3. Di bilah navigasi atas, pilih wilayah.

  4. Pada halaman Queues, klik Create Queue.

  5. Pada panel Create Queue, konfigurasikan parameter berikut dan klik OK. Queue baru akan muncul di halaman Queues.

    Parameter

    Description

    Name

    Nama queue.

    Maximum Message Length

    Ukuran maksimum pesan tunggal yang dikirim ke queue.

    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 queue.

    Message Retention Period

    Waktu maksimum pesan disimpan di queue. Setelah periode ini, pesan akan dihapus terlepas dari apakah telah diterima atau belum.

    Message Delay Period

    Periode setelah semua pesan yang dikirim ke queue dapat dikonsumsi.

    Enable Logging Feature

    Apakah pencatatan log operasi pesan diaktifkan.

Langkah 2: (Opsional) Buat bucket

Lewati langkah ini jika Anda sudah memiliki bucket di wilayah yang sama dengan queue.

  1. Masuk ke Konsol OSS.

  2. Di panel navigasi sebelah kiri, klik Buckets.

  3. Pada halaman Buckets, klik Create Bucket.

  4. Pada panel Create Bucket, konfigurasikan parameter berikut dan klik Create:

    Gunakan nilai default untuk semua parameter lainnya. Bucket dibuat dengan fitur Block Public Access aktif dan ACL diatur ke Private secara default. Pengaturan ini cukup untuk pengujian notifikasi event.

    Parameter

    Description

    Bucket Name

    Nama bucket. Contoh: event-notification-test.

    Region

    Harus berada di wilayah yang sama dengan queue.

Langkah 3: Buat aturan notifikasi event

Saat Anda membuat aturan notifikasi event, SMQ secara otomatis membuat topik dan subscription yang mengarahkan pesan dari topik ke penerima yang ditentukan.

  1. Masuk ke Konsol SMQ.

  2. Di panel navigasi sebelah kiri, klik Event Notifications.

  3. Di bilah navigasi atas, pilih wilayah.

  4. Pada tab OSS di halaman Event Notifications, klik Create Rule.

  5. Pada panel Create Rule - OSS, konfigurasikan parameter berikut dan klik OK:

    Parameter

    Description

    Name

    Nama aturan.

    Event Type

    Satu atau beberapa jenis event yang akan dipantau. Lihat Jenis event yang didukung.

    Match Mode

    Pola filter untuk nama resource OSS. Lihat Detail mode pencocokan.

    Receiving Terminal

    Pilih Queue dan masukkan nama queue yang dibuat di Langkah 1.

Detail mode pencocokan

Nama resource OSS menggabungkan nama bucket dan objek yang dipisahkan oleh garis miring (/). Contohnya: movie/hello.avi.

Tersedia empat mode pencocokan. Dua mode pencocokan tidak boleh saling tumpang tindih.

Match mode

Example

What it matches

Full Name

movie/hello.avi

Hanya resource persis movie/hello.avi.

Prefix

movie/hello

Semua objek dengan awalan hello di bucket movie.

Prefix

movie/

Semua objek di bucket movie.

Prefix

mov

Semua objek di bucket yang namanya diawali dengan mov.

Suffix

avi

Semua objek dengan akhiran .avi di seluruh bucket.

Prefix & Suffix

Prefix: movie/, Suffix: .avi

Semua objek .avi di bucket movie.

Langkah 4: Unggah objek untuk memverifikasi aturan

Tunggu minimal 10 menit setelah membuat aturan sebelum mengunggah, karena aturan baru memerlukan waktu sekitar 10 menit untuk mulai berlaku.
  1. Masuk ke Konsol OSS.

  2. Di panel navigasi sebelah kiri, klik Buckets.

  3. Klik nama bucket target untuk membuka halaman Objects.

  4. Klik Upload Object di atas daftar objek.

  5. Konfigurasikan parameter unggah dan klik Upload Object. Untuk detailnya, lihat bagian Simple upload. Panel Task List menampilkan status unggah sebagai Uploaded.

Langkah 5: Terima notifikasi event

  1. Masuk ke Konsol SMQ.

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

  3. Di bilah navigasi atas, pilih wilayah yang sama dengan queue.

  4. Pada halaman Queues, temukan queue tersebut dan klik Send Messages di kolom Actions.

  5. Pada bagian Receive Message di halaman Quick Experience, klik Receive Message. Daftar pesan yang diterima akan muncul.

  6. Temukan pesan tersebut dan klik Details di kolom Actions. Kotak dialog Message Details menampilkan isi notifikasi event.