Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Descargar objeto

Este método del SDK se puede usar para descargar un objeto del bucket. La respuesta estará en formato blob. La referencia de Stratus utilizada en el fragmento de código a continuación es la instancia del componente.

Respuestas esperadas con respecto al estado de Versionado del bucket:

  • Si no pasas el versionId, obtendrás el último objeto, junto con la clave que mencionas en la solicitud.
  • Si el Versionado fue habilitado para un bucket y luego deshabilitado. Por defecto, se devolverá el objeto principal primero. Para asegurarte de descargar la última versión de este objeto, necesitas pasar el parámetro versionId con el valor “topVersion”.
  • Para recuperar una versión específica, usa el parámetro de consulta versionId con una versión válida como valor.

Parámetros utilizados

Nombre del parámetro Tipo de dato Definición
key String Contendrá el nombre del objeto
options JSON Object
  • versionId: Este es un parámetro String opcional. Contendrá el version ID único de la versión del objeto requerido.
  • range: Este es un parámetro String opcional. El rango de bytes del objeto requerido. Se usará para obtener una parte específica del objeto.
  • cached: Este es un parámetro Boolean opcional.
    • Se usará para obtener la versión en caché del objeto
    • Solo aceptará dos valores: "true" o "false"
    • false será el valor si no se usa este parámetro
    • true será el valor si el Caching está habilitado para tu bucket y pasas este parámetro. En este caso, el objeto se recuperará del dominio en caché.
  • signed: Este es un parámetro Boolean opcional. El valor por defecto es "false". Realizará una llamada API para obtener una URL firmada.
  • signedUrlFn:
    • Este es un parámetro Function opcional.
    • Esta es una función de callback que devolverá una respuesta de API de signedurl proporcionada en el SDK del servidor (Java, Node.js y Python) para descargar un archivo.
    • Esta función solo aceptará funciones asíncronas y promesas.
    • Cuando se usa esta función, Catalyst le pasará la URL en caché y el tiempo de expiración como parámetros que se pueden usar para generar una URL firmada.
processCallback Function Función de callback durante la descarga del archivo

Descargar objeto usando el nombre del objeto

El siguiente fragmento del SDK te permitirá descargar un objeto de un bucket en Stratus usando su key.

copy
const getObject = await bucket.getObject("key");
const getObjectStart = getObject.start(); // para iniciar la solicitud	
const getObjectAbort = getObject.abort(); // para cancelar la solicitud

Descargar una versión particular del objeto

El siguiente fragmento del SDK te permitirá descargar una versión particular del objeto de un bucket en Stratus usando su key y versionId.

copy
const options = {
  'versionId': 'djkshr8374yiuhf48', // descargar una versión específica de un objeto
}
const getObject = await bucket.getObject("key", options);
const getObjectStart = getObject.start(); // para iniciar la solicitud 
const getObjectAbort = getObject.abort(); // para cancelar la solicitud

Descargar objeto con Process Callback

El siguiente fragmento del SDK te permitirá descargar un objeto particular de un bucket en Stratus con opciones de process callback. Este SDK se utiliza mejor cuando deseas realizar una función adicional como logging, renderizar pantallas de carga/buffer, etc. junto con la operación de descarga.

copy
// procesar callback mientras se descarga un objeto
const processCallback = () => {
	// Función a ejecutar mientras se obtiene el objeto
	console.log("Downloading Object");
}
const options = {
  'versionId': 'djkshr8374yiuhf48'
}
const getObject = await bucket.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // para iniciar la solicitud 
const getObjectAbort = getObject.abort(); // para cancelar la solicitud

Respuesta de ejemplo

copy
{
 	"status": 200,
 	"content": {Blob Data},
 	"message": "OK"
}

Excepciones posibles

  • 404: Objeto o Bucket no encontrado
  • 416: Rango solicitado no satisfactorio

Descargar una parte particular del objeto

En esta sección, vamos a revisar un método del SDK que te permitirá descargar exitosamente un rango de bytes requerido del objeto de Stratus a tu sistema local. La referencia de Stratus utilizada en el fragmento de código a continuación es la instancia del componente.

Este método funciona de manera que el objeto se divide en múltiples rangos de bytes usando los bytes de inicio y fin del objeto.

copy
const processCallback = () => {
	// Función a ejecutar mientras se obtiene el objeto
	console.log("Downloading Object");
}
const options = {
 'range': '0-2000' // rango inicial y final del objeto en bytes
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // para iniciar la solicitud
const getObjectAbort = getObject.abort(); // para cancelar la solicitud

Respuesta de ejemplo

copy
{
    "status": 206,
    "content": {Blob Data},
    "message": "PARTIAL_CONTENT"
}

Descargar objeto usando una URL firmada

Usando funciones asíncronas

copy
// Descargar objeto usando Signed URL
// Usando Función Asíncrona
const processCallback = () => {
	// Función a ejecutar mientras se obtiene el objeto
	console.log("Downloading Object");
}
const options = {
	'range': '0-2000' // rango de inicio y fin del objeto en bytes,
	'signed': true, // declarar que se usará signed URL para obtener objetos del bucket.
	'signedUrlFn' : async (functionData) => {
	console.log("Data : " + functionData);
      // Lógica de la Función
     return {
		"signed_url": "" //signed url
     }
	}
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // para iniciar la solicitud
const getObjectAbort = getObject.abort(); // para cancelar la solicitud

Usando promesas

copy
// Usando Promises
const processCallback = () => {
	// Función a ejecutar mientras se obtiene el objeto
	console.log("Downloading Object");
}
const options = {
 'range': '0-2000' // rango de inicio y fin del objeto en bytes,
	'signed': true, // declarar que se usará signed URL para obtener objetos del bucket.
	'signedUrlFn' : (functionData) => {
		return new Promise((resolve, reject) => {
		console.log("Data : " + functionData);
         // Lógica de la Función
     resolve({
			"signed_url" : "" 
		})
		})
	}
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // para iniciar la solicitud
const getObjectAbort = getObject.abort(); // para cancelar la solicitud

Usando SignedURL con opciones

El siguiente método del SDK te permitirá descargar un objeto usando una URL firmada y establecer un tiempo de expiración para la URL firmada.

copy
// Descargar objeto usando Signed URL y tiempo de expiración
const processCallback = () => {
	// Función a ejecutar mientras se obtiene el objeto
	console.log("Downloading Object");
}
const options = {
 'range': '0-2000' // rango de inicio y fin del objeto en bytes,
	'signed': true, // declarar que se usará signed URL para obtener objetos del bucket.
	'signedUrlFn' : async (functionData) => {
	console.log("Data : " + functionData);
       // Lógica de la Función
      return {
 "signed_url": "" // Signed URL
      }
	},
	"expiryInSeconds" : 3000 // En segundos
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // para iniciar la solicitud
const getObjectAbort = getObject.abort(); // para cancelar la solicitud

Descargar un objeto en caché usando URL en caché

El siguiente método del SDK te permitirá descargar un objeto en caché usando la URL en caché.

copy
// URL en caché
const processCallback = () => {
	// Función a ejecutar mientras se obtiene el objeto
	console.log("Downloading Object");
}
const options = {
 'range': '0-2000' // rango de inicio y fin del objeto en bytes,
	'cached': true, // declarar que se usará cached URL para obtener objetos del bucket.
}
const getObject = await stratus.getObject("key", options, processCallback);
const getObjectStart = getObject.start(); // para iniciar la solicitud
const getObjectAbort = getObject.abort(); // para cancelar la solicitud

Última actualización 2026-03-30 13:40:30 +0530 IST