{"id":13687274,"url":"https://github.com/lucacasonato/deno_s3","last_synced_at":"2025-04-15T11:50:41.940Z","repository":{"id":44544116,"uuid":"274638239","full_name":"lucacasonato/deno_s3","owner":"lucacasonato","description":"Amazon S3 for Deno","archived":false,"fork":false,"pushed_at":"2023-07-25T03:51:21.000Z","size":119,"stargazers_count":55,"open_issues_count":24,"forks_count":14,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-13T08:58:32.570Z","etag":null,"topics":["aws","deno","s3"],"latest_commit_sha":null,"homepage":"http://deno.land/x/s3","language":"TypeScript","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/lucacasonato.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":["lucacasonato","wperron"]}},"created_at":"2020-06-24T10:14:17.000Z","updated_at":"2025-04-12T01:57:02.000Z","dependencies_parsed_at":"2024-01-14T15:21:30.516Z","dependency_job_id":"0e195f59-02d0-4673-9fbb-edf6b0519393","html_url":"https://github.com/lucacasonato/deno_s3","commit_stats":{"total_commits":43,"total_committers":9,"mean_commits":4.777777777777778,"dds":"0.41860465116279066","last_synced_commit":"0af082b8242d6b57d6c726f47b2c84ceb7475d4d"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucacasonato%2Fdeno_s3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucacasonato%2Fdeno_s3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucacasonato%2Fdeno_s3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucacasonato%2Fdeno_s3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucacasonato","download_url":"https://codeload.github.com/lucacasonato/deno_s3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249067153,"owners_count":21207392,"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","deno","s3"],"created_at":"2024-08-02T15:00:51.431Z","updated_at":"2025-04-15T11:50:41.920Z","avatar_url":"https://github.com/lucacasonato.png","language":"TypeScript","funding_links":["https://github.com/sponsors/lucacasonato","https://github.com/sponsors/wperron"],"categories":["deno"],"sub_categories":[],"readme":"# deno_s3\n\n![ci](https://github.com/lucacasonato/deno_aws_sign_v4/workflows/ci/badge.svg)\n[![deno doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/s3@0.5.0/mod.ts)\n[![Coverage Status](https://coveralls.io/repos/github/lucacasonato/deno_s3/badge.svg?branch=main)](https://coveralls.io/github/lucacasonato/deno_s3?branch=main)\n\nAmazon S3 for Deno\n\n\u003e ⚠️ This project is work in progress. Expect breaking changes.\n\n## Example\n\n```ts\nimport { S3, S3Bucket } from \"https://deno.land/x/s3@0.5.0/mod.ts\";\n\n// Create a S3 instance.\nconst s3 = new S3({\n  accessKeyID: Deno.env.get(\"AWS_ACCESS_KEY_ID\")!,\n  secretKey: Deno.env.get(\"AWS_SECRET_ACCESS_KEY\")!,\n  region: \"us-east-1\",\n  endpointURL: Deno.env.get(\"S3_ENDPOINT_URL\"),\n});\n\n// Create a new bucket.\nlet bucket = await s3.createBucket(\"test\", { acl: \"private\" });\n\n// Get an existing bucket.\nbucket = s3.getBucket(\"test\");\n\n// Create a bucket instance manuely.\nbucket = new S3Bucket({\n  accessKeyID: Deno.env.get(\"AWS_ACCESS_KEY_ID\")!,\n  secretKey: Deno.env.get(\"AWS_SECRET_ACCESS_KEY\")!,\n  bucket: \"test\",\n  region: \"us-east-1\",\n  endpointURL: Deno.env.get(\"S3_ENDPOINT_URL\"),\n});\n\nconst encoder = new TextEncoder();\n\n// Put an object into a bucket.\nawait bucket.putObject(\"test\", encoder.encode(\"Test1\"), {\n  contentType: \"text/plain\",\n});\n\n// Retrieve an object from a bucket.\nconst { body } = await bucket.getObject(\"test\");\nconst data = await new Response(body).text();\nconsole.log(\"File 'test' contains:\", data);\n\n// List objects in the bucket.\nconst list = bucket.listAllObjects({});\nfor await (const obj of list) {\n  console.log(\"Item in bucket:\", obj.key);\n}\n\n// Delete an object from a bucket.\nawait bucket.deleteObject(\"test\");\n```\n\n## Contributing\n\nTo run tests you need to Docker and docker-compose installed.\n\n```\nmake test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucacasonato%2Fdeno_s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucacasonato%2Fdeno_s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucacasonato%2Fdeno_s3/lists"}