Class S3ObjetoStorage

java.lang.Object
br.com.xadm.comum.armazenamento.S3ObjetoStorage
All Implemented Interfaces:
ObjetoStorage

@Singleton public class S3ObjetoStorage extends Object implements ObjetoStorage
Implementação de ObjetoStorage sobre object storage S3-compatível (Garage em produção) via AWS SDK v2. Grava no bucket configurado (garage.bucket); a chave é responsabilidade do chamador.
  • Constructor Details

    • S3ObjetoStorage

      @Inject public S3ObjetoStorage(software.amazon.awssdk.services.s3.S3Client s3, S3Config cfg, ArmazenamentoConfig armazenamento)
      Cria o storage S3.
      Parameters:
      s3 - cliente S3 (AWS SDK v2) apontado ao object storage
      cfg - configuração do S3 (garage.*) — bucket e criar-bucket
      armazenamento - modo de armazenamento; no ArmazenamentoModo.PSQL o bucket não é criado, porque o modo não usa o Garage
    • S3ObjetoStorage

      public S3ObjetoStorage(software.amazon.awssdk.services.s3.S3Client s3, S3Config cfg)
      Cria o storage S3 num modo que usa o Garage (ArmazenamentoModo.PSQL_GARAGE).
      Parameters:
      s3 - cliente S3 (AWS SDK v2) apontado ao object storage
      cfg - configuração do S3 (garage.*) — bucket e criar-bucket
  • Method Details

    • put

      public ReferenciaObjeto put(String chave, byte[] conteudo, String contentType)
      Description copied from interface: ObjetoStorage
      Grava um objeto no bucket configurado sob a chave dada.
      Specified by:
      put in interface ObjetoStorage
      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

      public byte[] buscar(String bucket, String chave)
      Description copied from interface: ObjetoStorage
      Recupera o binário de um objeto.
      Specified by:
      buscar in interface ObjetoStorage
      Parameters:
      bucket - bucket do objeto
      chave - chave do objeto
      Returns:
      bytes do objeto
    • remover

      public void remover(String bucket, String chave)
      Description copied from interface: ObjetoStorage
      Remove um objeto.
      Specified by:
      remover in interface ObjetoStorage
      Parameters:
      bucket - bucket do objeto
      chave - chave do objeto