Cómo guardar los data stores y los archivos del File Store de Pipedream
Actualizado el 14 de octubre de 2026
La exportación de Pipedream guarda la estructura de tus workflows: triggers, pasos, código y props. No incluye los registros de los data stores ni los archivos del File Store. Pipedream borra todos los datos de Workflows a más tardar el 30 de abril de 2027, así que tienes que guardar estos datos por separado.
Además, los workflows dejan de funcionar el 31 de marzo de 2027, por lo que cualquier exportación que se ejecute como paso de un workflow tiene que hacerse antes de esa fecha. Consulta el calendario del cierre.
Paso 1: identifica qué usa datos guardados
Empieza por el informe de migración gratuito, que señala cada workflow cuyo código usa un data store o el File Store.
El dashboard de Data Stores de Pipedream, en pipedream.com/data-stores, muestra lo mismo desde el otro lado. Haz clic en la flecha junto al nombre de un data store para ver la lista de workflows vinculados a él.
Si exportaste tu proyecto, el propio ZIP de exportación, project_export-<project_id>.zip, también está en el File Store. Descárgalo junto con tus otros archivos. Consulta cómo exportar workflows de Pipedream.
Paso 2: exporta los registros de los data stores
Un data store de Pipedream es un almacén clave-valor. Los valores pueden ser cualquier dato serializable en JSON: cadenas, números, objetos, arrays y fechas. Varios workflows pueden compartir un mismo data store.
Data stores pequeños: copia desde el dashboard
El dashboard de Data Stores muestra todos los registros. Si son pocas claves, lo más rápido es copiar los valores a mano.
Data stores más grandes: exporta con un paso de código
La documentación de Pipedream muestra cómo leer todos los registros en un paso de Node.js con un iterador asíncrono. Su propio ejemplo envía los registros por lotes con un HTTP POST y, por defecto, borra cada clave después de enviarla. La siguiente versión envía los registros sin borrar nada:
import { axios } from "@pipedream/platform";
export default defineComponent({
props: {
dataStore: { type: "data_store" },
url: { type: "string", label: "Destination URL" },
},
async run({ $ }) {
let chunk = [];
let sent = 0;
const flush = async () => {
await axios($, { method: "POST", url: this.url, data: chunk });
sent += chunk.length;
chunk = [];
};
for await (const [key, value] of this.dataStore) {
chunk.push({ key, value });
if (chunk.length === 100) await flush();
}
if (chunk.length) await flush();
return { sent };
},
});
Agrega este código como paso de un workflow nuevo, selecciona el data store, ingresa la URL de destino y prueba el paso. Repite con cada data store. Pipedream sugiere empezar con 512 MB de memoria y un timeout de 60 segundos para las exportaciones, y subir ambos valores en los data stores más grandes. Si cada valor es grande, reduce el tamaño de los lotes.
El destino puede ser cualquier endpoint HTTPS que controles. Lo más simple es un workflow temporal de n8n que reciba los registros y los escriba en una Data Table (lo explicamos más abajo).
Ten en cuenta dos cosas:
- Las fechas se convierten en cadenas. JSON no tiene un tipo de fecha, por eso las fechas llegan como cadenas ISO.
- Los tiempos de expiración no se exportan. Además, un registro con TTL puede expirar antes de que llegues a él. Exporta pronto.
Paso 3: descarga los archivos del File Store
Los File Stores solo están disponibles en el plan Advanced de Pipedream y en los superiores. Si tu workspace nunca los tuvo, no tienes archivos que guardar.
Para descargarlos a mano, abre el proyecto, selecciona File Store en el menú lateral izquierdo y descarga cada archivo.
Si son muchos archivos, usa un paso de Node.js. $.files.dir() lista los archivos del File Store del proyecto (por defecto, los de la carpeta raíz). $.files.open(path) abre un archivo, y toUrl() devuelve una URL desde la que puedes descargarlo. Puedes enviar esas URLs a un workflow de n8n que descargue cada archivo con un nodo HTTP Request y lo suba a tu almacenamiento. Haz la descarga enseguida, en lugar de guardar las URLs para más tarde.
Paso 4: elige dónde guardar los datos en n8n
| Opción | Ideal para | Cuidado con |
|---|---|---|
| Datos estáticos del workflow | Estado pequeño de un solo workflow: cursores, IDs del último elemento visto, contadores | Son de un solo workflow; no se guardan en las ejecuciones de prueba manuales |
| Data Tables de n8n | Registros que comparten los workflows de un proyecto; datos clave-valor que quieres ver y editar | Por defecto, 200 MiB en total por instancia; sin acceso directo desde el nodo Code |
| Base de datos externa o S3 | Grandes volúmenes de datos, escrituras frecuentes, datos que usan otros sistemas y archivos | Tú administras o pagas el servicio |
Datos estáticos del workflow
Es la opción que usan por defecto los workflows convertidos. Cuando Workflow Exit convierte un paso de código, la capa de compatibilidad reemplaza cada data store por datos estáticos del workflow. Se guardan bajo una clave que lleva el nombre del paso y de la prop, de modo que get, set, delete, has y keys siguen funcionando sin cambios en el código.
La documentación de n8n establece algunos límites:
- Los datos estáticos "deberían ser pequeños".
- No se guardan cuando pruebas un workflow. El workflow tiene que estar publicado y ejecutarse desde un trigger o un webhook.
- Solo están disponibles en el nodo Code de JavaScript, no en el de Python.
- Pueden "comportarse de forma poco confiable con ejecuciones del workflow de alta frecuencia".
Los datos estáticos globales pertenecen a un solo workflow. Si varios workflows de Pipedream compartían un data store, en n8n no compartirán datos estáticos. Para eso, usa una Data Table.
Muchos workflows pueden empezar con un estado vacío, por ejemplo, cuando un cursor o un ID de "último elemento visto" se reconstruye solo en la primera ejecución. Si el tuyo necesita los valores existentes, agrega un nodo Code temporal que escriba los registros exportados en los datos estáticos cuando falten. Deja que se ejecute una vez en producción y luego quítalo.
Data Tables de n8n
Según la documentación de n8n, las Data Tables guardan datos estructurados dentro de n8n, por lo que no necesitas una base de datos externa.
- Crear una tabla. Usa la pestaña Data tables de tu proyecto (desde cero o importando un CSV), el nodo Data Table o la API de n8n.
- Tipos de columna. Boolean, Date, Number y String.
- Operaciones con filas. El nodo Data Table ofrece Insert, Get, Update, Upsert y Delete, y puede comprobar "If Row Exists" o "If Row Does Not Exist".
- Uso compartido. Las tablas creadas en un proyecto están disponibles para todos los miembros de ese proyecto.
- Tamaño. Por defecto, todas las tablas de una instancia comparten un límite de 200 MiB. n8n avisa al llegar al 80%. Superar el límite impide agregar datos a mano y provoca errores en las ejecuciones de los workflows. En n8n self-hosted, cambia el límite con
N8N_DATA_TABLES_MAX_SIZE_BYTES. - Acceso desde el nodo Code. Un nodo Code no puede leer ni escribir directamente en una Data Table.
Para replicar un almacén clave-valor, crea una tabla con una columna key y una columna value, ambas de tipo String, y guarda los objetos como texto JSON. Si todos los valores son objetos planos, puedes, en cambio, darle a cada campo su propia columna.
Para cargar los registros, convierte tu exportación a CSV e impórtala, o crea un pequeño workflow de importación:
- Un nodo Webhook (POST). Publica el workflow y usa su URL de producción como destino en el paso 2.
- Un nodo Split Out sobre
body, para que cada registro se convierta en un item propio. - Un nodo Data Table con la operación Upsert, usando
keycomo columna de coincidencia.
El nodo Webhook acepta payloads de hasta 16 MB, así que los lotes de 100 registros no suelen dar problemas. Cuando termines, borra el workflow de importación.
En los workflows convertidos, reemplaza las llamadas a los datos estáticos por nodos Data Table: un Get antes del nodo Code y un Upsert después.
Base de datos externa o S3
Saca los datos de n8n cuando son grandes, se escriben muchas veces por segundo o los usan otros sistemas. n8n tiene nodos para las bases de datos más comunes, como Postgres, MySQL y Redis, y un nodo AWS S3 para almacenamiento de objetos.
n8n maneja los archivos como datos binarios mientras se ejecuta un workflow. Para guardarlos a largo plazo, pon tus archivos del File Store en S3, Google Drive o un servicio similar, y recupéralos con el nodo correspondiente o con un nodo HTTP Request cuando un workflow los necesite. En n8n self-hosted, el nodo Read/Write Files from Disk también puede leer y escribir archivos en la máquina donde se ejecuta n8n.
Checklist
- Ejecuta el informe gratuito y anota los workflows que usan data stores o el File Store.
- Descarga del File Store el ZIP de exportación del proyecto.
- Exporta todos los data stores antes del 31 de marzo de 2027.
- Descarga todos los archivos del File Store.
- Elige datos estáticos, una Data Table o almacenamiento externo para cada conjunto de datos.
- Carga los datos, prueba el workflow convertido y luego haz el cambio.
La migración completa, desde la exportación hasta el cambio definitivo, se explica en la guía para migrar de Pipedream a n8n.
Preguntas frecuentes
¿La exportación de workflows de Pipedream incluye los data stores?+
No. La exportación de Pipedream contiene la estructura y la configuración de tus workflows. El historial de eventos, los data stores y los archivos del File Store no se incluyen, así que tienes que guardarlos por separado.
¿Cuándo borrará Pipedream mis data stores y archivos?+
Todos los datos de Workflows se borran de forma permanente a más tardar el 30 de abril de 2027. Los workflows dejan de funcionar el 31 de marzo de 2027, así que cualquier exportación que se ejecute como paso de un workflow tiene que hacerse antes de esa fecha.
¿Workflow Exit copia a n8n los registros de mis data stores?+
No. Convierte la lógica de los workflows. En el código convertido, las lecturas y escrituras en los data stores siguen funcionando gracias a los datos estáticos del workflow de n8n, pero exportar los registros y cargarlos en n8n te corresponde a ti.
¿Un nodo Code de n8n puede leer una Data Table?+
No directamente. La documentación de n8n dice que no se admite el acceso programático directo a las Data Tables desde un nodo Code. En su lugar, pon un nodo Data Table antes o después del nodo Code.
¿Cuántos datos caben en las Data Tables de n8n?+
Por defecto, todas las Data Tables de una instancia de n8n comparten un límite total de 200 MiB. En n8n self-hosted puedes cambiarlo con la variable de entorno N8N_DATA_TABLES_MAX_SIZE_BYTES.
¿Qué pasa con los registros que tenían un tiempo de expiración (TTL)?+
La expiración no forma parte del valor guardado, así que no se conserva. Si tu lógica depende de ella, guarda con cada registro un valor expires_at en n8n y, en el workflow, compruébalo o elimina los registros vencidos.