1

クライアントから直接S3にファイルをアップロードするか、サーバーに送信してそこからアップロードする必要がありますか?クライアントまたはサーバーからS3にアップロードしますか?

各方法の賛否両論は何ですか?どちらが一般的ですか?

MEANスタックを使用しています(該当する場合)。

+0

はまあなど全く任意の長所や短所が存在しないかについては、この質問を?私が考えることができるのは、そのファイルをサーバーに送信してからS3に送信すると、アップロード機能が遅くなることだけです。スタックを使って何を達成しようとしているのですか? – error2007s

+0

あなたのアップロードがクライアントからS3へ直接行くなら、あなたはまだサーバを稼働させているスタックを持っていると思いますか?他の関連する要件やアーキテクチャ上の制約はありますか? – jbird

+0

はい、それはサーバーが稼働している完全なスタックアプリです。私のS3バケットへのアクセスは私のアプリを通してのみであることを願っているので、ユーザがクレデンシャルを取ってアプリの外にたくさんのファイルをアップロードできるようにしたくありません。 – lsimmons

答えて

2

create signed upload URLs with the Amazon APIとすることができます。これにより、登録されていないユーザーがあなたのバケットに物をアップロードするのを防ぎます。

サーバーが署名付きURLを作成し、これをクライアントに返します。クライアントは、サーバを停止させることなく、S3に直接アップロードすることができます。 Amazon通知サービスを使用して、アップロードが完了したときにサーバーに通知して、新しく保存されたアップロードの場所でデータベースを更新できるようにすることもできます。

チェックアウトに
upload file from angularjs directly to amazon s3 using signed url

+0

ありがとう、これは非常に役に立ちました! – lsimmons

関連する問題