You can configure event notification rules for objects that you want to monitor in the Object Storage Service (OSS) console. If the events that you specified in the rules occur on these objects, you can be immediately notified.
Prerequisites
Message Service (MNS) is activated. You can activate MNS on the MNS product page.
Usage notes
- You are charged by MNS when you use the event notification feature. For more information, see Pricing.
- You can configure event notification rules for objects stored in buckets that are located in the following regions: China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Shenzhen), China (Chengdu), China (Hong Kong), US (Silicon Valley), US (Virginia), Japan (Tokyo), Singapore, Australia (Sydney), Indonesia (Jakarta), Philippines (Manila), India (Mumbai), Germany (Frankfurt), UK (London), and UAE (Dubai).
- You can configure up to 10 event notification rules in a region.
- Notifications are not sent for TS and M3U8 objects that are generated by ingesting streams over Real-Time Messaging Protocol (RTMP). For more information about RTMP-based stream ingest, see Overview.
How it works

Events
Event | Description |
---|---|
PutObject | An object is created or overwritten by using simple upload. |
PostObject | An object is created or overwritten by using form upload. |
CopyObject | An object is created or overwritten by copying an object. |
InitiateMultipartUpload | A multipart upload task is initiated. |
UploadPart | An object is created or overwritten by uploading parts. |
UploadPartCopy | An object is created or overwritten by using multipart copy. |
CompleteMultipartUpload | A multipart upload task is completed. |
AppendObject | An object is created or appended by using append upload. |
GetObject | An object is obtained by using simple download. |
DeleteObject | A single object is deleted. |
DeleteObjects | Multiple objects are deleted. |
ObjectReplication:ObjectCreated | An object is created by using cross-region replication (CRR). |
ObjectReplication:ObjectRemoved | An object is deleted by using CRR. |
ObjectReplication:ObjectModified | An object is overwritten by using CRR. |
ObjectCreatedGroup | An object is created or overwritten. |
ObjectDownloadedGroup | An object is downloaded. |
ObjectRemovedGroup | An object is deleted. |
Event notifications
{"events": [
{
"eventName": "", // The event name.
"eventSource": "", // The source that triggers event notifications. Valid value: acs:oss.
"eventTime": "", // The time when the event occurred. The time is represented as a timestamp in the ISO 8601 standard.
"eventVersion": "", // The version of an event notification. The current version is 1.0.
"oss": {
"bucket": {
"arn": "", // The Alibaba Cloud Resource Name (ARN) of the bucket, which is in the following format: acs:oss:region:uid:bucketname.
"name": "", // The name of the bucket for which the event notification rule is configured.
"ownerIdentity": "" // The owner of the bucket.
},
"object": {
"deltaSize": "", // The change in the object size. If you create an object, the value of this parameter indicates the size of the object. If you overwrite an object, the value indicates the difference between the sizes of the new object and the original object. Therefore, the value may be negative.
"eTag": "", // The ETag value of the object.
"key": "", // The name of the object.
"position": "", // The position from which the AppendObject operation starts. This parameter applies only to the ObjectCreated:AppendObject event. The first AppendObject operation on an object starts from byte 0 of the object.
"readFrom": "", // The position from which the GetObject operation starts. This parameter applies only to the ObjectDownloaded:GetObject event. If the GetObject operation is not performed by range, the value of this parameter is 0. Otherwise, the value refers to the position of the byte from which the GetObject operation starts.
"readTo": "", // The position at which the last GetObject operation ends. This parameter applies only to the ObjectDownloaded:GetObject event. If the GetObject operation is not performed by range, the value of this parameter is the object size. Otherwise, the value refers to the position of the byte next to the end byte of the GetObject operation.
"size": "" // The size of the object.
},
"ossSchemaVersion": "", // The version of the schema. The current value is 1.0.
"ruleId": "GetObject", // The ID of the rule that matches the event.
"region": "", // The region in which the bucket is located.
"requestParameters": {
"sourceIPAddress": "" // The source IP address from which the request is sent.
},
"responseElements": {
"requestId": "" // The ID of the request.
},
"userIdentity": {
"principalId": "" // The UID of the requester.
},
"xVars": { // Custom parameters for an OSS callback.
"x:callback-var1":"value1",
"x:vallback-var2":"value2"
}
}
}
]
}
{"events": [
{
"eventName": "ObjectDownloaded:GetObject",
"eventSource": "acs:oss",
"eventTime": "2016-07-01T11:17:30.000Z",
"eventVersion": "1.0",
"oss": {
"bucket": {
"arn": "acs:oss:cn-shenzhen:114895646818****:event-notification-test-shenzhen",
"name": "event-notification-test-shenzhen",
"ownerIdentity": "114895646818****"},
"object": {
"deltaSize": 0,
"eTag": "0CC175B9C0F1B6468E1199E269772661",
"key": "test",
"readFrom": 0,
"readTo": 1,
"size": 1
},
"ossSchemaVersion": "1.0",
"ruleId": "GetObjectRule",
"region": "cn-shenzhen",
"requestParameters": {
"sourceIPAddress": "198.51.100.1"
},
"responseElements": {
"requestId": "5FF16B65F05BC932307A3C3C"
},
"userIdentity": {
"principalId": "114895646818****"
},
"xVars": {
"x:callback-var1":"value1",
"x:vallback-var2":"value2"
}
}
}
]
}
Use the OSS console
FAQ
- Q: Why is no notification sent when I perform the delete operation on an object in a bucket for which an event notification rule is configured to monitor DeleteObject and DeleteObjects events?
- A: The bucket has versioning enabled. However, no object version IDs are specified in the delete operation. If you do not specify an object version ID when you perform a delete operation, the current version is converted to a previous version and a delete marker is added to the object. Therefore, the delete operation does not trigger the event notification rule configured for DeleteObject and DeleteObjects events.
References
You can configure event notification rules for objects that you want to monitor. If the events that you specified in the rules occur on these objects, you are immediately notified from the HTTP servers or MNS queues that you specified in the rules. For more information, see Tutorial: Use MNS to send notifications for OSS events.