Amazon simpledb のドキュメントをチェックしています。彼らはサーバー側の言語についてのみ言及しています。
サーバーを介さずにクライアント側から直接データベースにデータを挿入する方法はありますか?
そうでない場合、どうしてですか?
Amazon simpledb のドキュメントをチェックしています。彼らはサーバー側の言語についてのみ言及しています。
サーバーを介さずにクライアント側から直接データベースにデータを挿入する方法はありますか?
そうでない場合、どうしてですか?
はいといいえ。AWS の秘密鍵を保護する必要があるため (ハッカーがそれを使用してアカウントを悪用する可能性があります)、JS で直接リクエストを認証することはできません。
JS で実装を作成することはできますが、本質的に安全ではありません。一部の内部使用には実用的ですが、安全に展開することはできません (秘密鍵が公開されるため)。代わりに、サーバーを使用して SimpleDB へのリクエストを認証し、JS に Amazon への実際のリクエストを実行させることができます。少し回り道ですが、うまくいきます。
欠点は、クライアント側で一連の処理を行う必要があることです。また、アプリが消費/出力するよりも多くのデータをフェッチしている可能性が高いため、サーバーではなくクライアントでデータを処理すると、より多くのデータをユーザーに転送し、処理が遅くなるため、より多くのレイテンシが発生する可能性があります。
お役に立てれば
そうでない場合、どうしてですか?
安全。開発者アカウントで DB に対して認証します。Amazon は、エンド ユーザーについて知りません (ブラウザから直接アクセスを認証するために、エンド ユーザーのことを知る必要があります)。エンド ユーザーに何を許可し、何を許可しないかを決定するのは、アプリケーション コードです。
とはいえ、Amazon SimpleDBサンプル アプリケーション用の Javascript Scratchpad があります。ブラウザから SimpleDB に直接アクセスします (AWS 認証情報を入力する必要があります)。
SimeplDBAdmin は Javascript/PHP ベースのインターフェースです。
http://awsninja.com/2010/07/08/simpledbadmin-a-phpmyadmin-like-interface-for-amazon-simpledb/
PHP 側はリレー スクリプト [relay.php] であり、Javascript クライアントからの要求を渡してサーバーに送信し、サーバーからの応答を受け取り、クライアント用に再フォーマットします。これは、Javascript のクロスドメインの問題を簡単に回避するためです [Web クライアントが www.example.com から JavaScript コードを含む Web ページをダウンロードした場合、デフォルトでは JavaScript が www.example.com に接続することのみが許可されます]。 .
リクエストの署名を含む他のすべては、Javascript コードによって行われます。
また、Amazon は最近、Amazon アカウントの下にサブアカウントを設定できるようにする新しいベータ サービスをリリースしたことにも注意してください。simpleDB の保護は非常に基本的です [アカウントごとにオンまたはオフ] ですが、制限付きの形式のリクエスト追跡を提供するため、Javascript を使用し、各ユーザーに独自のユーザー ID とリクエスト署名用のキーを与える方がより安全であると主張できます。もちろん、すべてのユーザーに同じユーザー ID と証明書を使用させるのは安全ではありません。
信頼されていないクライアントからの SimpleDB への安全で匿名の読み取り専用アクセスの許可に関する同様の質問に対するこの回答を参照してください: amazon simpledb による匿名読み取り。
その答えからのいくつかのバリエーション:
無料の純粋な JavaScript インターフェースが利用可能です。https://chrome.google.com/webstore/detail/ddhigekdfabonefhiildaiccafacphggをご覧ください。