{"id":32279288,"url":"https://github.com/diagnosia/flutter_aws_s3_client","last_synced_at":"2026-02-22T03:40:40.339Z","repository":{"id":56829146,"uuid":"193500517","full_name":"diagnosia/flutter_aws_s3_client","owner":"diagnosia","description":"A simple, unofficial AWS S3 client","archived":false,"fork":false,"pushed_at":"2021-03-23T13:29:28.000Z","size":97,"stargazers_count":25,"open_issues_count":2,"forks_count":19,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-08-20T21:57:40.786Z","etag":null,"topics":["aws","dart","flutter","s3"],"latest_commit_sha":null,"homepage":null,"language":"Dart","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/diagnosia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.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":"2019-06-24T12:25:18.000Z","updated_at":"2023-03-27T22:09:48.000Z","dependencies_parsed_at":"2022-08-26T13:51:11.697Z","dependency_job_id":null,"html_url":"https://github.com/diagnosia/flutter_aws_s3_client","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"purl":"pkg:github/diagnosia/flutter_aws_s3_client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diagnosia%2Fflutter_aws_s3_client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diagnosia%2Fflutter_aws_s3_client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diagnosia%2Fflutter_aws_s3_client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diagnosia%2Fflutter_aws_s3_client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diagnosia","download_url":"https://codeload.github.com/diagnosia/flutter_aws_s3_client/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diagnosia%2Fflutter_aws_s3_client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29704418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T03:17:42.375Z","status":"ssl_error","status_checked_at":"2026-02-22T03:17:31.622Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","dart","flutter","s3"],"created_at":"2025-10-23T00:31:40.996Z","updated_at":"2026-02-22T03:40:40.331Z","avatar_url":"https://github.com/diagnosia.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Pub Package](https://img.shields.io/pub/v/flutter_aws_s3_client.svg)](https://pub.dartlang.org/packages/flutter_aws_s3_client)\n\n# DEPRECATED\n\nSince there is now an official package for accessing AWS services, I decided to not longer support this package. please migrate to https://github.com/aws-amplify/amplify-flutter / https://pub.dev/packages/amplify_storage_s3/example\n\n\n# flutter_aws_s3_client\n\nSupports downloading objects and listing objects in a bucket.\n\nThe heavy lifting was done by [Amazon Cognito Identity SDK for Dart](https://github.com/furaiev/amazon-cognito-identity-dart-2),\nthis project contains just convenience methods for common use cases.\n\nif you need more requests, you can use this instead to build what you need.\nIf you implement more methods, feel free to open a pull request.\n\n## Usage\n\n### Build the client\n\n```dart\n  const region = \"eu-central-1\";\n  const bucketId = \"yourBucketId\";\n  final AwsS3Client s3client = AwsS3Client(\n      region: region,\n      host: \"s3.$region.amazonaws.com\",\n      bucketId: bucketId,\n      accessKey: \"\u003cyour access key\u003e\",\n      secretKey: \"\u003cyour secret key\u003e\");\n\n```\n\n### Get an object\n\n\n    final response = await s3client.getObject(\"your/object/key\"); \n\n\n### List objects of the bucket\n\n\n    ListBucketResult listBucketResult =\n      await s3client.listObjects(prefix: \"dir1/dir2/\", delimiter: \"/\");\n    print(listBucketResult.toString());\n\nIf you want to use a custom http client, use the method `buildSignedGetParams`.\nThis method returns an object containing the URL and the Authorization headers, which can be \nused to build the request with your preferred http client.\n\n\n### Download a large object to a file without keeping everything in-memory (streaming)\n\nUse the `buildSignedGetParams` method.\n\nExample code (with ETag support):\n\n```dart\n\nFuture download(String key, File file, [String etag = null]) async {\n\n  final signedParams = awsS3Client.buildSignedGetParams(key: key);\n\n  final request = await HttpClient().getUrl(signedParams.uri);\n\n  for (final header in (signedParams.headers ?? const {}).entries) {\n    request.headers.add(header.key, header.value);\n  }\n  if(eTag != null){\n    request.headers.add(HttpHeaders.ifNoneMatchHeader, eTag);\n  }\n  final response = response = await request.close();\n  if(response.statusCode != HttpStatus.ok){\n     //handle error  \n  }else{\n     return response.pipe(file.openWrite());\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiagnosia%2Fflutter_aws_s3_client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiagnosia%2Fflutter_aws_s3_client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiagnosia%2Fflutter_aws_s3_client/lists"}