Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.6.0

flutter_aws_s3_client

Ein einfacher, nicht offizieller AWS S3-Client in Dart. Unterstützt das Herunterladen von Objekten und das Auflisten von Objekten in einem Bucket.

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
123
Likes
35
Pub-Punkte
100

Paket installieren

flutter pub add flutter_aws_s3_client

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein leichtgewichtiger, nicht offizieller AWS S3-Client für Flutter und Dart, der eine einfache Interaktion mit Amazon S3 ermöglicht. Er unterstützt das Herunterladen von Objekten und das Auflisten des Inhalts innerhalb eines Buckets, wodurch er für Apps nützlich ist, die grundlegende Dateiabrufe und Durchsuchungen aus dem S3 benötigen. Für den plattformübergreifenden Einsatz entwickelt, funktioniert es auf Android, iOS, macOS, Windows und Linux. Das Paket wird von AWS nicht offiziell gepflegt, bietet jedoch einen einfachen Zugriff ohne schwere Abhängigkeiten.

Anwendungsfälle

  • Dateien aus S3-Buckets herunterladen
  • Objekte in einem S3-Bucket auflisten
  • Integration von S3-Speicher in Flutter-Apps
  • Einfache Dateiverwaltung in Cloud-Umgebungen
  • Plattformübergreifender Cloud-Dateizugriff

Hauptmerkmale

  • Unterstützt S3-Objekt-Downloads
  • Objekte in einem Bucket auflisten
  • Leichtgewichtig und geringe Abhängigkeit
  • Plattformübergreifende Kompatibilität
  • Kein offizielles AWS SDK erforderlich

Geeignet für

  • Entwickler, die Flutter-Apps mit S3-Integration erstellen
  • Projekte, die grundlegende S3-Operationen erfordern
  • Apps, die die Abrufung von Dateien aus AWS S3 erfordern
  • Prototypen oder geringe Anforderungen an Cloud-Speicher
  • Nichtunternehmensanwendungen mit einfachen S3-Anforderungen

Hinweise

  • Kein offizielles AWS SDK
  • Beschränkt auf Download- und Listenoperationen
  • Kein Hochladen oder erweiterte S3-Funktionen
  • Kann manuelle Behandlung der Authentifizierung erfordern
  • Am besten geeignet für nicht-kritische oder experimentelle Anwendungsfälle

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Pub Package

DEPRECATED

Since 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

flutter_aws_s3_client

Supports downloading objects and listing objects in a bucket.

The heavy lifting was done by Amazon Cognito Identity SDK for Dart, this project contains just convenience methods for common use cases.

if you need more requests, you can use this instead to build what you need. If you implement more methods, feel free to open a pull request.

Usage

Build the client
  const region = "eu-central-1";
  const bucketId = "yourBucketId";
  final AwsS3Client s3client = AwsS3Client(
      region: region,
      host: "s3.$region.amazonaws.com",
      bucketId: bucketId,
      accessKey: "<your access key>",
      secretKey: "<your secret key>");

Get an object
final response = await s3client.getObject("your/object/key"); 
List objects of the bucket
ListBucketResult listBucketResult =
  await s3client.listObjects(prefix: "dir1/dir2/", delimiter: "/");
print(listBucketResult.toString());

If you want to use a custom http client, use the method buildSignedGetParams. This method returns an object containing the URL and the Authorization headers, which can be used to build the request with your preferred http client.

Download a large object to a file without keeping everything in-memory (streaming)

Use the buildSignedGetParams method.

Example code (with ETag support):


Future download(String key, File file, [String etag = null]) async {

  final signedParams = awsS3Client.buildSignedGetParams(key: key);

  final request = await HttpClient().getUrl(signedParams.uri);

  for (final header in (signedParams.headers ?? const {}).entries) {
    request.headers.add(header.key, header.value);
  }
  if(eTag != null){
    request.headers.add(HttpHeaders.ifNoneMatchHeader, eTag);
  }
  final response = response = await request.close();
  if(response.statusCode != HttpStatus.ok){
     //handle error  
  }else{
     return response.pipe(file.openWrite());
  }
}

Kategorien

Abhängigkeiten

Abhängigkeiten 5 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.