minio 3.5.0 icon indicating copy to clipboard operation
minio: ^3.5.0 copied to clipboard

Unofficial MinIO Dart Client SDK that provides simple APIs to access any Amazon S3 compatible object storage server.

MinIO Dart

This is the unofficial MinIO Dart Client SDK that provides simple APIs to access any Amazon S3 compatible object storage server.

API #

Bucket operationsObject operationsPresigned operationsBucket Policy & Notification operations
makeBucketgetObjectpresignedUrlgetBucketNotification
listBucketsgetPartialObjectpresignedGetObjectsetBucketNotification
bucketExistsfGetObjectpresignedPutObjectremoveAllBucketNotification
removeBucketputObjectpresignedPostPolicylistenBucketNotification
listObjectsfPutObjectgetBucketPolicy
listObjectsV2copyObjectsetBucketPolicy
listIncompleteUploadsstatObject
listAllObjectsremoveObject
listAllObjectsV2removeObjects
removeIncompleteUpload

Usage #

Initialize MinIO Client #

MinIO

final minio = Minio(
  endPoint: 'play.min.io',
  accessKey: 'Q3AM3UQ867SPQQA43P2F',
  secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
);

AWS S3

final minio = Minio(
  endPoint: 's3.amazonaws.com',
  accessKey: 'YOUR-ACCESSKEYID',
  secretKey: 'YOUR-SECRETACCESSKEY',
);

Filebase

final minio = Minio(
  endPoint: 's3.filebase.com',
  accessKey: 'YOUR-ACCESSKEYID',
  secretKey: 'YOUR-SECRETACCESSKEY',
  useSSL: true,
);

File upload

import 'package:minio/io.dart';
import 'package:minio/minio.dart';

void main() async {
  final minio = Minio(
    endPoint: 'play.min.io',
    accessKey: 'Q3AM3UQ867SPQQA43P2F',
    secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
  );

  await minio.fPutObject('mybucket', 'myobject', 'path/to/file');
}

For complete example, see: example

To use fPutObject() and fGetObject, you have to import 'package:minio/io.dart';

Upload with progress

import 'package:minio/minio.dart';

void main() async {
  final minio = Minio(
    endPoint: 'play.min.io',
    accessKey: 'Q3AM3UQ867SPQQA43P2F',
    secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',
  );

  await minio.putObject(
    'mybucket', 
    'myobject', 
    Stream<Uint8List>.value(Uint8List(1024)),
    onProgress: (bytes) => print('$bytes uploaded'),
  );
}

Get object

import 'dart:io';
import 'package:minio/minio.dart';

void main() async {
  final minio = Minio(
    endPoint: 's3.amazonaws.com',
    accessKey: 'YOUR-ACCESSKEYID',
    secretKey: 'YOUR-SECRETACCESSKEY',
  );

  final stream = await minio.getObject('BUCKET-NAME', 'OBJECT-NAME');

  // Get object length
  print(stream.contentLength);

  // Write object data stream to file
  await stream.pipe(File('output.txt').openWrite());
}

Features and bugs #

Please file feature requests and bugs at the issue tracker.

Contributions to this repository are welcome.

License #

MIT

59
likes
110
pub points
92%
popularity

Publisher

unverified uploader

Unofficial MinIO Dart Client SDK that provides simple APIs to access any Amazon S3 compatible object storage server.

Homepage
View/report issues

Documentation

API reference

License

Icon for licenses.MIT (LICENSE)

Dependencies

buffer, convert, crypto, http, intl, meta, mime, path, xml

More

Packages that depend on minio