Sinatra AWS SNS端点 - 需要帮助

时间:2010-12-03 23:56:56

标签: sinatra endpoint amazon-sns

你好,
由于Amazon SNS端点的未记录性质以及它们与用户的交互方式,我正在努力为我的应用程序在Sinatra中编写端点。 我有一些用PHP here编写的代码,但我很难将其转换为Ruby数组,因为request.env["rack.input"].read将所有东西封装成类似于PHP数组的东西:

{"Message"=>"chapstick", "Subject"=>"cherry", "Signature"=>"QutYUXuqWQqiAY4PUvd+Hq+9KWSvPVwck22oV0pXkgSg0p+kZ/2Q+pS24siDPKxxHB8+ru5q6  QBqQv+RHKWobiLiupEf4UP1MQu3lnP4Z2TYWvbHVjNiO5OutcaivPrn08EIBTOMsWl2i8JmaTBXozOp4r1vheqg6k/wWDoUmd0=", "TopicArn"=>"arn:aws:sns:us-east-1:687180262489:plinklebird", "SignatureVersion"=>"1", "Timestamp"=>"2010-12-03T22:10:01.141Z", "MessageId"=>"dc8a8502-44a8-41ec-9616-1d049f00724d", "UnsubscribeURL"=>"https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:687180262489:plinklebird:99e83fd5-58a9-41bb-82bd-9920a1ee1a94", "Type"=>"Notification"}

我不知道如何处理这个问题,有人可以帮忙吗?

非常感谢你的时间,
卢克卡彭特

1 个答案:

答案 0 :(得分:2)

一年零四个月后,反思这个问题:

这是因为我是一个完整而彻底的菜鸟,我不知道当时Ruby在哈希是什么

post块中,访问哈希的内容,如下所示:

post "/" do
  puts params['Message']
  halt 200
end 

SNS发送的消息将打印到STDOUT /您的终端