GuíasBiblioteca

Subir ficheros

Subir un fichero a un nodo con styx-upload, con reanudación y sin pasar por los servicios.

Especificado. El comportamiento existe de extremo a extremo (cliente, daemon, servicio de reproducción y catálogo) y lo que sigue describe lo que hace hoy, pero la página no puede ser implementado mientras documente un comando (styx-upload), una ruta (POST /ingest/sessions) y variables (STYX_INGEST_*) sin su referencia generada: CLI, OpenAPI y configuración (dec-0124 §5.1 y §7.1, §7.6, §7.7). Sube de estado cuando esa referencia exista.

Styx tiene ingesta de ficheros: un cliente sube un fichero a un nodo. Los bytes van directos al daemon, con el protocolo de conduit, nunca por el servicio de reproducción.

Uso

export STYX_ACCESS_TOKEN=…        # token de acceso de identity; nunca por argumento (lo verían en ps)
styx-upload pelicula.mp4 --api https://api.example [--chunk-size BYTES] [--concurrency N] [--no-resume]

Al terminar imprime <sha256> <nombre bajo la raíz de ingesta> y la sesión.

Qué pasa

  1. styx-upload pide una sesión a playback-svc (POST /ingest/sessions con el tamaño) y recibe un endpoint del daemon y una capacidad de ámbito ingest, de un solo uso y con tope igual al tamaño del fichero. Quién puede subir lo decide playback-svc.
  2. Sube los trozos al daemon. La capacidad se renueva sola antes de caducar, aunque haya trozos en vuelo.
  3. El daemon escribe en un fichero de staging y lo renombra al nombre final, todo relativo a la raíz de ingesta (dec-0117).
  4. El catálogo da de alta el fichero por el bus, de forma idempotente por SHA-256: subir dos veces el mismo fichero no crea dos obras.

Reanudar y límites

  • Una subida interrumpida (incluso por SIGKILL) se reanuda: la sesión y el identificador se guardan en $XDG_STATE_HOME/styx/. --no-resume lo desactiva.
  • Hay cuotas por fichero y por actor (STYX_INGEST_MAX_FILE_MIB, STYX_INGEST_STAGING_PER_ACTOR_MIB en el daemon). Un fallo definitivo cierra la sesión y no ocupa una de tus subidas abiertas.
  • Salida con código 0 si va bien, 1 si falla, 2 si el uso es incorrecto.

Lo que falta

La promoción desde la raíz de ingesta al Storage Box es un seguimiento pendiente: integrations/storage/ es sólo un README. styx-upload es hoy un binario aparte; en el CLI único será styx upload (CLI).