Biblioteca para o MIN.IO
OBJETIVO
Estudar uma biblioteca que possui um conjunto de ferramentas para a integração com o min.ioio.
JUSTIFICATIVA
Visto que o trabalho com o Min.io é muito repetitivo como por exemplo, possui muita implementação de código.digo, Sendofaz-se necessário uma biblioteca para a abstração.
RESULTADOS ESPERADOS
Uma biblioteca que seja de fácil implementação e gestão; o.
ENVOLVIDOS
Desenvolvimento:
- Vinicius da Rosa Pereira
- Lucas da Silva Andrade
Gerente de Desenvolvimento:
- Janderson de Castro Thomaz
Product Owner:
- Gabriel Fernandes de Oliveira
Scrum Master:
- Edson Masami Hiraçaka
GLOSSÁRIO:
Storage - Armazenamento
Messaging - Mensagens
AWS - Amazon Web Services
SOLUÇÕES ENCONTRADAS
As soluções encontradas foram baseadas em sua documentação e atualização durante o tempo, as soluções foram:
- Storage.Net
- GeekLearning.Storage
Storage.Net
Ele possui uma interface genérica para múltiplos provedores, também implementa versões da memória e no disco de todas as abstrações;
TambéAlém disso, fornece alternativas síncronas e assíncronas de todos os métodos e como implementá-las para oda melhor esforçoforma possível.
Ele define dois dois tipos diferentes de storage:
-
- Blob Storage é usado para armazenar arquivos arbitrários de qualquer tamanho, que não possuem nenhuma estrutura. Os dados são essencialmente um arquivo biná
rio.rio; e - Messaging
sãoé um mecanismo assíncrono para enviar e receber mensagens entre sistemas desconectados.
- Blob Storage é usado para armazenar arquivos arbitrários de qualquer tamanho, que não possuem nenhuma estrutura. Os dados são essencialmente um arquivo biná
A partir dadas definições e ada sugestão da biblioteca, a melhor implementação seria por blob storage.
Exemplo de conexão:
Exemplo de escrita e leitura:
GeekLearning.Storage
Esta biblioteca abstrai o armazenamento de dados físicos de uma maneira que permite quea você comutacomutação de forma transparente odo provedor subjacente por configuração.
Características:
- Liste arquivos, com suporte a
globbingglobbing; - Ler, Escrever, Excluir
arquivosarquivos; e - URL de arquivo pú
blicoblico.
- Liste arquivos, com suporte a
Suporte a azure, armazenamento de arquivo, não possuem suporte nativo a AWS;
Exemplo de conexão:
Exemplo de leitura, escrita e deleção:
PONTOS FORTES
A fáFácil implementação de upload de arquivos no storage, com isso possibilitapossibilitando um desenvolvimento mais ágil, assimotimizando, otimizandoassim, a implementação. Além disso, está elencado a performance do mesmo, com sua disponibilidade de dados.
IMPEDIMENTOS E POSSÍVEIS IMPEDIMENTOS
As bibliotecas não possuem um trabalho nativo com a AWS, nem com o Min.io, podendo ter instabilidades na execução. Além da atualização e suporte a biblioteca, que está um pouco defasada.
CONCLUSÃO
Após estudos, levando em consideração os pontos fortes e fracos, e considerando primeiramente a estabilidade das bibliotecas, cabe considerar o não uso de ambas as bibliotecas.
REFERÊNCIAS
[GeekLearning.Storage]:
Dotnet Core Storage, cloud or file system storage made easy (geeklearning.io)
NuGet Gallery | GeekLearning.Storage 0.8.1
[Storage.Net]:
aloneguid/storage: 💿 Storage abstractions with implementations for .NET/.NET Standard (github.com)