Systemic AWS S3
A Systemic component for the AWS S3 SDK v3.
How to use it
Configuration
A typical, simple configuration looks like this:
{
"region": "us-east-1",
"credentials": {
"secretAccessKey": "test",
"accessKeyId": "test"
}
}
Here you can finde the complete configuration interface of S3Client class constructor that set the region, credentials and other options.
Initialize the component
As with any other Systemic component, you can run it with the start
method:
const initAWSS3 = require('systemic-aws-s3');
const { start } = initAWSS3();
const api = await start({ config });
Call the API commands
As the AWS API has dozens of commands, intead of having one wrapper for each of them, the component exposes one single command commandExecutor
that can be used to call any of the commands exposed by the api:
For example, to list all the objects in a specific bucket:
const listObjectConfig = {
commandParams: { Bucket: bucketName },
commandName: 'listObjects'
}
const res = await api.commandExecutor(listObjectConfig);
You can check all the available commands here.
Custom commands
In the future, this component will also expose some custom commands not supported by the official API.
Guide for developers
How to test it
You can test the whole test suite running one of these commands:
npm run test
npm run test:watch
In case that you want to just execute a certain test case, you can also use these scripts to up / tear down the infra.
npm run infra:up
npm run infra:down