6.0.1 • Published 9 months ago

s3-cached v6.0.1

Weekly downloads
197
License
MIT
Repository
github
Last release
9 months ago

Cached S3 Wrapper

Build Status Test Coverage Dependabot Status Dependencies NPM Downloads Semantic-Release Gardener

S3 File Access Abstraction providing Memory and Disk Caching Layer. Useful e.g. in lambda functions if you want to reduce the amount of s3 access for serving (semi-)static files.

What it does

  • Access abstraction to access JSON and GZipped data on AWS S3
  • Two Layer caching (memory and disk)
  • Allows you to define cache constraints like TTL

Getting Started

Install

$ npm install --save s3-cached

Request S3 Files

const s3 = require('s3-cached')({
  bucket: 'YOUR_BUCKET_NAME',
  awsSdkWrap: AwsSdkWrap(/* ... */)
});

s3.getJsonObjectCached('large.json').then((json) => {
  // do something with the json data
}).catch((err) => {
  // there has been an error
});

Available functions

  • getBinaryObjectCached: retrieve file content, caching additional modifications possible through parameter
  • getTextObjectCached: retrieve file content as string and return as promise
  • getJsonObjectCached: retrieve file content as string, parse as json and return as promise
  • getGzipObjectCached: retrieve file content, gunzip and return as promise
  • getKeysCached: retrieve all file names in bucket with given prefix

Note that you can specify the ttl and/or custom bucket on a per file basis by calling e.g. s3.getJsonObjectCached(FILE_NAME, { ttl, bucket }). For exact method signatures please check the code.

Other Function / Exports

  • resetCache(): Reset everything in cache
  • aws: The underlying aws-sdk-wrap instance

Options

bucket

Type: string Default: undefined

Specify the Bucket name you want to retrieve data from. It either has to be defined here or on every request (overwrites).

s3Options

Type: object Default: -

Passed into aws-wrap-sdk for AWS.S3() initialization.

logger

Type: logger Default: null

Passed into aws-wrap-sdk.

ttl

Type: integer Default: 600

Define how long a cached file is kept by default. This can be overwritten on a per-file basis by passing a second parameter into the function.

memoryLimit

Type: integer Default: 100

Define how many cached entities can be hold in memory at the same time. If more entities are present, the earliest are discarded from memory cache.

diskMaxSize

Type: integer Default: 469762048

Maximum amount of disk space in bytes used by disk cache. Earliest files are discarded from file cache if more space is used.

diskTmpDirectory

Type: string Default: /tmp

Location to store temporary data for disk cache.

5.0.0

9 months ago

6.0.1

9 months ago

6.0.0

9 months ago

4.0.6

3 years ago

4.0.5

3 years ago

4.0.4

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

4.0.3

3 years ago

4.0.2

3 years ago

3.0.63

3 years ago

3.0.62

3 years ago

3.0.61

3 years ago

3.0.60

3 years ago

3.0.59

3 years ago

3.0.58

3 years ago

3.0.57

4 years ago

3.0.56

4 years ago

3.0.55

4 years ago

3.0.54

4 years ago

3.0.53

4 years ago

3.0.52

4 years ago

3.0.51

4 years ago

3.0.50

4 years ago

3.0.49

4 years ago

3.0.48

4 years ago

3.0.47

4 years ago

3.0.46

4 years ago

3.0.45

4 years ago

3.0.44

4 years ago

3.0.43

4 years ago

3.0.42

4 years ago

3.0.41

4 years ago

3.0.40

4 years ago

3.0.39

4 years ago

3.0.38

4 years ago

3.0.37

4 years ago

3.0.36

4 years ago

3.0.34

4 years ago

3.0.35

4 years ago

3.0.33

4 years ago

3.0.32

4 years ago

3.0.31

4 years ago

3.0.30

4 years ago

3.0.29

4 years ago

3.0.28

4 years ago

3.0.27

4 years ago

3.0.26

4 years ago

3.0.25

4 years ago

3.0.24

4 years ago

3.0.23

4 years ago

3.0.22

4 years ago

3.0.21

4 years ago

3.0.20

4 years ago

3.0.19

