Como encontrar todas as variações de uma imagem órfã não expurgada em um bucket S3?

Estou tendo um problema para remover uma imagem carregada.

O upload parece não existir no banco de dados, pelo menos com base nas buscas que tentei. Que são:

rails:

Upload.find_by_sha1('39b0c58d2d462e6c88d684344a8dd1f09da1ba47')

postgres:

select * from uploads where sha1 like '39b0c58d2d462e6c88d684344a8dd1f09da1ba47';

Com o hash sendo da URL da imagem (o hash acima é apenas um exemplo). Normalmente consigo encontrar as imagens com esses comandos e geralmente descubro onde a imagem foi usada primeiro. Mas nunca tive este caso, em que o upload parece não existir, mas existe no bucket.

Então, não tenho certeza de como isso aconteceu.

Verifiquei dentro do bucket e vejo o arquivo de imagem lá de 2 anos atrás.

Então, estou pensando que precisarei encontrá-los manualmente navegando pelo bucket. Estou me perguntando se há uma maneira de saber quais são os caminhos dos arquivos otimizados se você tiver a URL original sem registros no banco de dados? Ou talvez existam outras consultas que possam trazer resultados?

O caminho é como: /original/2X/f/39b0c58d2d462e6c88d684344a8dd1f09da1ba47.jpg

Vejo no Scaleway que a política purge_tombstone existe e está habilitada. Tenho ‘purge deleted uploads grace period days’ definido como 1 dia no Discourse.

Você teve alguma sorte em descobrir isso @markersocial? :crossed_fingers:

Olá @JammyDodger - infelizmente não, tudo o que pude fazer foi remover a imagem única do bucket manualmente e torcer para que não houvesse versões otimizadas.

1 curtida