2010-12-03 11 views
1

Hiya,
Aufgrund der undokumentierten Natur der Amazon SNS-Endpunkte und ihrer Interaktion mit dem Benutzer habe ich Schwierigkeiten, einen Endpunkt in Sinatra für meine Anwendung zu programmieren. Ich habe einige Codes in PHP geschrieben here, aber ich habe Schwierigkeiten in eine Ruby-Array zu konvertieren, weil request.env["rack.input"].read alles in etwas ähnlich einen PHP-Array kapselt:Sinatra AWS SNS-Endpunkt - Hilfe erforderlich

{"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

+1

Oh, Moment, das ist ein Ruby-Hash. – lcarpenter

Antwort

2

Ein Jahr und vier Monate später, auf dieses Problem widerspiegelt:

Es war, weil ich eine vollständige und totale Noob war, und ich didn ‚t wissen, was ein Hash in Ruby zu der Zeit

in Ihrem post Block greifen war, den Inhalt des Hash wie folgt:

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

Die Nachricht, die SNS sendet, wird auf STDOUT/Ihrem Terminal ausgedruckt

+0

jetzt ein toter Link .... sollte dies irgendwo dauerhafter repost ... –

+0

im Grunde, verwenden Sie den Namen des Hash und diese Syntax: 'hashname ['Message']' um die Güte zu erhalten Wenn Sie weiter brauchen Hilfe, zögern Sie nicht zu fragen, schlecht schreiben Sie ein Sinatra-Beispiel, wenn Sie wollen? – lcarpenter

+1

immer noch eine tote Verbindung. – Hedgehog

Verwandte Themen