4

Amazon の S3 から静的コンテンツを提供するには、ASP.NET MVC アプリケーションとデータベースをどのように設計すればよいですか?

現在Images、ローカルサーバーにアップロードされた画像のテーブルがあります。各イメージには ID とそれを提供するためのローカル パスがありますが、静的コンテンツをクラウドに移動したいと考えています。

  • 何を保管する必要がありますか?
  • ASP.NET MVC 3 経由で S3 コンテンツを提供するにはどうすればよいですか?
  • キャッシュされた Web リクエストを介してコンテンツを提供するか、S3 から直接コンテンツを提供しますか?

私は長い間専用サーバーを運用してきましたが、クラウドでのベスト プラクティスについてはまだ学んでいます。

4

2 に答える 2

3

AMが正しいです。画像を保護する必要がない場合は、バケットを公開して、アプリケーションから S3 の URL への直接アクセスを許可できます。

ただし、S3 上のファイルを認証されたユーザーに保護する場合は、URL 署名とここで説明されているタイムスタンプを使用できますhttp://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?RESTAuthentication.html

したがって、URLは次のようになります

  photos/puppy.jpg?AWSAccessKeyId=0PN5J17HBGZHT7JJ3X82
    &Signature=rucSbH0yNEcP9oM2XNlouVI3BH4%3D
    &Expires=1175139620
于 2011-07-04T04:02:13.617 に答える
1

これらのリソースの URL を S3 の .net サーバーに保存し、リクエストをそれらの URL にリダイレクトできます。Images現在、テーブルから画像へのローカルパスを保存しているのと同じ方法です。

また、静止画像を提供する場合は、.net サーバーからの URL の代わりに S3 URL を使用するだけで済みます。

おそらく回避したいのは、.net アプリを使用して S3 からファイルをロードし、そうする理由が本当にない限り、それらを応答として提供する必要があることです。

于 2011-07-04T00:54:00.120 に答える