--- title: "Descargar objeto" url: https://docs.catalyst.zoho.com/es/sdk/web/v4/cloud-scale/stratus/download-object/ description: "Esta página describe el método del Web SDK para recuperar un objeto de Stratus." last_updated: 2026-03-30T08:10:30Z service: Cloud Scale type: general related_links: - name: "Stratus Component Help Documentation" url: /es/cloud-scale/help/stratus/introduction - name: "Java SDK" url: /es/sdk/java/v1/cloud-scale/stratus/download-object/ - name: "Node.js SDK" url: /es/sdk/nodejs/v2/cloud-scale/stratus/download-object/ - name: "Python SDK" url: /es/sdk/python/v1/cloud-scale/stratus/download-object/ - name: "iOS SDK" url: /es/sdk/ios/v2/cloud-scale/stratus/download-object/ - name: "Android SDK" url: /es/sdk/android/v2/cloud-scale/stratus/download-object/ - name: "Flutter SDK" url: /es/sdk/flutter/v2/cloud-scale/stratus/download-object/ - name: "REST API" url: /es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets --- # 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](https://docs.catalyst.zoho.com/es/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/). Respuestas esperadas con respecto al estado de [Versionado](https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) 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](https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/stratus-config/general-settings/#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](https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/pre-signed-urls/), [Node.js](https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/pre-signed-urls/) y [Python](https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/pre-signed-urls/)) 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`. ```javascript 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`. ```javascript 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. ```javascript // 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** ```json { "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](https://docs.catalyst.zoho.com/es/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/). 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. ```javascript 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** ```json { "status": 206, "content": {Blob Data}, "message": "PARTIAL_CONTENT" } ``` ### Descargar objeto usando una URL firmada #### Usando funciones asíncronas ```javascript // 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 ```javascript // 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. ```javascript // 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é](https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/stratus-config/general-settings/#caching). ```javascript // 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 ```