mirror of
https://github.com/pgsty/minio.git
synced 2026-08-09 15:53:28 +03:00
api: Notify events only if bucket notifications are set. (#2293)
While the existing code worked, it went to an entire cycle of constructing event structure and end up not sending it. Avoid this in the first place, but returning quickly if notifications are not set on the bucket.
This commit is contained in:
committed by
Anand Babu (AB) Periasamy
parent
3054b74260
commit
77248bd6e8
@@ -112,7 +112,7 @@ func filterRuleMatch(object string, frs []filterRule) bool {
|
||||
// - s3:ObjectCreated:Post
|
||||
// - s3:ObjectCreated:Copy
|
||||
// - s3:ObjectCreated:CompleteMultipartUpload
|
||||
func notifyObjectCreatedEvent(nConfig notificationConfig, eventType EventName, bucket string, object string, etag string, size int64) {
|
||||
func notifyObjectCreatedEvent(nConfig notificationConfig, eventType EventName, bucket string, objInfo ObjectInfo) {
|
||||
/// Construct a new object created event.
|
||||
region := serverConfig.GetRegion()
|
||||
tnow := time.Now().UTC()
|
||||
@@ -138,9 +138,9 @@ func notifyObjectCreatedEvent(nConfig notificationConfig, eventType EventName, b
|
||||
ARN: "arn:aws:s3:::" + bucket,
|
||||
},
|
||||
Object: objectMeta{
|
||||
Key: url.QueryEscape(object),
|
||||
ETag: etag,
|
||||
Size: size,
|
||||
Key: url.QueryEscape(objInfo.Name),
|
||||
ETag: objInfo.MD5Sum,
|
||||
Size: objInfo.Size,
|
||||
Sequencer: sequencer,
|
||||
},
|
||||
},
|
||||
@@ -148,7 +148,7 @@ func notifyObjectCreatedEvent(nConfig notificationConfig, eventType EventName, b
|
||||
}
|
||||
// Notify to all the configured queues.
|
||||
for _, qConfig := range nConfig.QueueConfigurations {
|
||||
ruleMatch := filterRuleMatch(object, qConfig.Filter.Key.FilterRules)
|
||||
ruleMatch := filterRuleMatch(objInfo.Name, qConfig.Filter.Key.FilterRules)
|
||||
if eventMatch(eventType, qConfig.Events) && ruleMatch {
|
||||
log.WithFields(logrus.Fields{
|
||||
"Records": events,
|
||||
|
||||
Reference in New Issue
Block a user