2016-09-05 60 views
0

ビデオを録画し、Amazon Elasticトランスコーダ経由でトランスコードするアプリがあります。トランスコードが完了すると、amazon SNSはビデオがトランスコードされたことを示すファイルと、ビデオに関する情報(ファイル名、期間など)をPOSTリクエストとしてユーザーのプロファイルページに返します。これはテキスト/プレーンのコンテンツタイプとして返​​されますが、JSONファイルの形式です。レールでアマゾンのSNS応答を読み取るには?

これはすべて(Amazonの観点から)正しく動作していますが、送信されるSNSファイルのコンテンツを(レールアプリで)キャプチャするにはどうすればよいですか?

EDIT:アマゾンレスポンス(/ * /プロファイルに、レスポンスコード404が見つかりません)ここにチェックする { "Type" : "Notification", "MessageId" : "6e311e3a-b0ed-5124-8578-4e72843d35b1", "TopicArn" : "arn:aws:sns:us-west-1:224636007242:soundstream_video_transcoding_complete", "Subject" : "Amazon Elastic Transcoder has finished transcoding job 1473131144092-6ti9g6.", "Message" : "{\n \"state\" : \"COMPLETED\",\n \"version\" : \"2012-09-25\",\n \"jobId\" : \"1473131144092-6ti9g6\",\n \"pipelineId\" : \"1466964609042\",\n \"input\" : {\n \"key\" : \"45423012/97061c7f-465f-46ec-80dd-6a92b474fd58/archive.mp4\",\n \"frameRate\" : \"auto\",\n \"resolution\" : \"auto\",\n \"aspectRatio\" : \"auto\",\n \"interlaced\" : \"auto\",\n \"container\" : \"mp4\"\n },\n \"outputs\" : [ {\n \"id\" : \"1\",\n \"presetId\" : \"1469647121114-zvgtx6\",\n \"key\" : \"transcoded/video-97061c7f-465f-46ec-80dd-6a92b474fd58.mp4\",\n \"thumbnailPattern\" : \"thumbnails/97061c7f-465f-46ec-80dd-6a92b474fd58/video-{count}\",\n \"status\" : \"Complete\",\n \"duration\" : 10,\n \"width\" : 640,\n \"height\" : 480\n } ]\n}", "Timestamp" : "2016-09-06T03:05:52.728Z", "SignatureVersion" : "1", }

+1

何を試しましたか?私たちはあなたのためのコードを書くことはできません。あなたはまずあなた自身に行く必要があります。 – ArtOfCode

+0

AWS応答の内容は何ですか? –

+0

@maxpleanerは、あなたが 'JSON.parse(response [" Message "])'を試して、それにあなたの必要なデータが含まれているのを見て、応答 –

答えて

0

2つのこと:1)に加入してSNSのトピックは何ですか? AWSコンソールでARNでトピックを検索し、サブスクライブされているエンドポイントを確認します。これはあなたが期待していることですか? 2)エンドポイントがパブリックで、エンドポイントにマップされているルートがあることを確認します。 404は、あなたのレールアプリがそのルートをどのように扱うかを知らず、そして/またはそれにマップされたリソースを持っていないことを意味します。

1)と2)を取得したら、jsonへのメッセージを解析し、興味のあるフィールドを調べる必要があります。

関連する問題