feat: adiciona suporte para armazenar caminhos relativos de arquivos#113
Merged
Conversation
- Adiciona feature flag USE_RELATIVE_FILE_PATHS (padrão: false) - Quando habilitado, armazena apenas caminhos relativos no OpenSearch ao invés de URLs completas - Mantém 100% de retrocompatibilidade com comportamento existente - Deprecia funções define_file_url() e get_file_endpoint() - Permite uso flexível de CDN/CloudFront sem reprocessamento de dados - Possibilita migração de storage provider sem reprocessamento Documentação relacionada: - IMPLEMENTATION_SUMMARY.md - FILE_URL_MIGRATION_GUIDE.md - REFACTORING_PLAN_FILE_PATHS.md
4a6cb29 to
97abe67
Compare
- Corrige problema de referência em mocks ao copiar gazette antes de indexar - Corrige leitura dinâmica de QUERY_PAGE_SIZE para permitir mocking em testes - Adiciona status_code=200 aos mocks de requests.put nos testes - Garante que index_document recebe dados completos antes do clear() Fixes #113
- Adiciona stream=False e timeout=(30,300) ao assert do test_request_is_sent_to_apache_tika_server - Adiciona método close() aos mocks de response - Corrige test_storage_call_to_get_file para usar string direta ao invés de self.data[0] (que é limpo durante o processamento)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Descrição
Esta PR adiciona suporte para armazenar apenas caminhos relativos de arquivos no OpenSearch ao invés de URLs completas, permitindo migração de storage providers e uso de CDN/CloudFront sem necessidade de reprocessamento de dados.
Problema
Atualmente, o sistema armazena URLs completas no OpenSearch:
{ "file_raw_txt": "https://queridodiario.nyc3.digitaloceanspaces.com/path/file.txt" }Isso impede:
Solução
Adiciona feature flag
USE_RELATIVE_FILE_PATHS(padrão: false) que permite armazenar apenas paths relativos:{ "file_raw_txt": "path/file.txt" }Implementação
gazette_text_extraction.pyUSE_RELATIVE_FILE_PATHS=true: armazena paths relativosUSE_RELATIVE_FILE_PATHS=false: mantém comportamento atual (URLs completas)define_file_url()eget_file_endpoint()com warningsBenefícios
Variáveis de Ambiente
USE_RELATIVE_FILE_PATHSExemplo:
# .env ou docker-compose.yml USE_RELATIVE_FILE_PATHS=trueTestes
Script de teste standalone criado e validado:
cd /caminho/para/qd python test_file_url_building.pyResultado: ✅ 10/10 testes passando
Documentação
Documentação completa criada:
IMPLEMENTATION_SUMMARY.md- Resumo executivoFILE_URL_MIGRATION_GUIDE.md- Guia completo de migraçãoREFACTORING_PLAN_FILE_PATHS.md- Plano técnico detalhadoDOCUMENTATION_INDEX.md- Índice de navegaçãoBackward Compatibility
✅ 100% compatível - Comportamento padrão permanece inalterado:
Arquivos Modificados
tasks/gazette_text_extraction.py- Lógica principalDependências
Esta PR trabalha em conjunto com:
A API precisa ser atualizada para construir URLs dinamicamente usando a variável
QUERIDO_DIARIO_FILES_ENDPOINT.Cenários de Uso
Cenário 1: Nova Instalação (Recomendado)
Resultado: Dados limpos desde o início
Cenário 2: Migração Gradual
Checklist
Observações
Próximos Passos
USE_RELATIVE_FILE_PATHS=true