FLUTTER ECOSYSTEM

nbspou/dospace

Dart client library to interact with the DigitalOcean Spaces API. Same API as Amazon AWS S3.

dospace project cover
Stars
13
Forks
52
Last push (UTC)
Sep 13, 2023
Project status
Active
Polyverse OÜ GitHub avatar
GITHUB Organization

Polyverse OÜ ↗

Useful libraries and tools we are creating and use in our projects. Maintenance forks of libraries we use.

LanguagesDart

Packages published by this repository

Dependencies used

Dependency list 6 items

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

DOSpace

Client library to interact with the DigitalOcean Spaces API.

Usage

A simple usage example:

import 'dart:async';
import 'package:dospace/dospace.dart' as dospace;

main() async {
  dospace.Spaces spaces = new dospace.Spaces(
    region: "nyc3",
    accessKey: "7Q7GAFJ4IXHQVLBRXSRX",
    secretKey: "2JLXa9RqPwpavBkC7dt1MHWUDfd6onaXTXTfSYc5eQ0",
  );
  for (String name in await spaces.listAllBuckets()) {
    print('bucket: ${name}');
    dospace.Bucket bucket = spaces.bucket(name);
    await for (dospace.BucketContent content in bucket.listContents(maxKeys: 3)) {
       print('key: ${content.key}');
    }
  }
  String etag = await spaces.bucket('example').uploadFile(
    'README.md', 'README.md', 'text/plain', dospace.Permissions.public);
  print('upload: $etag');
  await spaces.close();
}

References

  • https://developers.digitalocean.com/documentation/spaces/
  • https://github.com/agilord/aws_client
  • https://github.com/gjersvik/awsdart
  • https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
  • https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html
  • https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html
  • https://docs.aws.amazon.com/general/latest/gr/signature-v4-test-suite.html