> ## 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: almacenamiento persistente vs temporal

# Blob Storage: almacenamiento persistente vs temporal

El **Blob Storage** de Square Cloud fue diseñado para ofrecer flexibilidad en el almacenamiento de archivos, desde logs temporales hasta assets críticos de tu aplicación. La principal diferencia entre los modos de almacenamiento reside en el parámetro de expiración y en la forma en que el sistema maneja el nombre de los archivos.

---

## 1. Almacenamiento temporal (Expire)

El almacenamiento temporal es ideal para archivos que tienen un ciclo de vida corto, como informes generados bajo demanda, backups de transición o archivos de caché que no necesitan ocupar espacio para siempre.

### Cómo funciona:
Al realizar el upload, defines el parámetro `expire` en la URL. Ese valor debe definirse en días, variando entre **1 día hasta 365 días (1 año)**.

*   **Hashing automático:** Una característica fundamental del modo temporal es que el sistema genera un **hash único** después del nombre del objeto.
    *   *Ejemplo:* Si subes `foto.png`, la URL final tendrá un sufijo aleatorio (ej.: `foto_a1b2c3.png`). Esto evita conflictos de nombres si múltiples usuarios suben archivos con nombres idénticos simultáneamente.

---

## 2. Almacenamiento persistente (Permanente)

El modo persistente es la elección correcta para archivos que componen la estructura de tu aplicación, como fotos de perfil de usuarios, logos, CSS o documentos que deben estar disponibles por tiempo indeterminado.

### Cómo funciona:
Para hacer un objeto permanente, basta con realizar el upload **sin el parámetro `expire`** en la URL.

*   **Sustitución (Overwrite):** A diferencia del modo temporal, aquí no se añade hash. Si subes un nuevo archivo con el **exacto mismo nombre** de un objeto que ya existe en tu Storage, el archivo antiguo será sustituido por la versión más reciente.
*   **Ventaja:** Facilita la actualización de assets estáticos sin necesidad de cambiar la URL en tu código fuente.

---

## 3. Comparativa rápida

| Característica | Almacenamiento temporal | Almacenamiento persistente |
| ---- |
| **Parámetro en la URL** | Requiere `expire=X` | Ausencia de `expire` |
| **Hash de seguridad** | Genera un hash automático | No añade hash |
| **Conflicto de nombre** | Crea un nuevo archivo con nuevo hash | Sustituye el archivo existente |

---

## 4. ¿Cuál elegir?

*   **Usa Temporal para:** Comprobantes de transacción, logs de depuración, archivos exportados por usuarios para descarga única.
*   **Usa Persistente para:** Imágenes de interfaz, bases de datos SQLite ligeras, uploads de usuarios (como avatares) y archivos de configuración.

> **Consejo Pro:** Al usar el almacenamiento persistente para sustituir archivos, recuerda que los navegadores y las CDN pueden mantener el archivo antiguo en caché durante algún tiempo.