2011-07-03 5 views
3

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

現在、私は自分のローカルサーバーにアップロードされた画像のテーブルをImages持っています。各画像にIDとローカルパスがありますが、静的コンテンツをクラウドに移動したいのです。

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

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

答えて

3

AMです。あなたのイメージがセクシャルになる必要がない場合は、バケットを公開し、アプリケーションからS3上のURLに直接アクセスできるようにすることができます。あなたが認証されたユーザーにS3上のファイルを保護する場合

しかし、あなたは、だからあなたのURLはS3 URLのほかに

photos/puppy.jpg?AWSAccessKeyId=0PN5J17HBGZHT7JJ3X82 
    &Signature=rucSbH0yNEcP9oM2XNlouVI3BH4%3D 
    &Expires=1175139620 
+0

ようになりますURLの署名と、ここでhttp://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?RESTAuthentication.html

を説明したタイムスタンプを使用することができ、 ASP.NET MVCアプリケーションを使用してイメージを操作するために何を保存する必要がありますか? DB内の –

+0

には、バケットとキーを格納するだけです。 web.configなどの場所にプライベートキーと公開キーが保存されます – Daveo

1

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

また、静的イメージを配信する場合は、.netサーバーからのURLの代わりにS3 URLを使用する必要があります。

おそらく避けたいのは、.netアプリを使用してS3からファイルを読み込んで、そのような理由がない限り応答として提供することです。

関連する問題