Interface ObjetoStorage

All Known Implementing Classes:
S3ObjetoStorage

public interface ObjetoStorage
Seam genérico de armazenamento de objetos sobre object storage S3-compatível (Garage em produção). Ao contrário de ArquivoXlsStorage — que é datado e específico do binário .xlsx —, aqui a chave é fornecida pelo chamador e o contentType é livre: serve .zip, .csv, JSON e afins sem que o consumidor mantenha um wrapper próprio.

A implementação de produção (S3ObjetoStorage) grava no bucket configurado (garage.bucket). ArquivoXlsStorage é apenas um caso particular que deriva a chave content-addressed {ano}/{mes}/{checksum}.xlsx e delega neste seam.

Todos os métodos lançam exceções unchecked em falha de I/O (ex.: software.amazon.awssdk.services.s3.model.S3Exception).

  • Method Summary

    Modifier and Type
    Method
    Description
    byte[]
    buscar(String bucket, String chave)
    Recupera o binário de um objeto.
    put(String chave, byte[] conteudo, String contentType)
    Grava um objeto no bucket configurado sob a chave dada.
    void
    remover(String bucket, String chave)
    Remove um objeto.
  • Method Details

    • put

      ReferenciaObjeto put(String chave, byte[] conteudo, String contentType)
      Grava um objeto no bucket configurado sob a chave dada.
      Parameters:
      chave - chave (key) do objeto — fornecida pelo chamador
      conteudo - bytes do objeto
      contentType - MIME type gravado no metadado do objeto (ex.: application/zip)
      Returns:
      referência ao objeto gravado (bucket configurado, chave, tamanho)
    • buscar

      byte[] buscar(String bucket, String chave)
      Recupera o binário de um objeto.
      Parameters:
      bucket - bucket do objeto
      chave - chave do objeto
      Returns:
      bytes do objeto
    • remover

      void remover(String bucket, String chave)
      Remove um objeto.
      Parameters:
      bucket - bucket do objeto
      chave - chave do objeto