2011-12-06 15 views
8

javascriptからAmazonのSQSにメッセージング要求を直接送信することはできますか?私はロギングシステムを作成しようとしており、リクエストを仲介サーバーに送るのをバイパスしたいと考えています。また、私が利用する可能性のあるこのソリューションの代替案を知っている人は誰ですか?http(javascriptクライアント)からAmazon SQSに直接リクエストを送信できますか?

+0

このサーバーサイドのJavaScript(例:Node.js)またはブラウザ/クライアントで実行中ですか? –

+0

クライアント側。明確にするために、スクリプトインジェクションを使用し、残りのURLにスクリプト要素のsrcを設定することで、クロスドメインの制限を克服することができます。 amazonが応答jsonオブジェクトをラップするオプションのコールバックパラメータを受け入れることを提案した場合、これは標準のJSONP呼び出しになります。あなたの気になる人は、ここでそれについてもっと読むことができます:http://en.wikipedia.org/wiki/JSONP – VinnyD

答えて

2

クライアントと同じSQSドメインからJavascriptをロードしない限り、クライアント/ Javascript Same-Origin PolicyによってSQSに投稿することはできません。

あなたの最善の策は、自分のミドルマンサーバーを使用することです。

+1

実際、jsonを使って出力をフォーマットし、コールバック関数にラップする方法はありますか?その場合、jsonpを使用してクロスドメインの制限を克服することができます。 – VinnyD

5

SQS(実際にはすべてのawsサービス)は、RESTベースのAPIを公開しています。 javascriptコードを使用してSQS REST APIに直接HTTPリクエストを行うことができます。 APIドキュメントのIDはhereです。

+2

ブラウザが同じオリジンポリシーを使用すると、これを防ぐことができます。 OPがサーバーサイドのJavaScript(Node.jsなど)を話している場合を除き、 –

+0

@CodyCaughlan、あなたは[ブラウザから動作する代替サービスについて知っていますか?](http://stackoverflow.com/questions/13369521/publish-ブラウザからのデータ - 書き込みなし - 私自身のサーバー) –

+0

WebSocketが機能するので、Socket.ioやPusher.comのようなものは正常に動作するはずです。 – eSniff

関連する問題