Carol App Storage
O que é a aba de Storage?
A aba Storage no Carol App é uma funcionalidade da interface da plataforma Carol que exibe os arquivos gerados durante a execução de processos de um App. Esses arquivos podem ser, por exemplo, logs, relatórios CSV, arquivos JSON ou qualquer outro tipo de dado que o script deseje expor ao usuário ao final do processamento.
Ela só aparece quando o app gera arquivos em um caminho específico monitorado pela plataforma.
Quando a aba "Storage" aparece?
A aba Storage
aparece automaticamente no Carol App somente se arquivos forem salvos durante a execução de processos no diretório de storage padrão da plataforma.
Esse diretório é monitorado pela plataforma Carol e está disponível dentro do container em:
/tmp/storage/
Qualquer arquivo escrito nesse caminho durante a execução do processo será capturado e disponibilizado na interface.
Como salvar um arquivo para que ele apareça no Storage
O método mais recomendado e seguro de salvar arquivos é utilizando a biblioteca PyCarol, que já abstrai e cuida das permissões e do caminho correto.
Exemplo básico com PyCarol:
from pycarol import Carol, Storage
# Instancia a autenticação com o Carol
carol = Carol()
# Instancia o objeto Storage, que mapeia automaticamente o diretório monitorado
storage = Storage(carol)
# Salva um arquivo que está no container (por exemplo: '/app/data/meu_arquivo.csv')
storage.save(
name='meu_arquivo.csv', # Nome final do arquivo (evite espaços!)
obj_path='/app/data/meu_arquivo.csv', # Caminho interno dentro do container
content_type='text/csv' # Tipo de conteúdo (opcional, mas recomendado)
)
Ao final do processo, esse arquivo será exibido automaticamente na aba Storage
do app.
Como o Carol App executa isso por trás?
- Quando um Carol App é executado (via botão
Run
, scheduler ou trigger), a plataforma sobe um container temporário com o ambiente definido no manifesto do app. - O script que está definido no
manifest.json
(ou chamado por outro script principal) será executado. - Durante a execução, se esse script salvar arquivos no caminho
/tmp/storage/
, eles serão mapeados pela engine da Carol e, ao término do processo, exibidos na interface web. - Esses arquivos ficam disponíveis na aba
Storage
para download, visualização ou remoção.
Outras funcionalidades da classe Storage
Além do .save()
, a classe Storage
fornece diversos métodos úteis:
Método | Descrição |
---|---|
save() | Salva um arquivo para o storage monitorado |
delete(name) | Remove um arquivo existente pelo nome |
list() | Lista todos os arquivos atualmente salvos |
exists(name) | Verifica se um arquivo já existe |
Para mais detalhes, consulte a documentação oficial do PyCarol.
Observações importantes
- Se estiver desenvolvendo localmente, certifique-se de que seu ambiente
.env
tem as variáveis corretamente configuradas (CAROLTENANT
,CAROLAPPNAME
, etc.). - Os arquivos criados permanecem temporariamente acessíveis e não devem ser usados como armazenamento permanente.
- A aba
Storage
só aparece se ao menos um arquivo for salvo com sucesso durante a execução.
Ao desenvolver um Carol App que gera um arquivo ao final do processo, é importante evitar adicionar espaços em branco ao nomear o arquivo, pois a URL é codificada traduzindo o caracter branco para %20
, fazendo com que se refira a um arquivo que não existe. Portanto, recomenda-se utilizar um caracter válido em substituição ao espaço em branco, como um traço alto -
ou baixo _
.