0

以前にも質問しましたが、情報が少なすぎて削除しました。今度はもっと具体的にしようと思います。

ユーザーが S3 ストレージにファイルをアップロードできるようにする Objective-C mac アプリケーションがあります。s3 ストレージは私のもので、ユーザーは Amazon アカウントを持っていません。これまで、ファイルは Amazon サーバーに直接アップロードされていました。もう少し考えてみると、セキュリティと柔軟性に関しては、あまり良いコンセプトではありませんでした。間にサーバーを追加したい。ユーザーはサーバーで認証する必要があり、認証が成功するとサーバーはセッションを開き、ファイル共有を開始できます。

今私の質問。ファイルをS3にアップロードしたい。1 つのオプションは、POST 要求を作成し、サーバーがファイルを受信するまで待機することです。ここでの問題は、ファイルがサーバーから S3 サーバーにアップロードされるときに遅延が発生し、アップロード時間が 2 倍になることです。

リクエストを検証してからリダイレクトできれば、クライアントはそれを直接s3-storageにアップロードできます。これがどういうわけか可能かどうかはわかりません。

S3 に直接アップロードするのはあまりスマートではないようです。Droplr や Dropmark などの他のアプリを調べたところ、このようなことはしていないようです。ところで。私はリトル スニッチを使用してこれを行いました。

彼らは独自のWebサーバーにAPIを持っています。それだけです。

誰かが私のために物事を片付けることができますか?

編集 ファイルを S3 に送信するにはどうすればよいですか? それを「転送」する方法はありますか、それともサーバーにアップロードしてから、そこから S3 にアップロードする必要がありますか? 私が言ったように、他のアプリはこれを効率的に行うことができ、S3 と直接通信する必要はありません。

4

1 に答える 1

1

サーバーで認証が管理されているが、2 回のアップロードが必要ない場合は、AWS/IAM の一時的なセキュリティ認証情報を調べてください。

http://aws.amazon.com/releasenotes/Java/5316957573949696

要するに:

  1. ユーザーはサーバーで認証されます
  2. サーバーは一時的なセキュリティ資格情報で応答します
  3. ユーザーは、一時認証情報を使用して s3 に直接アップロードします
于 2012-10-29T00:21:53.397 に答える