> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.squarecloud.app/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Blob Storage: armazenamento persistente x temporário

# Blob Storage: Armazenamento persistente x temporário

O **Blob Storage** da Square Cloud foi projetado para oferecer flexibilidade no armazenamento de arquivos, desde logs temporários até assets críticos da sua aplicação. A principal diferença entre os modos de armazenamento reside no parâmetro de expiração e na forma como o sistema lida com o nome dos arquivos.

---

## 1. Armazenamento Temporário (Expire)

O armazenamento temporário é ideal para arquivos que possuem um ciclo de vida curto, como relatórios gerados sob demanda, backups de transição ou arquivos de cache que não precisam ocupar espaço para sempre.

### Como funciona:
Ao realizar o upload, você define o parâmetro `expire` na URL. Esse valor deve ser definido em dias, variando entre **1 dia até 365 dias (1 ano)**.

*   **Hashing Automático:** Uma característica fundamental do modo temporário é que o sistema gera um **hash único** após o nome do objeto. 
    *   *Exemplo:* Se você enviar `imagem.png`, o link gerado pode ser algo como `imagem_a1b2c3.png`.
*   **Vantagem:** Isso evita conflitos de nomes se múltiplos usuários enviarem arquivos com nomes idênticos simultaneamente.

---

## 2. Armazenamento Persistente (Permanente)

O modo persistente é a escolha certa para arquivos que compõem a estrutura da sua aplicação, como fotos de perfil de usuários, logos, CSS, ou documentos que devem estar disponíveis por tempo indeterminado.

### Como funciona:
Para tornar um objeto permanente, basta realizar o upload **sem o parâmetro&#32;`expire`** na URL.

*   **Substituição (Overwrite):** Diferente do modo temporário, aqui não há adição de hash. Se você enviar um novo arquivo com o **exato mesmo nome** de um objeto que já existe no seu Storage, o arquivo antigo será substituído pela versão mais recente.
*   **Vantagem:** Facilita a atualização de assets estáticos sem a necessidade de alterar a URL no seu código-fonte.

---

## 3. Comparativo Rápido

| Característica | Armazenamento Temporário | Armazenamento Persistente |
| ---- |
| **Parâmetro na URL** | Requer `expire` (1-365) | Nenhum (parâmetro ausente) |
| **Nome do Objeto** | Recebe um hash (ex: `nome_hash.ext`) | Nome original (ex: `nome.ext`) |
| **Ciclo de Vida** | Excluído após o prazo definido | Fica ativo até ser deletado manualmente |
| **Conflito de Nome** | Cria um novo arquivo com novo hash | Substitui o arquivo existente |

---

## 4. Qual escolher?

*   **Use Temporário para:** Comprovantes de transação, logs de depuração, arquivos exportados por usuários para download único.
*   **Use Persistente para:** Imagens de interface, bancos de dados SQLite leves, uploads de usuários (como avatares) e arquivos de configuração.

> **Dica Pro:** Ao usar o armazenamento persistente para substituir arquivos, lembre-se que navegadores e CDNs podem manter o arquivo antigo em cache por algum tempo. 