Ir al contenido

upload

El dominio upload tiene 4 acciones. En la superficie meta se alcanzan todas a través de arcane_upload; en la individual, cada una es una herramienta propia; en la dinámica se ejecutan con arcane_execute_action y el ID canónico.

AcciónTítuloTipo
upload.chunk_putUpload a chunkescritura
upload.session_createCreate an upload sessionescritura
upload.session_deleteDelete an upload sessiondestructiva
upload.session_getGet an upload sessionlectura

Upload a chunk

Upload one chunk of an upload session. Re-sending a chunk is idempotent

  • Tipo: escritura
  • Parámetros obligatorios: kind, uploadId, index
  • Meta-herramienta: arcane_upload con "action": "chunk_put"
  • Herramienta individual: arcane_upload_chunk_put
  • Ruta de Arcane: PUT /api/environments/{id}/uploads/{kind}/{uploadId}/chunks/{index}
  • ID de operación: upload-chunk
  • Uso: Sends chunk index (0-based, below totalChunks) of the session from upload.session_create, raw bytes as contentBase64. Every chunk must be exactly chunkSize bytes except the last, which holds the remainder, or the call fails with 422. Chunks may arrive in any order and re-sending one is harmless. The result shows receivedChunks and complete. When complete is true, pass the id as uploadId to image.upload, volume_backup.upload or build.upload, which use the session up even if the import or restore then fails (send the file again in a new session) and answer 409 while chunks are missing. Sessions idle for 24 hours are purged.
  • Acciones relacionadas: upload.session_create, upload.session_get, image.upload, volume_backup.upload, build.upload

Create an upload session

Start a chunked upload session. The file arrives as independently retryable chunks

  • Tipo: escritura
  • Parámetros obligatorios: kind, filename, size
  • Meta-herramienta: arcane_upload con "action": "session_create"
  • Herramienta individual: arcane_upload_session_create
  • Ruta de Arcane: POST /api/environments/{id}/uploads/{kind}
  • ID de operación: create-upload-session
  • Uso: First step of every file upload. kind picks the consumer: image for image.upload (.tar, .tar.gz, .tgz or .tar.xz, at most the maxImageUploadSize setting, 500 MB by default, needs images:upload), volume-backup for volume_backup.upload (.tar.gz or .tgz, needs volumes:upload) or build-workspace for build.upload (any file, needs build-workspaces:manage). Give filename and size in bytes. chunkSize defaults to 10 MiB and must be 1-50 MiB (1048576 keeps each upload.chunk_put small). Returns id (the uploadId for every later call), chunkSize and totalChunks. Use the same kind and environment for the chunks and the consuming action.
  • Acciones relacionadas: upload.chunk_put, upload.session_get, image.upload, volume_backup.upload, build.upload

Delete an upload session

Abort an upload session and discard its received chunks

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: kind, uploadId
  • Meta-herramienta: arcane_upload con "action": "session_delete"
  • Herramienta individual: arcane_upload_session_delete
  • Ruta de Arcane: DELETE /api/environments/{id}/uploads/{kind}/{uploadId}
  • ID de operación: delete-upload-session
  • Uso: Aborts an upload session (uploadId from upload.session_create, same kind) and deletes its received chunks. Use it to abandon an upload you will not consume. Not needed after image.upload, volume_backup.upload or build.upload, which remove the session themselves. A consumed, deleted or purged session gives 404.
  • Acciones relacionadas: upload.session_get, upload.session_create

Get an upload session

Inspect an upload session to resume by re-sending only the missing chunks

  • Tipo: lectura
  • Parámetros obligatorios: kind, uploadId
  • Meta-herramienta: arcane_upload con "action": "session_get"
  • Herramienta individual: arcane_upload_session_get
  • Ruta de Arcane: GET /api/environments/{id}/uploads/{kind}/{uploadId}
  • ID de operación: get-upload-session
  • Uso: Checks an upload session (uploadId from upload.session_create, same kind) before consuming it or to resume an interrupted upload: receivedChunks lists the chunk indexes already stored and complete says whether all totalChunks are in, so re-send only the missing ones with upload.chunk_put. Fails with 404 once the session is consumed, deleted or purged after 24 idle hours, and with 400 if kind differs from the session’s.
  • Acciones relacionadas: upload.chunk_put, upload.session_create, upload.session_delete