2017-04-04 28 views
0

AWS S3のAPIは - オブジェクトは、メタデータ

が、私は現在、動画をたくさんから成りバケツを持って... AWS S3のAPIと無残失敗を理解しようとして含まれていません。

すべての動画をオブジェクトとしてリクエストする必要があります。アップロードすると設定した動画メタデータと動画を共有するリンクが必要になります。

問題私は...上記のいずれかなしにIv'eは、これまでに得たもの

をオブジェクトを取得していている - 読書のため

AWS.config.update({accessKeyId: 'id', secretAccessKey: 'key', region: 'eu- 
west-1'}); 
var s3 = new AWS.S3(); 

var params = { 
Bucket: 'Bucket-name', 
Delimiter: '/', 
Prefix: 'resource/folder-with-videos/' 

} 

s3.listObjects(params, function (err, data) { 
if(err)throw err; 
console.log(data); 
}); 

感謝:)

UPDATEを - getObjectを使用してExposeHeaderをCORS設定に追加すると、私が実際に設定したメタデータを取得できることがわかりました。 問題はgetObjectは特定のオブジェクト(私の場合はビデオ)でのみ動作します。

任意のアイデアどのようにlistObjectのようなオブジェクトをすべて取得し、getObjectのように各オブジェクトの値を取得できますか?私は考えることができる

唯一の解決策は、それぞれのために行うために、すべてのオブジェクトのリストを取得するにはlistObjectをやって、その後、この結果によってれるのgetObject AJAXオブジェクト?... UX 感謝:)

答えて

0

Aをリッピング最初に整理することのカップル。

ドキュメントごとに、http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listObjects-property listObjects APIは、コールバックパラメータに記載されているものを正確に返します。デリミタを使用すると、S3は指定された接頭辞の1つ下のレベルのオブジェクトのみを表示します。すべてのオブジェクトを再帰的にトラバースしません。

URLを取得するには、http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getSignedUrl-propertyを使用できます。あなたがメタデータの意味を本当に分かりません。

+0

ファイルをアップロードするときに、メタデータ(キーと値のペア)を追加してファイルに添付することができます。それは私が求めていたものです。 私はそれをせずにそうする方法を見つけたと思う、名前は十分なURL自体が終了(ファイル名) タイthoに固定する必要があります: – Ben

+0

実用的には不十分..あなたが私のポストアップデートを見ることができれば。ありがとう – Ben

+0

getObjectはオブジェクトの内容を取得します。 Webページにビデオをロードする場合は、getSignedUrlが適切です。しかし、ビデオをダウンロードしたい場合は、getObjectが正しい方法です。つまり、S3 SDKで1回のリクエストで複数のオブジェクトを一覧表示して取得する方法はありません。したがって、オブジェクトを最初にリストし、各オブジェクトに対してgetObjectを次にリストします。メタデータだけを望むなら、 'headObject'を一度見てください。 – nightgaunt

関連する問題