Represents message published from an {SNS::Topic} to an {SQS::Queue}.
@param [String] body The SQS message body
from a message published by SNS.
@param [Hash] options
# File lib/aws/sqs/received_sns_message.rb, line 28 def initialize body, options = {} @body = body super end
@return Returns the decoded message as was published.
# File lib/aws/sqs/received_sns_message.rb, line 41 def body to_h[:body] end
@return [String] Returns the unique id of the SNS message.
# File lib/aws/sqs/received_sns_message.rb, line 78 def message_id to_h[:message_id] end
@return [String] Returns the message type.
# File lib/aws/sqs/received_sns_message.rb, line 57 def message_type to_h[:message_type] end
@return [Time] Returns the time the message was published at by SNS.
by SNS.
# File lib/aws/sqs/received_sns_message.rb, line 73 def published_at to_h[:published_at] end
@return [String] Returns the JSON hash (as a string) as was
published by SNS. See {#body} to get the decoded message or {#to_h} to get the decoded JSON hash as a ruby hash.
# File lib/aws/sqs/received_sns_message.rb, line 36 def raw_message @body end
@return [String] Returns the calculated signature for the message.
# File lib/aws/sqs/received_sns_message.rb, line 62 def signature to_h[:signature] end
@return [String] Returns the signature version.
# File lib/aws/sqs/received_sns_message.rb, line 67 def signature_version to_h[:signature_version] end
@return [String] Returns the url for the signing cert.
# File lib/aws/sqs/received_sns_message.rb, line 83 def signing_cert_url to_h[:signing_cert_url] end
@return [Hash] Returns the decoded message as a hash.
# File lib/aws/sqs/received_sns_message.rb, line 94 def to_h data = JSON.parse(@body) { :body => data['Message'], :topic_arn => data['TopicArn'], :message_type => data['Type'], :signature => data['Signature'], :signature_version => data['SignatureVersion'], :published_at => Time.parse(data['Timestamp']), :message_id => data['MessageId'], :signing_cert_url => data['SigningCertURL'], :unsubscribe_url => data['UnsubscribeURL'], } end
@return [SNS::Topic] Returns the topic that published this message.
# File lib/aws/sqs/received_sns_message.rb, line 52 def topic SNS::Topic.new(topic_arn, :config => config) end
@return [String] Returns the ARN for the topic that published this
message.
# File lib/aws/sqs/received_sns_message.rb, line 47 def topic_arn to_h[:topic_arn] end
@return [String] Returns the url you can request to unsubscribe message
from this queue.
# File lib/aws/sqs/received_sns_message.rb, line 89 def unsubscribe_url to_h[:unsubscribe_url] end