{"id":16560891,"url":"https://github.com/jb55/s3-blob-store","last_synced_at":"2025-06-24T23:05:06.934Z","repository":{"id":20366520,"uuid":"23641806","full_name":"jb55/s3-blob-store","owner":"jb55","description":":cloud: Amazon S3 blob-store","archived":false,"fork":false,"pushed_at":"2022-03-30T18:25:38.000Z","size":38,"stargazers_count":67,"open_issues_count":5,"forks_count":19,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-24T01:19:02.347Z","etag":null,"topics":["aws","blob-store","s3"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jb55.png","metadata":{"files":{"readme":"readme.md","changelog":"History.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-03T23:49:14.000Z","updated_at":"2022-07-19T07:42:59.000Z","dependencies_parsed_at":"2022-06-26T03:49:39.553Z","dependency_job_id":null,"html_url":"https://github.com/jb55/s3-blob-store","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/jb55/s3-blob-store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb55%2Fs3-blob-store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb55%2Fs3-blob-store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb55%2Fs3-blob-store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb55%2Fs3-blob-store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jb55","download_url":"https://codeload.github.com/jb55/s3-blob-store/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb55%2Fs3-blob-store/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261703694,"owners_count":23197015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","blob-store","s3"],"created_at":"2024-10-11T20:30:26.600Z","updated_at":"2025-06-24T23:05:06.911Z","avatar_url":"https://github.com/jb55.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# s3-blob-store [![build status](https://badgen.net/travis/jb55/s3-blob-store/master)](https://travis-ci.com/jb55/s3-blob-store) [![install size](https://badgen.net/packagephobia/install/s3-blob-store)](https://packagephobia.now.sh/result?p=s3-blob-store) [![npm package version](https://badgen.net/npm/v/s3-blob-store)](https://npm.im/s3-blob-store) [![github license](https://badgen.net/github/license/jb55/s3-blob-store)](https://github.com/jb55/s3-blob-store/blob/master/LICENSE) [![js semistandard style](https://badgen.net/badge/code%20style/semistandard/pink)](https://github.com/Flet/semistandard)\n\nAmazon S3 [abstract-blob-store](http://npmrepo.com/abstract-blob-store)\n\n[![blob-store-compatible](https://raw.githubusercontent.com/maxogden/abstract-blob-store/master/badge.png)](https://github.com/maxogden/abstract-blob-store)\n\n## Installation\n\nInstall with npm\n\n    $ npm install s3-blob-store\n\n## Example\n\n```js\nvar aws = require('aws-sdk');\nvar s3blobs = require('s3-blob-store');\n\nvar client = new aws.S3({\n  accessKeyId: process.env.S3_ACCESS_KEY,\n  secretAccessKey: process.env.S3_SECRET_KEY\n});\n\nvar store = s3blobs({\n  client: client,\n  bucket: 'mybucket'\n});\n\n// write to s3\nfs.createReadStream('/tmp/somefile.txt')\n  .pipe(store.createWriteStream({ key: 'somefile.txt' }));\n\n// read from s3\nstore.createReadStream({ key: 'somefile.txt' })\n  .pipe(fs.createWriteStream('/tmp/somefile.txt'));\n\n// remove\nstore.remove({ key: 'somefile.txt' }, function (err) {\n   // ...\n});\n\n// exists\nstore.exists({ key: 'somefile.txt' }, function (err, exists) {\n  // ...\n});\n```\n\n## API\n\n\u003c!-- Generated by documentation.js. Update this documentation by updating the source code. --\u003e\n\n#### Table of Contents\n\n-   [S3BlobStore](#s3blobstore)\n    -   [Parameters](#parameters)\n    -   [createReadStream](#createreadstream)\n        -   [Parameters](#parameters-1)\n    -   [createWriteStream](#createwritestream)\n        -   [Parameters](#parameters-2)\n    -   [remove](#remove)\n        -   [Parameters](#parameters-3)\n    -   [exists](#exists)\n        -   [Parameters](#parameters-4)\n-   [WriteParams](#writeparams)\n-   [Options](#options)\n    -   [Properties](#properties)\n-   [ReadStreamOptions](#readstreamoptions)\n-   [S3](#s3)\n-   [ReadParams](#readparams)\n\n### S3BlobStore\n\nCreate S3 blob store\n\n#### Parameters\n\n-   `opts` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** \n    -   `opts.client` **[S3](#s3)** S3 client\n    -   `opts.bucket` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** bucket name\n\n#### createReadStream\n\nCreate read stream\n\n##### Parameters\n\n-   `opts` **([ReadStreamOptions](#readstreamoptions) \\| [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** options or object key\n\nReturns **ReadableStream** readable stream of data for the file in your bucket whose key matches\n\n#### createWriteStream\n\nCreate write stream\n\n##### Parameters\n\n-   `opts` **([Options](#options)\u0026lt;[WriteParams](#writeparams)\u003e | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** options or object key\n-   `s3opts`  \n-   `done` **function ([Error](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error), {key: [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)})** callback\n\nReturns **WritableStream** writable stream that you can pipe data to\n\n#### remove\n\nRemove object from store\n\n##### Parameters\n\n-   `opts` **({key: [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)} | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** options containing object key or just key\n-   `done` **function ([Error](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error))** callback\n\n#### exists\n\nCheck if object exits\n\n##### Parameters\n\n-   `opts` **({key: [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)} | [String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** options containing object key or just key\n-   `done` **function ([Error](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error), [Boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean))** callback\n\n### \n\n### WriteParams\n\n-   **See: \u003chttps://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property\u003e**\n\nS3 `putObject` params\n\n### Options\n\nType: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)\n\n#### Properties\n\n-   `key` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** object key\n-   `name` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** `key` alias\n-   `filename` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)?** `key` alias\n-   `params` **S3Params?** additional S3 options\n\n### ReadStreamOptions\n\n-   **See: \u003chttps://github.com/jb55/s3-download-stream#api\u003e**\n\n[`Options`](#options) including `s3-stream-download` configuration\n\n### S3\n\n-   **See: \u003chttps://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html\u003e**\n\nS3 client\n\n### ReadParams\n\n-   **See: \u003chttps://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getObject-property\u003e**\n\nS3 `getObject` params\n\n### \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjb55%2Fs3-blob-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjb55%2Fs3-blob-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjb55%2Fs3-blob-store/lists"}