Sinatra AWS SNS конечная точка - помощь нужна
-
08-10-2019 - |
Вопрос
Hiya,
Из-за недокументированной природы конечных точек Amazon SNS и того, как они взаимодействуют с пользователем, я изо всех сил пытаюсь кодировать конечную точку в Sinatra для моего приложения. У меня есть какой-код, написанный в PHP здесь, но я изо всех сил пытаюсь превратить его в массив рубирования, потому что 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"}
Я не уверен, как справиться с этим, кто-нибудь может помочь?
Большое спасибо за уделенное время,
Люк Карпентер
Решение
Четыре месяца спустя, отражая эту проблему:
Это было потому, что я был полным и полным нубом, и я не знал, что такое хэш в рубине в то время
В твоем post
Блок, доступ к содержимому хеш, как так:
post "/" do
puts params['Message']
halt 200
end
Сообщение SNS отправляет, вы будете напечатаны на STDOUT / ваш терминал