パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v3.5.8

minio

Amazon S3互換のオブジェクトストレージサーバーにアクセスするためのシンプルなAPIを提供する非公式MinIO DartクライアントSDKです。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
6.6万
いいね数
130
Pub ポイント
140

パッケージをインストール

flutter pub add minio

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

minio パッケージは、Amazon S3互換のオブジェクトストレージサーバー(例:MinIO)とやり取りするための非公式なDart SDKです。アップロード、ダウンロード、リスト表示、削除などの一般的な操作を実行するためのシンプルで直感的なAPIを提供します。クロスプラットフォーム対応を意識して設計されており、Android、iOS、Web、macOS、Windows、Linuxをサポートしています。S3プロトコルに準拠したクラウドストレージサービスとのシームレスな統合を可能にし、スケーラブルなファイルストレージが必要なアプリケーションに最適です。軽量であり、セキュアで耐久性があり、高性能なデータ永続化を必要とするアプリケーションを開発する開発者に適しています。

用途

  • ユーザーが生成したコンテンツの保存
  • アプリケーションデータのバックアップ
  • 静的アセットのホスティング
  • S3互換ストレージとの統合
  • 複数のプラットフォーム間でのファイル共有を有効にする

主な機能

  • S3互換 API
  • クロスプラットフォーム対応
  • 簡単なアップロード/ダウンロード方法
  • セキュアな認証
  • オブジェクトライフサイクル管理

適している対象

  • クラウドストレージを必要とするFlutterアプリ
  • MinIO や S3 を使用する開発者
  • ファイルの永続性を必要とするアプリ
  • Backendless ファイル処理
  • マルチプラットフォームデプロイを備えたプロジェクト

注意事項

  • 公式外の SDK – MinIO によって維持されていない
  • 適切なアクセス資格が必要です
  • S3互換サーバーに限定
  • 組み込みの再試行ロジックなし
  • 外部のGitHubリポジトリに依存しています

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

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 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

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

カテゴリー

依存関係

依存関係一覧 9 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

ランキング