Sinatra AWS SNS Endpoint - Hilfe benötigt
-
08-10-2019 - |
Frage
Hiya,
Aufgrund der nicht dokumentierten Art der Amazon SNS-Endpunkte und wie sie interagieren mit dem Benutzer, ich habe Schwierigkeiten, einen Endpunkt in Sinatra für meine Anwendung Code.
Ich habe einige Code in PHP geschrieben hier , aber ich habe Schwierigkeiten zu konvertieren es in einen Ruby-Array, weil request.env["rack.input"].read
kapselt alles in etwas ähnlich einen PHP-Array:
{"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"}
Ich bin nicht sicher, wie dies zu umgehen, kann jemand bitte helfen?
Vielen Dank für Ihre Zeit,
Luke Carpenter
Lösung
Ein Jahr und vier Monate später, auf dieses Problem widerspiegelt:
Es war, weil ich eine vollständige und totale Noob war, und ich wusste nicht, was ein Hash in Ruby war zu der Zeit
In Ihrem post
Block, den Zugang der Inhalt des Hash wie folgt:
post "/" do
puts params['Message']
halt 200
end
Die Nachricht SNS Sie STDOUT ausgedruckt werden sendet / Terminal