Hey Jeremy,
Apologies if this is the wrong place to put this, but I wasn't sure where to make the request.
I am using Propono to publish SNS messages, and then consuming them with Lambdas that integrate with various 3rd party services (like Slack, and many others).
Our topics are notifiable elements (essentially business objects), with one Lambda acting as a message broker, figuring out which integration to hit, via resubmission of a SNS package against a modified topic. The modified topic is the original topic plus the integration (i.e. user-slack).
The "Slack" Lambda is triggered from that message and fires of a message to Slack.
My issue is that I need the original path accessible to the broker Lambda, and while I could parse the ARN, it would be much easier to just use the Subject of the SNS package, which seems to always be nil with Propono-generated messages.
I altered the services/publisher.rb script by passing options to the sns.publish method:
def publish_via_sns_syncronously
begin
topic = TopicCreator.find_or_create(topic_id)
rescue => e
Propono.config.logger.error "Propono [#{id}]: Failed to create topic #{topic_id}: #{e}"
raise
end
begin
sns.publish(topic.arn, body.to_json, {'Subject' => topic_id})
rescue => e
Propono.config.logger.error "Propono [#{id}]: Failed to send via sns: #{e}"
raise
end
end
While this works, it would, obviously, be better if it were actually parameterized so I could pass it in with the call to Propono.publish and not have to mod your code.
Is there any issue you see with this? If not, I can put it together in a pull and send it up.
Cheers,
Chris
Hey Jeremy,
Apologies if this is the wrong place to put this, but I wasn't sure where to make the request.
I am using Propono to publish SNS messages, and then consuming them with Lambdas that integrate with various 3rd party services (like Slack, and many others).
Our topics are notifiable elements (essentially business objects), with one Lambda acting as a message broker, figuring out which integration to hit, via resubmission of a SNS package against a modified topic. The modified topic is the original topic plus the integration (i.e. user-slack).
The "Slack" Lambda is triggered from that message and fires of a message to Slack.
My issue is that I need the original path accessible to the broker Lambda, and while I could parse the ARN, it would be much easier to just use the Subject of the SNS package, which seems to always be nil with Propono-generated messages.
I altered the services/publisher.rb script by passing options to the sns.publish method:
While this works, it would, obviously, be better if it were actually parameterized so I could pass it in with the call to Propono.publish and not have to mod your code.
Is there any issue you see with this? If not, I can put it together in a pull and send it up.
Cheers,
Chris