class Bricolage::StreamingLoad::S3ObjectDispatcherMessage

Attributes

bucket[R]
key[R]
region[R]
size[R]

Public Class Methods

parse_sqs_record(msg, rec) click to toggle source
# File lib/bricolage/streamingload/dispatchermessage.rb, line 114
def S3ObjectDispatcherMessage.parse_sqs_record(msg, rec)
  {
    region: rec['awsRegion'],
    bucket: rec['s3']['bucket']['name'],
    key: rec['s3']['object']['key'],
    size: rec['s3']['object']['size']
  }
end

Public Instance Methods

chunk() click to toggle source
# File lib/bricolage/streamingload/dispatchermessage.rb, line 152
def chunk
  Chunk.new(id: nil, url: url, size: size)
end
created_event?() click to toggle source
# File lib/bricolage/streamingload/dispatchermessage.rb, line 148
def created_event?
  !!(/\AObjectCreated:(?!Copy)/ =~ @name)
end
data?() click to toggle source

override

# File lib/bricolage/streamingload/dispatchermessage.rb, line 144
def data?
  true
end
init_message(region:, bucket:, key:, size:) click to toggle source
# File lib/bricolage/streamingload/dispatchermessage.rb, line 127
def init_message(region:, bucket:, key:, size:)
  @region = region
  @bucket = bucket
  @key = key
  @size = size
end
message_type() click to toggle source
# File lib/bricolage/streamingload/dispatchermessage.rb, line 123
def message_type
  'data'
end
url() click to toggle source
# File lib/bricolage/streamingload/dispatchermessage.rb, line 139
def url
  "s3://#{@bucket}/#{@key}"
end