Specialized tokenizer to access files stored on the Amazon Web Services (AWS) S3 cloud storage.
Install using npm:
npm install @tokenizer/s3
or using yarn:
yarn add install @tokenizer/s3
Determine file type (based on it's content) from a file stored Amazon S3 cloud:
const FileType = require('file-type');
const S3 = require('aws-sdk/clients/s3');
const { makeTokenizer } = require('@tokenizer/s3');
(async () => {
// Initialize S3 client
const s3 = new S3();
// Initialize S3 tokenizer
const s3Tokenizer = await makeTokenizer(s3, {
Bucket: 'affectlab',
Key: '1min_35sec.mp4'
});
// Figure out what kind of file it is
const fileType = await FileType.fromTokenizer(s3Tokenizer);
console.log(fileType);
})();
See also example at file-type.
Retrieve music-metadata
const s3tokenizer = require("@tokenizer/s3");
const S3 = require('aws-sdk/clients/s3');
const mm = require("music-metadata/lib/core");
/**
* Retrieve metadata from Amazon S3 object
* @param objRequest S3 object request
* @param options music-metadata options
* @return Metadata
*/
async function parseS3Object(s3, objRequest, options) {
const s3Tokenizer = await s3tokenizer.makeTokenizer(s3, objRequest, options);
return mm.parseFromTokenizer(s3Tokenizer, options);
}
(async () => {
const s3 = new S3();
const metadata = await parseS3Object(s3, {
Bucket: 'standing0media',
Key: '01 Where The Highway Takes Me.mp3'
}
);
console.log(metadata);
})();
An module implementation of this example can be found in @music-metadata/s3.