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 |
|
| 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.
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.
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.
// 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
{
"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.
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
{
"status": 206,
"content": {Blob Data},
"message": "PARTIAL_CONTENT"
}
Descargar objeto usando una URL firmada
Usando funciones asíncronas
// 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
// 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.
// 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é.
// 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
Yes
No
Send your feedback to us