web-dev-qa-db-ja.com

複数のファイルの事前に署名されたURLですか?

Aws-s3でバケットの署名済みURLを生成するための実装を作成しました。単一のファイル/オブジェクトを取得する場合は問題なく動作します。

ディレクトリ全体の事前署名付きURLを生成するためにこれをどのように実行しますか?このように言えば、私のs3バケットには、独自の小さなhtml5アプリケーションを含む複数のフォルダーがあります。各フォルダーには、独自のhtml、css、js、およびメディアファイルのセットがあります。この場合、単一のオブジェクトの事前署名付きURLを生成しません。

たとえば、フォルダーのindex.htmlのように、単一のファイルに署名済みのURLを指定した場合、そのファイルもcss、js、およびメディアファイルをロードする必要があります。署名付きURLがないファイル。

これを実装する方法については、あまりよくわかりません。

13
nkl

いいえ、複数のファイルを最初にアップロードできるようにするAPIを提供する必要があります。これはAPIの制限であり、事前署名ではありません。

Amazon s3への一括アップロードを実行することは可能ですか? を参照してください。

8
poida

いいえ。事前署名付きURLは1つのオブジェクトに対してのみ有効です。

4
John Rotenstein

まず最初に:AWS S3はキー値ストアであり、各オブジェクトはaaa/bbb/ccc/ddd/index.htmlは1つの名前にすぎません。 「フォルダ」の概念はありません(UIから存在するという誤った印象がある場合でも)。

複数の「ファイル」に対して単一の署名付きURLを作成するには、いくつかの前処理を行う必要があります。必要なすべてのファイルをローカルでプルし、ZipしてZipアーカイブをS3に配置してから、Zipアーカイブの署名付きURLを生成します。

0
Vor