4 years ago

3.0.18

4 years ago

3.0.17

4 years ago

3.0.16

4 years ago

3.0.15

4 years ago

3.0.14

4 years ago

3.0.13

4 years ago

3.0.12

4 years ago

3.0.11

4 years ago

3.0.10

4 years ago

3.0.9

4 years ago

3.0.8

4 years ago

3.0.7

4 years ago

3.0.6

4 years ago

3.0.5

4 years ago

3.0.4

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.3.8

5 years ago

2.3.7

5 years ago

2.3.6

5 years ago

2.3.5

5 years ago

2.3.4

5 years ago

2.3.3

5 years ago

2.3.2

5 years ago

2.3.1

5 years ago

2.3.0

5 years ago

2.2.10

5 years ago

2.2.9

5 years ago

2.2.8

5 years ago

2.2.7

5 years ago

2.2.6

5 years ago

2.2.5

5 years ago

2.2.4

5 years ago

2.2.3

5 years ago

2.2.2

5 years ago

2.2.1

5 years ago

2.2.0

5 years ago

2.1.28

5 years ago

2.1.27

5 years ago

2.1.26

5 years ago

2.1.25

5 years ago

2.1.24

5 years ago

2.1.23

5 years ago

2.1.22

5 years ago

2.1.21

5 years ago

2.1.20

5 years ago

2.1.19

5 years ago

2.1.18

5 years ago

2.1.17

5 years ago

2.1.16

5 years ago

2.1.15

5 years ago

2.1.14

5 years ago

2.1.13

5 years ago

2.1.12

5 years ago

2.1.11

5 years ago

2.1.10

5 years ago

2.1.9

5 years ago

2.1.8

5 years ago

2.1.7

5 years ago

2.1.6

5 years ago

2.1.5

5 years ago

2.1.4

5 years ago

2.1.3

5 years ago

2.1.2

5 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.5.0

6 years ago

1.4.42

6 years ago

1.4.41

6 years ago

1.4.40

6 years ago

1.4.39

6 years ago

1.4.38

6 years ago

1.4.37

6 years ago

1.4.36

6 years ago

1.4.35

6 years ago

1.4.34

6 years ago

1.4.33

6 years ago

1.4.31

6 years ago

1.4.30

6 years ago

1.4.29

6 years ago

1.4.28

6 years ago

1.4.27

6 years ago

1.4.26

6 years ago

1.4.25

6 years ago

1.4.24

6 years ago

1.4.23

6 years ago

1.4.22

6 years ago

1.4.21

6 years ago

1.4.20

6 years ago

1.4.19

6 years ago

1.4.18

6 years ago

1.4.17

6 years ago

1.4.16

6 years ago

1.4.15

6 years ago

1.4.14

6 years ago

1.4.13

6 years ago

1.4.12

6 years ago

1.4.11

6 years ago

1.4.10

6 years ago

1.4.9

6 years ago

1.4.8

6 years ago

1.4.7

6 years ago

1.4.6

6 years ago

1.4.5

6 years ago

1.4.4

6 years ago

1.4.3

6 years ago

1.4.2

6 years ago

1.4.1

6 years ago

1.4.0

6 years ago

1.3.6

6 years ago

1.3.5

6 years ago

1.3.4

6 years ago

1.3.3

6 years ago

1.3.2

6 years ago

1.3.1

6 years ago

1.3.0

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.34

6 years ago

1.1.33

6 years ago

1.1.32

6 years ago

1.1.31

6 years ago

1.1.30

6 years ago

1.1.29

6 years ago

1.1.28

6 years ago

1.1.27

6 years ago

1.1.26

6 years ago

1.1.25

6 years ago

1.1.24

6 years ago

1.1.23

6 years ago

1.1.22

6 years ago

1.1.21

6 years ago

1.1.20

6 years ago

1.1.19

6 years ago

1.1.18

6 years ago

1.1.17

6 years ago

1.1.16

6 years ago

1.1.15

6 years ago

1.1.14

6 years ago

1.1.13

6 years ago

1.1.12

6 years ago

1.1.11

6 years ago

1.1.10

6 years ago

1.1.9

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago