Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.6.0

flutter_aws_s3_client

Um cliente simples e não oficial do AWS S3 em dart. Suporta download de objetos e listagem de objetos em um bucket.

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
123
Curtidas
35
Pontos Pub
100

Instalar pacote

flutter pub add flutter_aws_s3_client

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um cliente leve e não oficial do AWS S3 para Flutter e Dart que permite interações simples com o Amazon S3. Ele suporta o download de objetos e a listagem de conteúdo dentro de um bucket, tornando-se útil para aplicativos que precisam de recuperação básica de arquivos e navegação a partir do S3. Criado para uso multiplataforma, funciona no Android, iOS, macOS, Windows e Linux. O pacote não é mantido oficialmente pela AWS, mas oferece acesso direto sem dependências pesadas.

Casos de uso

  • Baixando arquivos de buckets do S3
  • Listar objetos em um bucket do S3
  • Integrando armazenamento S3 em aplicativos Flutter
  • Gerenciamento simples de arquivos em ambientes em nuvem
  • Acesso a arquivos na nuvem multiplataforma

Principais recursos

  • Suporta downloads de objetos S3
  • Lista objetos em um bucket
  • Leve e dependência mínima
  • Compatibilidade multiplataforma
  • Nenhum SDK oficial da AWS necessário

Indicado para

  • Desenvolvedores construindo aplicativos Flutter com integração S3
  • Projetos que precisam de operações básicas do S3
  • Aplicativos que exigem recuperação de arquivos do AWS S3
  • Protótipos ou necessidades de armazenamento em nuvem em pequena escala
  • Aplicações não empresariais com requisitos simples do S3

Considerações

  • Não é um SDK oficial da AWS
  • Limitado a operações de download e lista
  • Sem upload ou recursos avançados do S3
  • Pode exigir manipulação manual da autenticação
  • Mais adequado para casos de uso não críticos ou experimentais

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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());
  }
}

Categorias

Dependências

Lista de dependências 5 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.