highoutput-cloud-storage

Cloud storage using Amazon S3.

Usage no npm install needed!

<script type="module">
  import highoutputCloudStorage from 'https://cdn.skypack.dev/highoutput-cloud-storage';
</script>

README

Cloud Storage

Class: CloudStorage

new CloudStorage(options)

  • options.scope string Scope in the single bucket where the file is going to be stored. This should be equivalent to your app name.
  • options.region? string Specified region. Default value is 'ap-southeast-1'.
  • options.accessKey string AWS Access Key ID.
  • options.secretKey string AWS Secret Access Key.

new CloudStorage(options) example

import CloudStorage from 'highoutput-cloud-storage';

const storage = new CloudStorage({
  scope: 'my-app-name',
  accessKey: 'AKIAIOSFODNN7EXAMPLE',
  secretKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',
});

storage.getUploadCredentials(params)

  • params.filename string Filename (with path). Value will be normalized and leading '/' will be removed.
  • params.validity? string|number Time validity of credential. Input should be following ms module format.
  • params.upperSizeLimit? number Upper file size limit to be uploaded in MB. Deafult value is 10.

getUploadCredentials(params) example

const info = storage.getUploadCredentials({
  filename: 'some/filename.js',
});

console.log(info);
// {
//   url: 'https://highoutput-public.s3.amazonaws.com/my-app-name/some/filename.js',
//   origin: 'https://highoutput-public.s3.amazonaws.com',
//   params: {
//     key: 'my-app-name/some/filename.js',
//     acl: 'public-read',
//     success_action_status: '201',
//     policy: 'eyJleHBpcmF0aW9uIjoiMjAxOC0wNS0wNFQwMzoxMTo1Ni44NTBaIiwiY29uZG==',
//     'x-amz-algorithm': 'AWS4-HMAC-SHA256',
//     'x-amz-credential': 'AKIAIOSFODNN7EXAMPLE/20180504/ap-southeast-1/s3/aws4_request',
//     'x-amz-date': '20180504T000000Z',
//     'x-amz-signature': '758f600aac46de0bcf68e1fb47e0646afa7c306c5006a8'
//   }
// }