minio
Amazon S3 호환 객체 스토리지 서버에 액세스하기 위한 간단한 API를 제공하는 비공식 MinIO Dart 클라이언트 SDK입니다.
Amazon S3 호환 객체 스토리지 서버에 액세스하기 위한 간단한 API를 제공하는 비공식 MinIO Dart 클라이언트 SDK입니다.
아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
This is the unofficial MinIO Dart Client SDK that provides simple APIs to access any Amazon S3 compatible object storage server.
https://github.com/xtyxtyx/minio-dart/workflows/test/badge.svg https://img.shields.io/pub/v/minio https://img.shields.io/badge/Buy%20Me%20a%20Coffee-F16061?style=flat&logo=buy-me-a-coffee&logoColor=white&labelColor=555555
| Bucket operations | Object operations | Presigned operations | Bucket Policy & Notification operations |
|---|---|---|---|
| makeBucket | getObject | presignedUrl | getBucketNotification |
| listBuckets | getPartialObject | presignedGetObject | setBucketNotification |
| bucketExists | fGetObject | presignedPutObject | removeAllBucketNotification |
| removeBucket | putObject | presignedPostPolicy | listenBucketNotification |
| listObjects | fPutObject | getBucketPolicy | |
| listObjectsV2 | copyObject | setBucketPolicy | |
| listIncompleteUploads | statObject | ||
| listAllObjects | removeObject | ||
| listAllObjectsV2 | removeObjects | ||
| removeIncompleteUpload |
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()andfGetObject, you have toimport '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());
}
Please file feature requests and bugs at the issue tracker.
Contributions to this repository are welcome.