Saltar al contenido principal

UrlUploadPipeline

UrlUploadPipeline es una extensión abstracta de UploadPipeline diseñada para manejar subidas usando adaptadores de almacenamiento basados en URL (UrlStorageAdapter). A diferencia de HashUploadPipeline, esta pipeline da por hecho que el plan delta (el cual indica qué subir o borrar) es calculado externamente y proporcionado a la pipeline.

Esta pipeline se usa comúnmente para sistemas de almacenamiento remoto donde cada chunk tiene una URL dedicada para subir, eliminar o descargar.


Constructor

ParámetroTipoDescripción
storageUrlStorageAdapterAdaptador de almacenamiento basado en urls que se usará (se crea automáticamente con el cliente).
configRacDeltaConfigConfiguración base del cliente.

Métodos

MétodoDevuelveDescripción
execute(localIndex, { uploadUrls, deleteUrls?, indexUrl }, options?)Promise<RDIndex>Realiza un proceso de subida completo para las urls dadas.
uploadMissingChunks(uploadUrls, options?)Promise<void>Sube los chunks definidos en uploadUrls.
uploadIndex(index, uploadUrl)Promise<void>Sube el rd-index.json a la url dada.
deleteObsoleteChunks(deleteUrls, options?)Promise<void>Elimina chunks obsoletos del almacenamiento usando las urls especificadas.

Detalles de métodos

execute(localIndex, { uploadUrls, deleteUrls?, indexUrl }, options?)

Realiza el proceso de subida completo usando las URLs proporcionadas para los chunks y el índice.

Parámetros

NombreTipoDescripción
localIndexRDIndexEl rd-index necesario para sincronizar, necesario ya que el usuario debería haber comparado ya ambos.
urls.uploadUrlsRecord<string, ChunkUrlInfo>Las urls identificadas por hash para subir chunks. Mira ChunkUrlInfo abajo.
urls.deleteUrlsstring[]Las urls para eliminar los chunks remotos obsoletos.
urls.indexUrlstringLa url para subir el nuevo rd-index.json.
optionsUploadOptionsOpciones para el proceso de subida. Echa un ojo a UploadOptions
export interface ChunkUrlInfo {
url: string;
offset: number;
size: number;
filePath: string;
}

Echa un vistazo a ChunkUrlInfo

Devuelve

Promise<RDIndex>


uploadMissingChunks(uploadUrls, options?)

Sube todos los chunks faltantes con sus URLs respectivas. Los Chunks se leen desde disco en base a las rutas especificadas en ChunkUrlInfo.

Parámetros

NombreTipoDescripción
uploadUrlsRecord<string, ChunkUrlInfo>Las urls identificadas por hash para subir los chunks. Mira ChunkUrlInfo.
optionsUploadOptionsOpciones para el proceso de subida. Echa un ojo a UploadOptions

Devuelve

Promise<void>


uploadIndex(index, uploadUrl)

Sube el archivo RDIndex a la URL especificada.

Parámetros

NombreTipoDescripción
indexRDIndexEl objeto índice a subir.
uploadUrlstringUrl para subir el índice.

Devuelve

Promise<void>


deleteObsoleteChunks(deleteUrls, options?)

Elimina chunks obsoletos del almacenamiento remoto usando las URLs. Incluye lógica de reintentos y seguimiento de progreso.

Parámetros

NombreTipoDescripción
deleteUrlsstring[]La lista de urls para eliminar chunks.
optionsUploadOptionsOpciones para el proceso de subida. Echa un ojo a UploadOptions

Devuelve

Promise<void>


Relacionado