--- title: "Descargar objeto" url: https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/download-object/ description: "Esta página lista el método del SDK de Node.js para descargar objetos de un bucket." 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: "Download Object Help Documentation" url: /es/cloud-scale/help/stratus/objects/manage-object/download-object/ - name: "Java SDK" url: /es/sdk/java/v1/cloud-scale/stratus/download-object/ - name: "Python SDK" url: /es/sdk/python/v1/cloud-scale/stratus/download-object/ - name: "Web SDK" url: /es/sdk/web/v4/cloud-scale/stratus/overview/ - 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 ### Download an Object Los SDKs presentes en esta sección te permitirán [descargar un objeto en particular](https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/objects/manage-object/download-object/), múltiples objetos o una versión del objeto. La referencia del Bucket utilizada en el fragmento de código a continuación es la [instancia del componente](https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/). El primer paso de la operación de descarga es una operación `GET` que recupera el objeto requerido del bucket. Para poder descargar un objeto, el solicitante debe tener permisos de acceso `READ`. Sin embargo, los propietarios del bucket tienen la opción de otorgar permisos de acceso `READ` a los usuarios, permitiéndoles descargar el objeto sin usar los encabezados de respuesta requeridos. Si el [Versionado](https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) está habilitado para tu bucket, necesitas pasar el `versionId` para descargar la versión particular del objeto. Si no se pasa ningún `versionId`, entonces por defecto se descargará la última versión del objeto. Si el *Versionado* fue habilitado para un bucket y luego deshabilitado, por defecto se descargará el primer objeto principal. Para asegurarte de descargar la última versión de este objeto, necesitas pasar el parámetro `versionId` con el valor "`topVersion`". ```javascript const res = await bucket.getObject("sam/out/sample.txt"); // descargar el objeto a la máquina local const files = fs.createWriteStream('filePath'); res.on('data', (data) => { files.write(data) }); ``` ### Download a Portion of the Object El siguiente método del SDK se utiliza con el parámetro `range`. El parámetro range te permite descargar un `rango` específico de bytes de un objeto. ```javascript const options = { 'versionId': 'djkshr8374yiuhf48', // descargar el objeto con el versionId dado 'range': '0-2000' // rango inicial y final del objeto en bytes } const res = await bucket.getObject("sam/out/sample.txt", options); // descargar el objeto a tu máquina local const files = fs.createWriteStream('filePath'); res.on('data', (data) => { files.write(data) }); ``` ### Download an Object Using Transfer Manager En esta sección, vamos a revisar los métodos del SDK que te permitirán descargar exitosamente objetos grandes de Stratus a tu sistema local usando la técnica **Transfer Manager**. Transfer Manager es una operación donde el objeto grande se divide en múltiples rangos de bytes usando los bytes de inicio y fin del objeto. Cada una de las partes del objeto se devuelve como un stream y se descargan en tu sistema local. **Asegúrate de que los siguientes paquetes estén importados** ```javascript const { TransferManager } = require('zcatalyst-sdk-node/lib/stratus'); ``` #### Create Transfer Manager Instance ```javascript const transferManager = new TransferManager(bucket); // crear instancia de transfer manager ``` #### Download Object as Iterable Part Streams ```javascript const partSize=50; const getObjectRes = await transferManager.getIterableObject("sam/out/sample.txt",partSize); // descargar el objeto a la máquina local const file = fs.createWriteStream('filePath'); // crear un stream de escritura de archivo for await (const chunk of getObjectRes) { file.write(chunk); } ``` #### Generate Object Parts for Download En este método del SDK descargaremos una porción del objeto que se encuentra dentro del rango de bytes de inicio y fin requerido. ```javascript const file = fs.createWriteStream("filePath"); const partSize = 50; const downloadRes = await transferManager.generatePartDownloaders("sam/out/sample.txt", partSize); let partNum = 0; while (partNum < downloadRes.length) { const objectPart = downloadRes[partNum++]; const buffer = await objectPart(); // retorna la parte del objeto como stream // procesar el stream } ``` ### Generate Presigned URL to Download an Object Las URLs prefirmadas son URLs seguras que los usuarios autenticados pueden compartir con sus usuarios no autenticados. Esta URL proporcionará a los usuarios no autenticados autorización temporal para acceder a objetos. La referencia del Bucket utilizada en el fragmento de código a continuación es la [instancia del componente](https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/). > **Info:** Para usar este método del SDK, necesitas inicializarlo con el ámbito **Admin**. Puedes obtener más información sobre este requisito en esta [sección](https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/overview/#initialize-sdk-with-scopes) **Parámetros utilizados**
| Nombre del parámetro | Tipo de dato | Definición |
|---|---|---|
| `key` | **String** | Un parámetro **obligatorio**. Contendrá el nombre completo del objeto junto con su [ruta](https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/objects/introduction/#path). |
| `urlAction` | **Request Method** | Un parámetro **obligatorio**. Este es el parámetro que te permitirá generar una URL prefirmada para una acción de descarga (GET).
|
| `expiry` | **String** | Este es un parámetro **opcional**. El tiempo de validez de la URL en segundos.
|
| `activeFrom` | **String** | Este es un parámetro **opcional**. Este parámetro contendrá el momento a partir del cual la URL es válida. El valor máximo es **7 días**. Las URLs se activan tan pronto como se generan de forma predeterminada. |