![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/Borewit/tokenizer-s3.svg?logo=lgtm&logoWidth=18)
@tokenizer/s3
Specialized tokenizer to access files stored on the Amazon Web Services (AWS) S3 cloud storage.
Installation
Install using npm:
npm install @tokenizer/s3 @aws-sdk/client-s3
or using yarn:
yarn add install @tokenizer/s3 @aws-sdk/client-s3
To configure AWS client authentication see Configuration and credential file settings.
Examples
Determine S3 file type
Determine file type (based on it's content) from a file stored Amazon S3 cloud:
const FileType = require('file-type');
const { S3Client } = require('@aws-sdk/client-s3');
const { makeTokenizer } = require('@tokenizer/s3');
(async () => {
const s3 = new S3Client({});
const s3Tokenizer = await makeTokenizer(s3, {
Bucket: 'affectlab',
Key: '1min_35sec.mp4'
});
const fileType = await FileType.fromTokenizer(s3Tokenizer);
console.log(fileType);
})();
See also example at file-type.
Reading audio metadata from Amazon S3
Retrieve music-metadata
const s3tokenizer = require("@tokenizer/s3");
const { S3Client } = require('@aws-sdk/client-s3');
const mm = require("music-metadata/lib/core");
async function parseS3Object(s3, objRequest, options) {
const s3Tokenizer = await s3tokenizer.makeTokenizer(s3, objRequest, options);
return mm.parseFromTokenizer(s3Tokenizer, options);
}
(async () => {
const s3 = new S3Client({});
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.
Dependency graph
![dependency graph](https://github.com/Borewit/tokenizer-s3/raw/HEAD/doc/dependency.svg)