# Stratus -------------------------------------------------------------------------------- title: "Introducción" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.857Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/introduction/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Stratus ### Introducción Catalyst Stratus, un componente del servicio Catalyst Cloud Scale, es una solución robusta de almacenamiento en la nube que te permite almacenar cualquier tipo de datos como objetos dentro de contenedores llamados buckets. Con una carga simple, puedes organizar y gestionar estos objetos en la consola usando una estructura familiar similar a directorios y realizar fácilmente operaciones de carga o descarga. Esta infraestructura de almacenamiento impulsada por Catalyst garantiza alta disponibilidad, escalabilidad y confiabilidad para manejar las necesidades de almacenamiento de tu aplicación de manera eficiente. <!--You can also enable Caching for the bucket in Stratus to cache objects.--> Un **Bucket** es tu contenedor de almacenamiento ideal que puede almacenar una cantidad ilimitada de objetos, y se puede referenciar usando una *URL de Bucket*. Esta URL será generada por Stratus cuando crees el bucket. Un **Object** (objeto) es un dato de cualquier formato que se almacena en el bucket. Stratus generará una *URL de Object* cuando el objeto se cargue al bucket. Esta URL será única para cada objeto y se puede usar para acceder a los objetos del bucket de manera segura. <br /> También puedes acceder a Stratus y controlar los datos presentes en sus buckets a través de código usando los SDK de Catalyst. Los SDK de servidor de Stratus están disponibles en los siguientes entornos de ejecución: * Java SDK * Node.js SDK * Python SDK Los SDK de Client de Stratus están disponibles en: * Web SDK * Android SDK * iOS SDK * Flutter SDK También tienes soporte para realizar operaciones en Stratus usando APIs REST. ### Características destacadas En esta sección de ayuda, revisaremos algunas de las características más destacadas de Stratus que lo convierten en la solución de almacenamiento en la nube ideal para los requisitos de tu aplicación. - **Migración de terceros**: Puedes migrar los datos almacenados en plataformas de almacenamiento de terceros como *Amazon S3* y *Google Cloud Platform (GCP) Cloud Storage* a Stratus en unos simples pasos. - **Solución completa de almacenamiento en la nube**: Puedes almacenar objetos de cualquier formato de archivo en buckets. Los datos se almacenan en forma de Buckets y Objects, y cada objeto se almacenará y accederá usando una URL única. También está disponible el soporte de rutas para Stratus, y cada objeto en un bucket se puede almacenar en una ruta específica. - **Permisos personalizados**: Usando código JSON, puedes proporcionar permisos personalizados para cada objeto individual almacenado en el bucket. - Opcionalmente, puedes habilitar las siguientes configuraciones de bucket: - **Versionado**: El versionado te permite almacenar múltiples versiones de cada objeto en el bucket, y cada versión del objeto se accederá e identificará usando un version ID único generado por *Stratus*. - **Cifrado de datos**: Si se habilita el cifrado de datos, *Stratus* puede realizar tanto cifrado en reposo como cifrado en tránsito para los objetos. - **PII/ePHI**: La configuración de PII/ePHI debe habilitarse para almacenar información confidencial o de identificación personal de manera compatible con HIPAA. Además, habilitar esta función registrará cada acceso realizado a los objetos, y estos registros se pueden leer en los registros de auditoría. <!-- - **Caching**: Once Caching is enabled, Catalyst will generate an additional URL called *Caching URL*. Objects accessed using this URL will be cached.--> - **Escaneo de seguridad**: *Stratus* escanea constantemente en busca de malware en segundo plano. Cuando los escaneos encuentran malware, el usuario, administrador, superadministrador y el propietario del proyecto serán notificados por correo electrónico, y el objeto cargado se elimina inmediata y permanentemente del bucket. - **Soporte de carga multiparte**: *Stratus* admite la carga multiparte de un objeto. Si cargas un objeto de gran tamaño (por ejemplo, 2GB), tienes la opción de definir las partes más pequeñas de tu objeto para Catalyst usando los SDK de servidor multiparte (Java, Node.js o Python), y SDK de cliente (Web), y realizar cargas de una manera que minimice el impacto de los errores de red. También obtienes un mejor rendimiento ya que cada parte se puede cargar en paralelo. Si no defines partes más pequeñas específicas de tu objeto, Catalyst dividirá por defecto el objeto en partes más pequeñas, lo cargará y cumplirá con tu requisito. - **Descarga usando Transfer Manager**: Stratus admite la descarga de objetos grandes usando Transfer Manager. Esto te permite especificar el rango de inicio y fin de un objeto que deseas descargar. Por ejemplo, si tienes un archivo de 4GB de tamaño, puedes elegir descargar una porción del objeto, digamos 2GB, a la vez especificando el rango de bytes de inicio y fin. La descarga por rango requerida se puede realizar usando los SDK de servidor de Catalyst (Java, Node.js y Python) y SDK de cliente (Web). -------------------------------------------------------------------------------- title: "Permisos de Stratus" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.858Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/stratus-permissions/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Permisos de Stratus ### Plantilla de permisos predeterminada Puedes crear un bucket con uno de dos tipos de plantillas de permisos predeterminadas. <br /> * **Plantilla de permisos autenticados**: Un bucket creado con esta plantilla de permisos predeterminada establecerá que todos los objetos de tu bucket solo pueden ser accedidos por usuarios autenticados en el portal de Client de tu aplicación. * **Plantilla de permisos públicos**: Un bucket creado con esta plantilla de permisos predeterminada permitirá que cualquier usuario final en internet acceda a los objetos de tu bucket sin ningún requisito de autorización. Nota: * Ambas plantillas de permisos son tipos predeterminados que debes seleccionar al crear tu bucket. Estas plantillas son editables, y también puedes editar los permisos de objetos individuales almacenados en tu bucket. * Los permisos configurados solo son aplicables a los usuarios del proyecto, no a los colaboradores. <!--* Si el bucket se creó usando la plantilla de permisos autenticados, y se ha habilitado el Almacenamiento en caché para el bucket. Para acceder a los objetos en caché usando la URL de caché, necesitas firmar la URL de caché primero. La firma de la URL de caché debe realizarse cada hora, y solo puede hacerse usando los SDKs de servidor de Catalyst (Java, Node.js o Python) o la API.--> * Estos permisos están destinados a definir el nivel de acceso de los usuarios finales, no de los colaboradores o administradores. Puedes definir el nivel de acceso de los colaboradores en la sección Profiles & Permissions. * Independientemente de la plantilla de permisos que hayas elegido, las acciones de carga en el bucket solo pueden ser realizadas por usuarios autenticados. ### Permisos personalizados Cuando creas un bucket, es obligatorio elegir una plantilla de permisos predeterminada: **Authenticated** o **Public**. Según tu elección, se cargará una plantilla de permisos predeterminada y se creará tu bucket. Además de esto, independientemente de la plantilla de permisos que hayas elegido, puedes **definir los permisos de cada objeto individual** o subdirectorio completo usando código JSON simple. <br /> Las plantillas de permisos predeterminadas que se cargarán según tu elección se muestran a continuación: #### Plantilla de permisos autenticados predeterminada { "rules": [ { "rule_id": "AuthenticatedBucket_Rule1", "condition": { "user": { "auth_type": "authenticated", "zuid": "*" } }, "allowed_actions": [ "GetObject" ], "paths": [ "vendorstats::/*" ], "effect": "allow" } ], "version": "v1" } #### Plantilla de permisos públicos predeterminada { "rules": [ { "rule_id": "PublicBucket", "condition": { "user": { "auth_type": "public" } }, "actions": [ "GetObject" ], "paths": [ "zylker-bucket-pubs::/*" ], "effect": "allow" } ], "version": "v1" } Para editar eficazmente ambas plantillas de permisos y emplear permisos personalizados, necesitas familiarizarte con las siguientes claves JSON y su propósito: <table class="content-table"> <thead> <tr> <th class="w30p">Nombre de la clave JSON</th> <th class="w70p">Propósito</th> </tr> </thead> <tbody> <tr> <td>rules</td> <td> <ul> <li>Esta es la clave JSON donde configuras tus permisos</li> <li>Esta clave contendrá todas las reglas que definas para los objetos presentes en el bucket</li> </ul> </td> </tr> <tr> <td>rule_id</td> <td> <ul> <li>Es una cadena que contendrá el nombre de la regla que vas a definir.</li> <li>Necesitas nombrar la regla de manera que puedas identificarla de forma única.</li> </ul> </td> </tr> <tr> <td>effect</td> <td> <ul> <li>Es una clave donde solo puedes ingresar uno de dos valores: allow o deny</li> <li>Según el valor, la regla permitirá (allow) a un usuario o usuarios específicos realizar una acción, o denegará (deny) a un usuario o usuarios específicos realizar una acción.</li> <li>Se debe esperar el siguiente comportamiento cuando recibes una solicitud de acceso que cumple condiciones presentes en más de una declaración de permisos configurada <ul> <li>Incluso si una sola declaración coincidente tiene el efecto como deny, entonces el deny anulará todas las declaraciones allow.</li> <li>Para que un efecto allow tenga lugar, al menos una declaración con la condición coincidente debe tener su efecto como allow y ninguna de las declaraciones debe tener efecto como deny.</li> </ul> </li> </ul> </td> </tr> <tr> <td>allowed_actions</td> <td> <ul> <li>Es una clave para definir las acciones que el usuario puede realizar sobre el objeto.</li> <li>Las acciones permitidas son: <ul> <li>GetObject: Para obtener los datos del objeto</li> <li>PutObject: Para crear, escribir y actualizar datos del objeto</li> <li>DeleteObject: Para eliminar datos del objeto</li> </ul> </li> </ul> </td> </tr> <tr> <td>paths</td> <td> <ul> <li>Esta clave definirá la ruta de ubicación de un objeto.</li> <li>Proporcionarás este valor en formato estándar de ruta de archivo. El valor debe proporcionarse como un arreglo.</li> <li>Para denotar todos los objetos presentes en un subdirectorio o un bucket, puedes usar el carácter especial asterisco '*'.</li> <li>También puedes usar variables dinámicas; X_ZUID y X_ORGID para definir la ruta. Estas variables dinámicas contendrán el valor del UserID y el OrgID respectivamente. Por lo tanto, para usar estas variables dinámicas necesitas haber definido tus directorios y objetos con nombres reales de UserID y OrgID. Visita esta sección para aprender más sobre cómo definir la ruta de tu objeto usando variables dinámicas.</li> </ul> </td> </tr> <tr> <td>condition</td> <td>Esta clave JSON definirá las condiciones bajo las cuales deben ocurrir las acciones.</td> </tr> <tr> <td>user</td> <td> Esta clave JSON se usará en la clave condition para especificar a qué usuario, o conjunto de usuarios, se aplica la condición que se está definiendo. <ul> <li>Contendrá otras dos claves JSON: auth_type y zuid.</li> <li>Puedes definir el tipo de usuario usando la clave JSON auth_type</li> <li>auth_type contendrá un valor predeterminado cuando crees el bucket usando una plantilla de permisos predeterminada</li> <li>La clave JSON auth_type solo puede contener dos valores: "public" o "authenticated".</li> <li>La clave JSON zuid se usará para determinar a qué usuarios se aplican las condiciones.</li> <li>zuid puede contener el carácter especial asterisco "*" para indicar que todos los ZUIDs califican para la condición, o puede contener un arreglo de ZUIDs para especificar a qué usuarios exclusivamente se aplican las condiciones.</li> <li>org_details es una clave JSON que aceptará un objeto JSON. El objeto JSON se definirá como un par clave-valor JSON, con la clave como zaaid y el valor como un arreglo de valores zuid.</li> </ul> Nota: Puedes determinar el acceso basado en IDs de usuario usando el par clave-valor JSON valores zuid o el JSON org_details. No puedes usar ambos para definir el acceso de usuarios. </td> </tr> <tr> <td>Operadores</td> <td>Son claves JSON que te ayudarán a definir casos para que las condiciones se apliquen o no.</td> </tr> <tr> <td>string_equals</td> <td>Define acciones que deben ocurrir si los valores de cadena son iguales.</td> </tr> <tr> <td>string_not_equals</td> <td>Define acciones que deben ocurrir si el valor de cadena no coincide.</td> </tr> <tr> <td>string_equals_ignore_case</td> <td>Define acciones donde el valor de cadena puede coincidir independientemente de las mayúsculas/minúsculas utilizadas.</td> </tr> <tr> <td>string_not_equals_ignore_case</td> <td>Define acciones que deben ocurrir si los valores de cadena no coinciden independientemente de las mayúsculas/minúsculas utilizadas.</td> </tr> <tr> <td>string_like</td> <td>Si parte del valor de cadena coincide con la clave que proporcionas, entonces se pueden realizar acciones sobre el objeto.</td> </tr> <tr> <td>string_not_like</td> <td>Si parte del valor de cadena no coincide con la clave que proporcionas, entonces se pueden realizar acciones sobre el objeto.</td> </tr> <tr> <td>ip_address</td> <td>Define una acción si la fuente de la solicitud proviene de una IP o IPs particulares que estás permitiendo.</td> </tr> <tr> <td>not_ip_address</td> <td>Define acciones que deben ocurrir si la fuente de la solicitud proviene de una IP o IPs que estás bloqueando específicamente.</td> </tr> <tr> <td>Claves de condición</td> <td></td> </tr> <tr> <td>referrer</td> <td>Esta clave JSON contendrá el valor de la URL completa donde se solicitó la acción. El valor debe proporcionarse como un arreglo. Por ejemplo, supongamos que has creado un microservicio y lo has alojado en Catalyst AppSail. El valor de referrer será la URL completa de este microservicio, y el permiso se definirá para las acciones relacionadas exclusivamente con este microservicio. Esta clave se usará con los siguientes operadores: <ul> <li>string_equals</li> <li>string_not_equals</li> <li>string_equals_ignore_case</li> <li>string_not_equals_ignore_case</li> <li>string_like</li> <li>string_not_like</li> </ul> </td> </tr> <tr> <td>user_agent</td> <td>Esta clave JSON contendrá el valor de la fuente desde la cual se realizó la solicitud. El valor debe proporcionarse como un arreglo. Ya sea que la fuente de la solicitud sea una API, un navegador, u otro. Esta clave se usará con los siguientes operadores: <ul> <li>string_equals</li> <li>string_not_equals</li> <li>string_equals_ignore_case</li> <li>string_not_equals_ignore_case</li> <li>string_like</li> <li>string_not_like</li> </ul> </td> </tr> <tr> <td>source_ip</td> <td>Esta clave JSON contendrá el valor de solo direcciones IP listadas públicamente. El valor debe proporcionarse como un arreglo. Te ayudará a definir un permiso que permita o deniegue acciones desde una IP particular. Esta clave se usará con los siguientes operadores: <ul> <li>ip_address</li> <li>not_ip_address</li> </ul> </td> </tr> <tr> <td>version</td> <td> <ul> <li>Indica la versión de la plantilla de permisos y contendrá el valor de la versión actual - v1.</li> <li>Recomendamos encarecidamente que no cambies el valor de esta clave.</li> </ul> </td> </tr> </tbody> </table> Nota: Asegúrate de usar los nombres exactos para las claves JSON al definir tus permisos. ### Variables dinámicas Puedes usar variables dinámicas para definir la ruta del objeto al configurar permisos. Durante la ejecución, estas variables contendrán valores relevantes que definen la ruta del objeto. En Stratus, puedes usar las siguientes variables dinámicas para definir tu ruta: * **X_ZUID**: Contendrá los UserIDs reales durante la ejecución. * **X_ORGID**: Contendrá los OrgIDs reales durante la ejecución. Nota: Para que las variables dinámicas funcionen, necesitarás crear la ruta de tu objeto con UserIDs u OrgIDs, ya que las variables dinámicas solo contendrán esos valores. **Sintaxis para crear variables dinámicas** Debes emplear la sintaxis que se muestra a continuación para usar variables dinámicas: "paths": ["bucket_name::/${var:X_ZUID}/*"] "paths": ["bucket_name::/${var:X_ORGID}/*"] Nota: * paths: Contendrá el valor de la ruta del objeto * bucket_name: Contendrá el valor del nombre del bucket **Sintaxis para usar variables dinámicas** Veamos el siguiente ejemplo, donde definimos la ruta del objeto usando la variable dinámica X_ZUID { "version": "v1", "rules": [ { "rule_id": "Example rule to allow user to access the path which has their ZUID in the path", "condition": { "user": { "auth_type": "authenticated", "zuid": "*" } } } ], "effect": "allow", "allowed_actions": [ "GetObject" ], "paths": [ "bucketName::/${var:X_ZUID}" //Usa la variable X_ORGID para definir la ruta usando OrgIDs ] } Nota: * Es mejor usar variables dinámicas en buckets donde la plantilla de permisos esté configurada como Authenticated en su totalidad. <!--* Si has habilitado el almacenamiento en caché para un bucket donde al menos un objeto está configurado para seguir una plantilla de permisos autenticados, entonces necesitas firmar las URLs en caché y estar autenticado para acceder a los objetos en caché.--> ### Ejemplos que ilustran permisos personalizados Ahora, revisemos algunos ejemplos de plantillas de permisos personalizados que se pueden crear para definir permisos para un objeto u objetos en un bucket. **Ejemplo 1** { "version" : "v1", "rules" : [ { "rule_id" : "Example rule where all authenticated ZUID users can perform all actions on a particular object", "effect" : "allow", "allowed_actions" : ["GetObject", "PutObject", "DeleteObject"], "paths" : ["bucketName::/user/*", "bucketName::/document/readme.md"], "condition" : [ "user" : { "auth_type" : "authenticated", "zuid" : "*" } ] } ] } Del fragmento anterior, podemos entender que: * El permiso está configurado para un bucket con **plantilla de permisos autenticados** * Los permisos se definen para permitir a los usuarios realizar las operaciones GetObject, PutObject y DeleteObject. * Este permiso solo es aplicable para todos los objetos presentes en la ruta user/ y es aplicable solo para el objeto readme.md presente en la ruta document/ del bucket. * El permiso es relevante para todos los *ZUID* presentes. En conjunto, podemos entender que el permiso anterior está definido para que todos los usuarios autenticados realicen todas las acciones sobre el objeto **readme.md** presente en la ruta document/, y sobre todos los objetos presentes en la ruta user/. **Ejemplo 2** { "version" : "v1", "rule" : [ { "rule_id" : "Example rule to allow user to access the path which has their ZUID in the path", "effect" : "allow", "allowed_actions" : ["GetObject"], "paths" : ["bucketName::/${var:X_Zuid}"], } ] } Del fragmento anterior, podemos entender que: * El nombre de la ruta del objeto se define en función del *ZUID*, cuyo valor se obtendrá dinámicamente durante la ejecución. * Los objetos particulares en la ruta tendrán permitido realizar la acción GetObject sobre el objeto. En conjunto, podemos entender que el permiso anterior está definido de manera que una acción GetObject se realizará sobre el objeto cuyo nombre debe coincidir con el valor de *ZUID* que se obtendrá dinámicamente. **Ejemplo 3** { "version" : "v1", "rule" : [ { "rule_id" : "Example rule to deny specific users from accessing all the objects present in a particular path", "effect" : "deny", "allowed_actions" : ["GetObject", "PutObject", "DeleteObject"], "paths" : ["bucketName::/denyPath/*"], "condition" : { "user" : { "auth_type" : "authenticated", "zuid" : ["123", "456", "789"] } } } ] } Del fragmento anterior, podemos entender que: * El permiso se aplica a usuarios autenticados particulares cuyos *ZUIDs* están listados como un arreglo. * Los usuarios particulares no pueden realizar las acciones GetObject, PutObject ni DeleteObject sobre todos los objetos presentes en el bucket. En conjunto, podemos entender que el permiso anterior está definido para usuarios autenticados con los *ZUIDs* mencionados. Los usuarios mencionados no tienen permitido realizar ninguna acción sobre todos los objetos presentes en la ruta particular. **Ejemplo 4** { "version" : "v1", "rule" : [ { "rule_id" : "Example rule employing specific action for specific public paths in the bucket", "effect" : "allow", "allowed_actions" : ["GetObject"], "paths" : ["bucketName::/publicPath/*", "bucketName::/otherPath/otherPublicPath/*"], "condition" : { "user" : { "auth_type" : "public", } } }, { "rule_id" : "Example rule where specifc actions can be performed on objects present in specific authenticated path, and these actions can be performed by all authenticated users", "effect" : "allow", "allowed_actions" : ["GetObject", "PutObject", "DeleteObject"], "paths" : ["bucketName::/authenticatedUser/*", "bucketPath::/otherProtectedPath/*"], "condition" : { "user" : { "auth_type" : "authenticated", "zuid" : "*" } } } ] } Del fragmento anterior, podemos entender que: * Se están definiendo dos reglas para este bucket. Rutas específicas en el bucket se listan como **públicas**, y rutas específicas en el bucket solo pueden ser accedidas por usuarios **autenticados**. * GetObject es la única acción que se puede realizar sobre objetos que caen bajo la **ruta pública**. Sin embargo, para los objetos que están en la **ruta autenticada** y que solo pueden ser accedidos por *usuarios autenticados*, las acciones que se permiten realizar en la ruta autenticada son GetObject, PutObject y DeleteObject. En conjunto, podemos comprender que el permiso anterior está definido por dos reglas. La primera regla define un permiso para una ruta donde todos los objetos presentes en ella pueden ser accedidos por cualquiera ya que es *pública*. GetObject es la única acción que se puede realizar sobre los objetos en la ruta pública. En la segunda regla, todos los *usuarios autenticados* pueden realizar las acciones GetObject, PutObject y DeleteObject sobre todos los objetos listados en la *ruta autenticada*. **Ejemplo 5** { "version" : "v1", "rules" : [ { "rule_id" : "RuleNumber1", "effect" : "allow", "allowed_actions" : ["GetObject", "PutObject"], "paths" : ["bucketname::/protectedpath/*"], "condition" : { "user" : { "auth_type" : "authenticated", "zuid" : "*" }, "string_equal" : { "user_agent" : ["Mozilla/5.0"], "referrer" : ["https://www.example.com", "https://www.example.com/get_user/"] }, "ip_address" : { "source_ip" : ["121.67.8.1"] } } }, { "rule_id" : "RuleNumber2", "effect" : "deny", "allowed_actions" : ["GetObject"], "paths" : ["bucketname::/denypath/*"], "condition" : { "user" : { "auth_type" : "authenticated" }, "string_like" : { "user_agent" : ["PostmanRuntime/7.39.0"] } } }, { "rule_id" : "RuleNumber3", "effect" : "allow", "allowed_actions" : ["PutObject"], "paths" : ["bucketname::/uploadhere/*"], "condition" : { "user" : { "auth_type" : "authenticated", "org_details" : { "zaaid" : ["12096000001275047", "12096000001278879"] } }, "not_ip_address" : { "source_ip" : ["122.23.44.19"] } } } ] } Del fragmento anterior, podemos entender que se han definido tres reglas: RuleNumber1, RuleNumber2 y RuleNumber3. - **RuleNumber1** - El acceso a objetos solo es posible si las direcciones IP del sistema que intenta acceder coinciden con los valores listados en source_ip en el JSON ip_address. - El acceso a objetos solo es posible por usuarios cuyo zaaid (*IDs de usuario*) coincida con los listados en el JSON org_details. - El acceso a objetos solo es posible si el intento de acceso se realiza desde un navegador Mozilla desde la web, y solo si la solicitud de acceso se origina desde los referrers mencionados. - La regla está definida para todos los **usuarios autenticados**. - Si la solicitud de acceso cumple todas las condiciones mencionadas anteriormente, entonces solo se permiten las acciones GetObject y PutObject en la ruta definida. - **RuleNumber2** - La regla está definida para un usuario autenticado que intenta una solicitud de acceso con user_agent como **Postman** (la solicitud se realizó usando la plataforma API de Postman). - En la ruta definida, se le denegará a dicho usuario el acceso para realizar la operación GetObject. - **RuleNumber3** - La regla está definida de manera que es aplicable si la solicitud se realizó desde cualquier dirección IP excepto la mencionada en source_ip en el JSON not_ip_address. - La regla es aplicable solo para **usuarios autenticados** y específicamente para los usuarios cuyos zaaid están definidos en el JSON org_details. - Si el usuario intenta una solicitud de acceso que cumple todas las condiciones mencionadas anteriormente, entonces se le permite realizar un PutObject en la ruta definida. ### Configurar permisos personalizados para objetos almacenados en un bucket Para establecer permisos personalizados: 1. Selecciona el bucket requerido de la lista. <br /> 2. Se te dirigirá a la pestaña *Bucket Permissions*. Haz clic en **Edit Permission**. <br /> 3. Edita los permisos según tus requisitos, luego haz clic en **Update** para confirmar tus cambios. <br /> Los permisos se aplicarán según tus configuraciones. Nota: Consulta esta documentación de ayuda para aprender más sobre permisos personalizados. ## Buckets -------------------------------------------------------------------------------- title: "Introducción" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.859Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/buckets/name-bucket/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Buckets Un **Bucket** es esencialmente el contenedor raíz que creas para almacenar tus datos. Los datos que se almacenan en los buckets se denominan **Objects** (objetos). Puedes crear múltiples *rutas* en el bucket y almacenar una cantidad ilimitada de objetos. La navegación en estas rutas es bastante similar a una estructura de directorios convencional. Nota: * Puedes crear hasta 10 buckets por proyecto de Catalyst. * Si bien no hay límite en el tamaño del bucket, el tamaño máximo de un solo objeto que se puede cargar a la vez es de 250GB. Puedes almacenar múltiples objetos de 250GB en un solo bucket. ### Prácticas ideales para nombrar un bucket El nombre del bucket actuará como el nombre de dominio en la URL de Bucket. Por lo tanto, es obligatorio que crees un Bucket con un nombre que sea globalmente único con respecto a tu DC y no solo único para tus proyectos de Catalyst o tu cuenta. Nota: Asegúrate de leer este documento en su totalidad. Es vital que comprendas este contenido a fondo para nombrar y crear tu bucket exitosamente. Aquí tienes algunas prácticas de nomenclatura que debes tener en cuenta al nombrar tu bucket: * El nombre del bucket debe contener un mínimo de **3** caracteres y un máximo de **50** caracteres. Solo puede consistir en caracteres alfanuméricos. No se permite ningún carácter especial aparte del guion "**-**". * Aunque el carácter especial guion "**-**" está permitido para nombrar tus buckets, no puedes comenzar ni terminar el nombre de tu bucket con un guion. * No puedes **terminar el nombre de tu bucket** con el sufijo **-development**. * **No está permitido** nombrar tu bucket **comenzando con la palabra reservada: x-zc-**. Sin embargo, esta secuencia de caracteres se puede usar en el medio para nombrar tu bucket. * Evita usar caracteres en mayúsculas para nombrar tu bucket. * Se recomienda encarecidamente que no uses información de identificación personal, como parte de tu nombre o número de identificación, para nombrar tu bucket. * Se recomienda encarecidamente que no nombres tu bucket con nombres o términos identificables con marcas populares con las que no tengas asociación ni autorización para usar. * El nombre del bucket no puede contener notaciones de direcciones IP ni formatos de notación decimal con puntos o snake case. **Ejemplos de nombres de bucket válidos:** * xyz2-bucket * sto123rage-supreme * enterprise-trek -------------------------------------------------------------------------------- title: "Crear un bucket" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.859Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/buckets/create-bucket/" service: "Cloud Scale" related: - Configure Custom Permissions (/es/cloud-scale/help/stratus/stratus-permissions/#custom-permissions) - Initiate Migration from Third-party Cloud Platform to Stratus (/es/cloud-scale/help/stratus/third-party-migration/introduction/) - Configure Bucket Settings (/es/cloud-scale/help/stratus/stratus-config/general-settings/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear un bucket Antes de realizar cualquier acción de carga o migración, necesitas crear un bucket para almacenar los objetos. Para crear un bucket: 1. Navega a **Stratus** en *STORAGE* en la consola del servicio Cloud Scale, luego haz clic en **Create Bucket**. <br /> Nota: Si actualmente estás usando servicios de almacenamiento de plataformas de terceros como Amazon S3 o GCP Cloud Storage, puedes migrar tus datos desde allí a Stratus usando la opción de Third-Party Migration. Puedes encontrar los pasos detallados para migrar exitosamente tus datos almacenados desde plataformas de terceros a Stratus en esta documentación de ayuda. 2. Proporciona un nombre para tu bucket. <br /> Nota: El nombre de tu bucket debe ser globalmente único. La metodología que se debe seguir al nombrar tu bucket se puede encontrar en esta documentación de ayuda. 3. Selecciona la plantilla de permisos que necesites. <br /> Nota: * Independientemente de la plantilla de permisos que elijas ahora, se puede editar para adaptarla a tus necesidades después de la creación del bucket. * Puedes obtener más información sobre la plantilla de permisos predeterminada en esta sección de ayuda. * Esta selección es solo para crear un bucket con una plantilla de permisos predeterminada. Puedes encontrar instrucciones detalladas sobre cómo proporcionar permisos personalizados para objetos individuales o grupos de objetos en esta sección de ayuda. 4. Habilita las configuraciones necesarias según tus requisitos. <br /> Nota: La información sobre cada una de las configuraciones, y la información sobre cuándo y si deben habilitarse, se puede encontrar en esta sección de ayuda. 5. Una vez que hayas confirmado tus elecciones, haz clic en **Create**. <br /> La **URL de Bucket** también se generará automáticamente por Catalyst y estará disponible cuando crees el bucket. Puedes acceder al bucket de manera segura usando esta URL. La *URL de Bucket* de cada bucket siempre estará disponible para copiar haciendo clic en el botón **Bucket URL**. <br /> ### URL de Bucket Esta es una URL única que Catalyst genera cuando creas un Bucket. La URL tendrá el siguiente formato: En el entorno de desarrollo: **https://<bucket_name>-development.zohostratus.com/** En el entorno de producción: **https://<bucket_name>.zohostratus.com/** Esta URL será globalmente única, y el acceso al bucket a través de esta URL se permitirá según la plantilla de permisos que configures para el bucket. Las *URLs de Bucket* también se generarán según su **DC**, y lo siguiente ilustra la estructura de la URL de Bucket para cada uno de los DC soportados por Catalyst. <table class="content-table"> <thead> <tr> <th class="w10p">DC soportados</th> <th class="w45p">Estructura de URL de Bucket en entorno de desarrollo</th> <th class="w45p">Estructura de URL de Bucket en entorno de producción</th> </tr> </thead> <tbody> <tr> <td>US</td> <td>https://&lt;bucket_name&gt;-development.zohostratus.com</td> <td>https://&lt;bucket_name&gt;.zohostratus.com</td> </tr> <tr> <td>EU</td> <td>https://&lt;bucket_name&gt;-development.zohostratus.eu</td> <td>https://&lt;bucket_name&gt;.zohostratus.eu</td> </tr> <tr> <td>IN</td> <td>https://&lt;bucket_name&gt;-development.zohostratus.in</td> <td>https://&lt;bucket_name&gt;.zohostratus.in</td> </tr> <tr> <td>AU</td> <td>https://&lt;bucket_name&gt;-development.zohostratus.com.au</td> <td>https://&lt;bucket_name&gt;.zohostratus.com.au</td> </tr> <tr> <td>CA</td> <td>https://&lt;bucket_name&gt;-development.zohostratus.ca</td> <td>https://&lt;bucket_name&gt;.zohostratus.ca</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Eliminar un bucket" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.859Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/buckets/delete-bucket/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Eliminar un bucket Solo puedes eliminar un bucket a la vez. Si eliminas un bucket, todos los objetos presentes en el bucket se eliminarán permanentemente. Nota: Si eliminas un bucket, el nombre utilizado para el bucket quedará disponible públicamente para uso de todos los usuarios de Catalyst. No puedes nombrar inmediatamente otro bucket con el mismo nombre de un bucket que se está eliminando. El nombre solo estará disponible después de un intervalo de tiempo indeterminado pero corto. Para eliminar un bucket: 1. Selecciona el bucket requerido de la lista de buckets, haz clic en el **ícono de puntos suspensivos** correspondiente al bucket seleccionado y luego haz clic en **Delete**. <br /> 2. Ingresa el nombre del bucket en el campo de entrada y haz clic en **Confirm**. <br /> El bucket se eliminará. ## Configuraciones de Stratus -------------------------------------------------------------------------------- title: "Configuraciones generales" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.863Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/stratus-config/general-settings/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Configuraciones generales Mientras creas y después de crear un bucket, puedes configurar las siguientes opciones del bucket: <br /> ### Versionado <br /> - Esta configuración te permite almacenar múltiples versiones de cualquier objeto en tu bucket. - Cuando cargas múltiples versiones del objeto, Catalyst generará un versionId único para cada una de ellas al cargarlas. - Cada última versión que cargues se convertirá en la versión predeterminada del objeto. Las versiones anteriores cargadas deberán accederse usando su versionId único. - Considera que deshabilitas el versionado después de cargar versiones del objeto cuando el versionado estaba habilitado. Todas las versiones del objeto que se habían cargado hasta ese momento seguirán existiendo. Sin embargo, si intentas cargar una versión del mismo objeto en esta condición (el versionado está **deshabilitado**), se espera el siguiente comportamiento: - El objeto original se eliminará permanentemente y se reemplazará con el objeto que estás cargando (**objeto más reciente**). - Solo podrás acceder al objeto más reciente y a las versiones guardadas del objeto (usando sus respectivos versionId). - Los diagramas a continuación ilustran el comportamiento del *versionado*: - Cuando el versionado está **habilitado**. <br /> Cada nueva versión del objeto se almacenará en el bucket y se referenciará usando su versionId único generado por Stratus. - Cuando el versionado está **deshabilitado**. <br /> El objeto original y sus versiones se conservarán en el bucket. - Cuando **cargas una versión del objeto** después de que el **versionado ha sido deshabilitado**. <br /> El objeto original se eliminará permanentemente y se reemplazará con el objeto que estás cargando (**objeto más reciente**), y solo podrás acceder al objeto más reciente usando la URL de Object, y a las versiones guardadas (referenciadas usando sus respectivos versionId) del objeto. <br /> <!--### Caching <br /> - This setting allows Catalyst to cache some of the objects that you access using the **Caching URL** to make object retrieval easier. - Once you enable caching, it will take up to **two minutes** for it to enable, and a **Caching URL** will be generated by Stratus. - If you have enabled Caching for an *Authenticated bucket*, to access the cached objects using the **Caching URL**, you need to first **sign the Caching URL** using the **Sign Cached URL SDK**: Java, Node.js, and Python. The signing of the Cached URL needs to be done **every one hour**, and it can only be done by your **Administrator** or **Super Administrator**. - If you decide to **purge** (delete your cache), you have the option to either purge the cache of all the objects, or just of specific objects. - The default permission template you used to create your bucket will also be applied to the cache of the objects in your bucket. For example, if the permission template used to create the bucket is *Public*, then the cache of the objects will also be in the *Public* permission template.--> ### Cifrado de datos - Puedes habilitar esta configuración de bucket para cifrar los datos presentes en el bucket. - Stratus sigue los protocolos de cifrado en reposo y cifrado en tránsito. - Stratus aplica la técnica de cifrado Advanced Encryption Standard (AES-256) para cifrar los datos del bucket. ### PII/ePHI - Necesitas habilitar esta configuración si el bucket va a contener datos sensibles o de identificación personal. Al hacerlo, te asegurarás de almacenar estos tipos de datos sensibles en cumplimiento con los estándares HIPAA. - Cuando esta configuración está habilitada, los registros operacionales del objeto estarán presentes en los registros de aplicación presentes en la sección de registros de auditoría. ### Habilitar una configuración de bucket Nota: De forma predeterminada, todas estas configuraciones de bucket estarán deshabilitadas. Incluso cuando migres tu bucket desde una plataforma de terceros a Stratus, estas configuraciones deberán reconfigurarse. Para habilitar una de las configuraciones: 1. Haz clic en el bucket requerido. <br /> 2. Haz clic en la pestaña **Configurations**. <br /> 3. Expande la sección **General Settings**. <br /> 4. Haz clic en el ícono de puntos suspensivos en la tarjeta de la configuración requerida, luego haz clic en **Enable**. <br /> 5. Haz clic en **Enable** en el diálogo de confirmación para confirmar. <br /> La configuración requerida se habilitará. <br /> ### Deshabilitar una configuración de bucket Para deshabilitar una configuración requerida: 1. Haz clic en el ícono de puntos suspensivos en la tarjeta de la configuración, luego haz clic en **Disable**. <br /> 2. Haz clic en **Disable** en el diálogo de confirmación para confirmar. <br /> La configuración requerida se deshabilitará. <br /> -------------------------------------------------------------------------------- title: "Disparadores de Event Listener" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.864Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/stratus-config/event-triggers/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Event Listeners Help Documentation (/es/cloud-scale/help/event-listeners/introduction/) - Circuits Help Documentation (/es/serverless/help/circuits/introduction/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Disparadores de Event Listener Event Listener es un componente potente de Catalyst *Cloud Scale* que es esencialmente un servicio de bus de eventos que escucha las ocurrencias de eventos predeterminados y ejecuta automáticamente las funciones de evento asociadas o los Circuits objetivo. En Stratus, puedes configurar la regla necesaria para disparar un *Event Listener* en el evento de: * Carga de objeto * Descarga de objeto * Actualización de objeto * Eliminación de objeto Nota: Asegúrate de revisar la siguiente documentación de ayuda para usar esta configuración de manera efectiva: * Event Listeners: Ayuda * Event Listeners de componentes: Ayuda * Crear una regla en el Event Listener de componentes: Ayuda * Circuits: Ayuda * Funciones de evento: Ayuda ### Crear disparadores de Event Listener en buckets Para crear una regla para el Event Listener en Stratus: 1. Haz clic en el bucket requerido. <br /> 2. Haz clic en la pestaña **Configurations**. <br /> 3. Expande la sección **Event Listener Trigger** y haz clic en **Add Rule**. <br /> 4. Proporciona un nombre y una descripción para la regla. <br /> 5. Selecciona la acción o acciones que deben disparar el Event Listener desde el menú desplegable **Action**. <br /> 6. Elige tu **Target Point** requerido. Según esta selección, se disparará una *función de evento* o un *Circuit* cuando ocurran las acciones seleccionadas. Nota: * Antes de elegir un target point, asegúrate de que la función de evento objetivo o el Circuit objetivo requerido esté configurado y desplegado en la consola de Catalyst. Solo si despliegas el Target Point requerido en la consola estará disponible en el menú desplegable de Target Function o Target Circuit. * El componente Circuits actualmente no está disponible para los usuarios de Catalyst que acceden desde los centros de datos EU, AU, IN o CA. Por lo tanto, los usuarios de estos DC no podrán disparar Circuits usando el componente Stratus. <br /> 7. Elige la función de evento requerida del menú desplegable **Target Function**. <br /> Nota: * Si aún no has codificado y desplegado la función de evento requerida, haz clic en el botón Create Event Function. Serás dirigido a la sección Serverless de la consola, y sigue los pasos indicados en esta documentación de ayuda para crear una función de evento. * Si has inicializado la función requerida usando Catalyst CLI, asegúrate de desplegar la función en la consola de Catalyst una vez que hayas codificado tu lógica de negocio requerida. 8. Haz clic en **Create**. <br /> La regla se creará y el disparador del Event Listener se habilitará. <br /> 7. Elige el Circuit requerido del menú desplegable **Target Circuit**. <br /> Nota: Si aún no has codificado y desplegado las funciones requeridas para el Circuit y lo has creado, haz clic en el botón Create Circuit. Serás dirigido a la sección Serverless de la consola, y sigue los pasos indicados en esta documentación de ayuda para crear un Circuit. 8. Haz clic en **Create**. <br /> La regla se creará y el disparador del Event Listener se habilitará. <br /> ### Editar un disparador de Event Listener Para editar un disparador de Event Listener: 1. Haz clic en el ícono de puntos suspensivos junto a la regla, luego haz clic en Edit. <br /> 2. Realiza las ediciones necesarias y haz clic en **Update**. <br /> Los cambios se aplicarán. <br /> ### Deshabilitar un disparador de Event Listener Para deshabilitar un disparador de Event Listener: 1. Haz clic en el ícono de puntos suspensivos junto a la regla, luego haz clic en **Disable**. <br /> 2. Haz clic en **Disable** en el diálogo de confirmación para confirmar tu acción. <br /> La regla se deshabilitará. <br /> ### Eliminar un disparador de Event Listener Para eliminar un disparador de Event Listener: 1. Haz clic en el ícono de puntos suspensivos junto a la regla, luego haz clic en **Delete**. <br /> 2. Haz clic en **Delete** en el diálogo de confirmación para confirmar tu acción. <br /> La regla se eliminará. <br /> -------------------------------------------------------------------------------- title: "CORS de bucket" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.864Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/stratus-config/bucket-cors/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/get-bucket-cors/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/get-bucket-cors/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/get-bucket-cors/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # CORS de bucket Cross-origin Resource Sharing (**CORS**) es una funcionalidad de Stratus que puedes usar para incluir en la lista blanca ciertos dominios que requieren acceso a los objetos almacenados en tu bucket. Puedes autorizar aplicaciones que hayas alojado usando Catalyst AppSail, o incluso aplicaciones que hayas alojado en plataformas de terceros, para acceder a los objetos almacenados en Stratus. <br /> Puedes autorizar e incluir en la lista blanca los dominios requeridos directamente en la consola y aprobar los dominios para acceder a los objetos de tus buckets. Esta operación se puede realizar en el entorno de desarrollo y tus configuraciones se pueden migrar al entorno de producción. ### Incluir dominios en la lista blanca usando CORS de bucket Para autorizar un dominio para CORS: Haz clic en el bucket requerido. <br /> 2. Haz clic en la pestaña **Configurations**. <br /> 3. Expande la sección **Bucket CORS** y haz clic en **Add Domain**. <br /> 4. Ingresa la URL completa del dominio para el que necesitas habilitar CORS, con el **Request Method** requerido (GET, POST, PUT, DELETE o HEAD). <br /> 5. Haz clic en **Add** para incluir los dominios requeridos en la lista blanca. <br /> El dominio requerido se incluirá en la lista blanca y se habilitará CORS para el dominio requerido. <br /> Nota: El CORS de un bucket puede ser editado por cualquier usuario que tenga o al que se le haya otorgado el permiso de Write para el componente Stratus en el proyecto, usando la sección Profiles & Permissions. ### Editar CORS de bucket Para editar el CORS del bucket: 1. Haz clic en el ícono de puntos suspensivos junto al dominio y haz clic en **Edit**. <br /> 2. Realiza los cambios necesarios y haz clic en **Update**. <br /> Los cambios se aplicarán. <br /> ### Eliminar CORS de bucket Para deshabilitar o eliminar un dominio de la lista blanca: 1. Haz clic en el ícono de puntos suspensivos junto al dominio y haz clic en **Delete**. <br /> 2. Haz clic en **Confirm** para eliminar el dominio. <br /> El dominio se eliminará y ya no estará incluido en la lista blanca. ## Migración de almacenamiento de terceros a Stratus -------------------------------------------------------------------------------- title: "Introducción" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.869Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/third-party-migration/introduction/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Migrar datos almacenados con proveedores externos a Stratus de Catalyst Catalyst te permite migrar tu almacenamiento desde **Amazon S3** y **Google Cloud Platform (GCP) Cloud Storage** a Stratus. Implementa unos pocos pasos sencillos para configurar los protocolos de migración en la consola de Catalyst, y podrás migrar hasta tres buckets, independientemente de su tamaño y datos, en paralelo desde una sola plataforma externa a la vez. Las siguientes secciones de ayuda cubren los pasos detallados que necesitas seguir para migrar exitosamente tus datos almacenados desde plataformas externas a **Stratus de Catalyst**. <br /> Nota: * Puedes realizar la migración de datos almacenados desde plataformas externas a Stratus tanto en el entorno de desarrollo como en el de producción. * Durante la migración, si alguno de los objetos no cumple con las convenciones de nomenclatura u otra regla obligatoria de Stratus, ese objeto en particular se omitirá y no se migrará a Stratus. * Durante la migración, si vas a migrar un objeto con metadatos superiores a 2047 caracteres, solo se migrarán 2047 caracteres de los metadatos del objeto junto con él. El resto se omitirá automáticamente. -------------------------------------------------------------------------------- title: "Amazon S3 a Stratus" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.870Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/third-party-migration/migrate-s3/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Amazon S3 a Stratus En esta sección, revisaremos cada paso que necesitas seguir tanto en la consola de AWS como en la consola de Catalyst para migrar exitosamente tus datos almacenados de **Amazon S3** a **Stratus**. ### Requisitos previos Antes de comenzar a configurar tu requisito de migración, asegúrate de cumplir con los siguientes requisitos previos: * **Tu cuenta de AWS debe tener acceso IAM**. Para poder iniciar la migración desde AWS, tu cuenta de AWS necesita tener acceso IAM con AdminstratorAccessPolicy. Sin embargo, también puedes iniciar la migración si tu cuenta tiene los permisos AmazonS3FullAccess o, al menos, AmazonS3ReadOnlyAccess. * Tu cuenta de AWS necesita estar activa y funcionando, y debes mantener la sesión iniciada durante el período en que tus buckets y objetos se estén migrando. Aunque no es obligatorio, puede resultarte más fácil seguir los próximos pasos una vez que te familiarices con la documentación de AWS sobre cuentas IAM y permisos de perfil. Nota: * Cuando migras desde Amazon S3, ninguna de las configuraciones de bucket que estableciste en Amazon S3 se aplicará en Stratus. Necesitarás **reconfigurar los ajustes de tu bucket en Stratus**. * Si has habilitado el **versionado** para tus objetos en Amazon S3, ten en cuenta que incluso si el versionado está habilitado para el bucket de destino en Stratus, solo se migrará el objeto más reciente. ### Crear una cuenta de usuario en la consola de AWS Para poder crear una cuenta de usuario con los permisos relevantes, necesitas ser un usuario root o, como se mencionó en la sección de [requisitos previos](#requisitos-previos), haber iniciado sesión como un **usuario IAM**. Para crear una cuenta de usuario elegible para la migración: 1. Abre la consola de AWS y navega a **IAM**>**AccessManagement**>**Users**>**Create User** <br /> 2. Proporciona un nombre para la cuenta de usuario y haz clic en **Next**. <br /> 3. Selecciona la opción **Attach policies directly** en la página *Set Permissions*, luego busca los permisos de **S3** en la barra de búsqueda. <br /> 4. Selecciona el permiso **AmazonS3FullAccess** y haz clic en **Next**. <br /> Nota: AmazonS3FullAccess es el permiso ideal requerido para la migración. Sin embargo, si no deseas crear una cuenta de usuario con este permiso, tienes la opción de crear la cuenta de usuario con el permiso AmazonS3ReadOnlyAccess. 5. Revisa tus selecciones, luego haz clic en **Create user**. <br /> En la sección *Users*, tu nuevo usuario se creará y aparecerá en la lista. <br /> ### Generar claves de acceso Con el perfil de usuario creado, el siguiente paso es generar las claves de acceso necesarias para autorizar la migración. Para generar claves de acceso: 1. Haz clic en tu perfil de usuario recién creado, luego haz clic en la pestaña **Security credentials**. <br /> 2. Haz clic en el botón **Create access key** en la sección *Access keys* para generar las claves necesarias. <br /> 3. Selecciona **Other** como tu requisito de la lista de opciones, luego haz clic en **Next**. <br /> Nota: Para los propósitos de esta documentación de ayuda, la opción Other se ajusta a nuestros requisitos. Asegúrate de revisar las descripciones de cada opción y hacer una elección apropiada para satisfacer tu requisito. 4. Proporciona una etiqueta de descripción opcional si la necesitas, luego haz clic en **Create access key**. <br /> 5. Copia o descarga las claves y almacénalas en un lugar seguro, luego haz clic en **Done**. <br /> Nota: Esta clave solo se generará una vez, así que asegúrate de copiarla y almacenarla de forma segura. ### Iniciar la migración de Amazon S3 a Stratus en la consola de Catalyst Esta sección cubre los pasos que necesitas realizar en la consola de Catalyst para iniciar la migración desde Amazon S3. Nota: * Durante la migración, si alguno de los objetos no cumple con las convenciones de nomenclatura u otra regla obligatoria de Stratus, ese objeto en particular se omitirá y no se migrará a Stratus. * Durante la migración, si vas a migrar un objeto con metadatos superiores a 2047 caracteres, solo se migrarán 2047 caracteres de los metadatos del objeto junto con él. El resto se omitirá automáticamente. 1. Navega a **Stratus** en *Storage* en la consola de *Cloud Scale*, luego haz clic en **Third-party Migration**. <br /> 2. Selecciona la opción **Amazon Web Services** y haz clic en **Next**. <br /> 3. Ingresa las claves de acceso que generaste en la *consola de AWS*, luego haz clic en **Next**. <br /> 4. Usa el primer menú desplegable para seleccionar la región de tu bucket de AWS, usa el segundo menú desplegable para seleccionar el bucket de destino que creaste en Stratus para almacenar los objetos migrados, y finalmente haz clic en **Next** para iniciar la migración. <br /> Nota: - Si no conoces la región de tu bucket de AWS, puedes encontrarla en la lista de buckets de la consola de AWS. <br /> - Si no has creado un bucket de destino en Catalyst para tus objetos migrados, puedes crear uno durante la configuración en la pantalla que se muestra a continuación haciendo clic en **Create Bucket**. <br /> - Puedes encontrar los pasos para crear un bucket en esta sección de ayuda. - Puedes migrar hasta tres buckets simultáneamente. Si deseas migrar desde otro bucket, haz clic en el "icono +" y agrega los nombres de los buckets de origen y destino. La migración se programará. <br /> Se te notificará a través de las notificaciones de la consola una vez que la migración se complete. <br /> -------------------------------------------------------------------------------- title: "Google Cloud Platform (GCP) Cloud Storage a Stratus" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.870Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/third-party-migration/gcp/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Google Cloud Platform Cloud Storage a Stratus En esta sección, cubriremos todos los pasos que necesitas seguir en la consola de Google y la consola de Catalyst para migrar exitosamente tus datos almacenados de **Google Cloud Platform (GCP) Cloud Storage** a **Stratus**. ### Crear una cuenta de servicio adecuada Si no tienes una cuenta de servicio con todas las credenciales y permisos necesarios, primero necesitas crear una para poder migrar tu bucket de forma segura desde GCP Cloud Storage a Stratus. Para crear una cuenta de servicio: 1. Ve a la sección *IAM & Admin* en la consola de Google haciendo clic en este enlace. <br /> 2. Navega a la sección de cuentas de *Service* en la consola y haz clic en el botón **+CREATE SERVICE ACCOUNT**. <br /> 3. Proporciona un nombre y una descripción significativa para la cuenta de servicio. El **Service account ID** se generará automáticamente. Haz clic en el botón **CREATE AND CONTINUE** una vez que hayas terminado. <br /> 4. Usando el menú desplegable **Role**, selecciona **Storage Admin** como tu rol, luego haz clic en el botón **DONE**. <br /> Nota: El resto de la configuración no es obligatoria para esta migración. Sin embargo, asegúrate de aplicar la configuración necesaria para satisfacer tus requisitos. Podrás ver tu nueva cuenta de servicio listada. <br /> ### Generar claves para la cuenta de servicio Necesitas crear nuevas claves para la cuenta de servicio que acabas de crear para autorizar la migración. Para generar claves: 1. Haz clic en tu cuenta de servicio. Se te dirigirá a las configuraciones y ajustes de la cuenta. Haz clic en la pestaña **Keys**. <br /> 2. Haz clic en el botón **ADD KEY** y selecciona la opción **Create new key**. <br /> 3. Selecciona **JSON** como tu tipo de clave, luego haz clic en el botón **CREATE**. <br /> La clave JSON se descargará a tu sistema local. Almacénala en un lugar seguro. <br /> ### Iniciar la migración de GCP Cloud Storage a Stratus en la consola de Catalyst Esta sección cubre los pasos que necesitas realizar en la consola de Catalyst para iniciar la migración desde GCP Cloud Storage. Nota: * Durante la migración, si alguno de los objetos no cumple con las convenciones de nomenclatura u otra regla obligatoria de Stratus, ese objeto en particular se omitirá y no se migrará a Stratus. * Durante la migración, si vas a migrar un objeto con metadatos superiores a 2047 caracteres, solo se migrarán 2047 caracteres de los metadatos del objeto junto con él. El resto se omitirá automáticamente. 1. Navega a **Stratus** en *Storage* en la consola de *Cloud Scale*, luego haz clic en **Third-party Migration**. <br /> Nota: Necesitas tener un bucket de destino creado en Stratus para almacenar los objetos que migran desde GCP Cloud Storage. Puedes encontrar los pasos para crear un bucket en esta sección de ayuda. 2. Selecciona el mosaico de *Google Cloud Platform* y haz clic en **Next**. <br /> 3. Sube la *clave JSON* que generaste y descargaste en la consola de GCP, luego haz clic en **Next**. <br /> 4. Ingresa el nombre del bucket de origen (GCP) y el nombre del bucket de destino (Stratus), luego haz clic en **Next** para iniciar la migración. <br /> Nota: * Puedes migrar hasta tres buckets simultáneamente. Si deseas migrar desde otro bucket, haz clic en el "icono +" y agrega los nombres de los buckets de origen y destino. * Si has habilitado el versionado para tus objetos en GCP, ten en cuenta que solo si el versionado está habilitado para el bucket de destino en Stratus, se migrarán todas las versiones del objeto; de lo contrario, solo se migrará la última versión del objeto. La migración se programará. <br /> Se te notificará a través de las notificaciones de la consola una vez que la migración se complete. <br /> ## Objetos -------------------------------------------------------------------------------- title: "Objetos y sus elementos asociados" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.870Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/objects/introduction/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Object Versioning (/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Objects Los objetos son los datos que almacenas en los buckets. Los objetos pueden ser de cualquier tipo de formato, y cada uno de ellos se puede acceder usando una **URL de Object** generada por Stratus. <br /> <!--Once Caching is enabled, a **Caching URL** will be generated when objects are uploaded to the bucket. Objects that are accessed using this URL will be cached.--> ### URL de Object Esta es una URL única generada por Stratus para identificar de forma única y acceder de manera segura al objeto que cargas a un bucket. <br /> Si has habilitado el versionado para tu bucket, puedes acceder a cada versión del objeto usando parámetros de consulta en la **URL de Object** en formato clave-valor. versionId es la clave y el valor es el valor de cadena generado por Stratus cuando cargas una versión del objeto. La URL de Object tendrá los siguientes formatos: * En el entorno de desarrollo:<br /> **https://&lt;bucket-name&gt;-development.zohostratus.com/&lt;object-name&gt;** Por ejemplo: **https<span></span>://mappedsample-development.zohostratus.com/Archive.zip** * En el entorno de producción:<br /> **https://&lt;bucket-name&gt;.zohostratus.com/&lt;object-name&gt;** Por ejemplo: **https<span></span>://mappedsample.zohostratus.com/Archive.zip** * Con el **versionado** habilitado:<br /> **https://&lt;bucket-name&gt;-development.zohostratus.com/&lt;object-name&gt;?versionid={versionid}** Por ejemplo: **https<span></span>://mappedsample-development.zohostratus.com/Archive.zip?versionid=1233487326** Nota: Las estructuras de las URLs de Object están sujetas a cambios según los DC en los que se crean, de manera similar a las URLs de Bucket. ### Ruta La ruta es la ubicación de un objeto en el bucket. Cuando creas un bucket y cargas objetos en él, su ruta se crea en el formato estándar de directorio. <br /> Por ejemplo, imagina que creas un bucket llamado "**MyPictures**". Puedes crear subrutas en el bucket y almacenar los objetos en ellas, o almacenar los objetos directamente. En este ejemplo, hay una subruta con el nombre "**puppies**", y esta ruta tiene un objeto llamado "**border_collie.jpeg**". El objeto se almacena en la siguiente ruta:<br /> **MyPictures/puppies/border_collie.jpeg** Nota: * Una ruta nunca puede estar vacía. Contendrá más rutas para almacenar objetos, u objetos en sí. * Los siguientes caracteres, incluido el espacio, no son compatibles cuando creas una ruta o un objeto: comillas dobles, ambos corchetes angulares, almohadilla, barra invertida y símbolo de pipe. * El nombre de la ruta y el nombre del objeto no deben comenzar con un carácter de espacio o un carácter especial. ### Metadatos <br /> * Puedes proporcionar información personalizada sobre el objeto en formato de par clave-valor usando la opción de metadatos. * Puedes usar caracteres alfanuméricos, guiones bajos o caracteres de espacio en blanco, así como guiones, para escribir tus metadatos. No se permite ningún otro carácter especial aparte de los mencionados. * Puedes obtener los metadatos de un objeto usando el método de solicitud **HEAD**. En la respuesta, los metadatos se listarán en la clave 'x-user-meta'. * El límite máximo de tamaño de caracteres permitidos para los metadatos en general es de **2047** caracteres. El conteo de caracteres usado para determinar el límite de tamaño también incluye el carácter especial dos puntos ":" usado para definir el par clave-valor. -------------------------------------------------------------------------------- title: "Cargar un objeto a un bucket" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.870Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/objects/upload-object/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Object Versioning (/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/upload-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/upload-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/upload-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/upload-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/upload-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/upload-object/) - Flutter SDK (/es/sdk/flutter/v1/cloud-scale/stratus/upload-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/upload-object/#UploadObject) -------------------------------------------------------------------------------- # Cargar un objeto a un bucket Un objeto puede ser datos en cualquier formato. Puedes cargarlo directamente desde tu sistema local usando una estructura de directorios personalizable según tus necesidades. Nota: Cuando cargas un objeto, asegúrate de que su nombre sea único en su ruta actual. Para cargar un objeto o un grupo de objetos: 1. Haz clic en el botón **Upload** y elige **Upload Folder** si deseas cargar una carpeta completa con todos sus objetos, o **Upload File** si deseas cargar un grupo selecto de objetos o solo uno. <br /> 2. Si eliges cargar: Selecciona la carpeta requerida de tu sistema local y haz clic en **Upload**. <br /> La carpeta se cargará con todo su contenido. <br /> Haz clic en el directorio cargado para confirmar que contiene todos los objetos que contenía en el sistema local. <br /> Selecciona el archivo o archivos de tu sistema local para cargar, y haz clic en **Open**. <br /> Los archivos se cargarán. <br /> ### Cargar objeto usando ruta También puedes cargar objetos al bucket usando la opción **Create Path**. <br /> Nota: La opción de ruta se usa mejor cuando deseas almacenar uno o más objetos en una ruta particular del bucket. Puedes obtener más información sobre la ruta en esta documentación de ayuda. 1. Haz clic en el botón **Create Path**. <br /> 2. Proporciona la ruta requerida usando el carácter especial de barra diagonal '**/**' como separador de directorios. <br /> 3. Haz clic en el **ícono de carga** y selecciona el objeto requerido en tu sistema local y haz clic en **Open** para cargar. <br /> La ruta ingresada se creará y se podrá navegar de la misma manera que un directorio convencional. <br /> El siguiente método de SDK te permite cargar un objeto al bucket: Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. **Asegúrate de que se importen los siguientes paquetes:** import com.zc.component.stratus.beans.ZCPutObjectOptions; import java.nio.file.Path; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.io.*; InputStream file =new FileInputStream("filePath"); Boolean res = bucket.putObject("objectName", file); System.out.println(res); Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. // crea un read stream para cargar el objeto const file = fs.createReadStream("file_path"); // llama al método de carga const res = await bucket.putObject("object_name", file); console.log(res); Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. file = open('file_path','rb') res = bucket.put_object('object_name',file) print(res) Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. const putObject = stratus.putObject("{object_name}","{File}", "{options}", "{processCallback}"); const putObjectStart = putObject.start(); // para iniciar la solicitud const putObjectAbort = putObject.abort(); // para cancelar la solicitud Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. bucketInstance.upload( filePath : "{file_path}", fileName : "{file_name}", shouldCompress : true ) { error in if let error = error { print("Error : \( error )") return } print("Uploaded Successfully") } Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. bucketIntance.uploadObject("/Desktop", "Helplinecard.jpeg", true, { println(" >> Object Upload Success -$it") }, { println(" >> Object Upload Failed -$it") }, progress = { bytesWritten, contentLength, percentage -> println("Percentage: $percentage") } ) Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. try{ XFile? imageFile = await pickImage(ImageSource.gallery); var bucket = stratus.bucket("testing"); var response = await bucket.uploadObject(imageFile!.path); print("Upload Status: ${response.statusCode}"); } on ZCatalystException catch (ex) { print(ex.toString()); } Nota: Stratus escanea constantemente en busca de malware en segundo plano. Cuando los escaneos encuentran malware, el usuario, administrador, superadministrador y propietario del proyecto serán notificados sobre el malware, y el objeto cargado se elimina inmediata y permanentemente del bucket. ### Gestionar objetos almacenados -------------------------------------------------------------------------------- title: "Gestionar un objeto almacenado" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.871Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/objects/manage-object/manage-stored-object/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Object Versioning (/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Gestionar un objeto almacenado Haz clic en cualquiera de los objetos almacenados en tu bucket. <br /> Podrás realizar las siguientes operaciones en el objeto: * Ver detalles generales, como el *nombre*, *tamaño*, *hora de modificación* y *formato* del objeto. * Puedes acceder al objeto directamente usando la URL de Object segura. Esta URL se puede copiar y usar en tu código para satisfacer tus necesidades. <!--* You can enable Caching for the bucket; a **Caching URL** will be generated by Stratus. This URL can also be copied. When you access objects using this URL, they will be cached. * You can click the **Purge Cache** button to purge the stored cache of the object.--> * Si has habilitado el versionado, puedes ver todas las versiones del objeto presentes en el bucket. * Proporcionar metadatos personalizados para el objeto. * Descargar el objeto * Eliminar el objeto ### Proporcionar metadatos personalizados para un objeto Para proporcionar metadatos para tu objeto: Nota: El límite máximo de tamaño de caracteres permitidos para los metadatos en general es de 2047 caracteres. El conteo de caracteres usado para determinar el límite de tamaño también incluye el carácter especial dos puntos ":" usado para definir el par clave-valor. 1. Haz clic en el objeto requerido. <br /> 2. Haz clic en el botón **Add Meta**. <br /> 3. Los metadatos que proporciones se renderizarán y aplicarán al objeto en **formato de par clave-valor JSON**. Haz clic en **Save** una vez que hayas completado la adición de los datos requeridos. <br /> Tus metadatos personalizados se agregarán al objeto. <br /> Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. **Asegúrate de que se importen los siguientes paquetes:** import org.json.simple.JSONObject; HashMap&lt;String, String&gt; objectMeta = new HashMap&lt;&gt;(); objectMeta.put("key1", "value1"); objectMeta.put("key2", "value2"); JSONObject res = object.putMeta(objectMeta); System.out.println(res); Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. const objectMeta = { "key1": "value1" , "key2": "value2" }; const objMeta = await objectIns.putMeta(objectMeta); console.log(objMeta); Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. res = object_ins.put_meta({'author': 'Amelia Burrows'}) print(res) ### Editar metadatos personalizados Para editar los metadatos personalizados: 1. Haz clic en **Modify Meta**. <br /> 2. Realiza los cambios necesarios y haz clic en **Save**. <br /> Los cambios se aplicarán. <br /> -------------------------------------------------------------------------------- title: "Descargar un objeto de un bucket" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.871Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/objects/manage-object/download-object/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Object Caching (/es/cloud-scale/help/stratus/stratus-config/general-settings/#caching) - Object Versioning (/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/download-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/download-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/download-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/download-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/download-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/download-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/download-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/download-object/#DownloadObject) -------------------------------------------------------------------------------- # Descargar un objeto de un bucket Para descargar un objeto del bucket: 1. Haz clic o selecciona el objeto requerido. <br /> 2. Haz clic en **Download**. <br /> 3. Haz clic en **Save** en el diálogo de tu sistema. <br /> El objeto se descargará a tu sistema local. También puedes descargar el objeto usando el botón **Download** presente en la vista de detalles del objeto. <br /> Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. **Asegúrate de que se importen los siguientes paquetes** import com.zc.component.stratus.beans.ZCGetObjectOptions; import java.nio.file.Path; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.io.*; InputStream dataStream = bucket.getObject("objectName"); // descarga el objeto a tu máquina local Path path = Path.of("file_path"); // especifica una ruta para almacenar el objeto descargado Files.copy(dataStream, path, StandardCopyOption.REPLACE_EXISTING); Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. const res = await bucket.getObject("objectName"); // descarga el objeto a la máquina local const files = fs.createWriteStream('filePath'); res.on('data', (data) => { files.write(data) }); Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. res = bucket.get_object('object_name') # descarga el objeto a la máquina local file = open('file_path','wb') file.write(res) Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. objectInstance.download(fromCache : true) { result in switch result { case.success(let url): do { let data = Data(contentsOf : url) DispatchQueue.main.sync { self.imageView.image = UIImage(date : data) } } catch { print("Error : \( error )") } case.error(let error): print("Error : \( error )") } } Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. bucketInstance.getObject("SunSet.jpeg", "2823000000044005", //Reemplaza esto con tu Folder ID y File ID { object->object.download({println("File download success ${it.available()}")}, {println("File download failed $it")}) Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. try { ZCatalystBucket bucket = stratus.bucket("testing"); var(response, object) = await bucket.getObject("SunSet.jpeg"); final downloadsDir = await getExternalStorageDirectory(); final filePath = downloadsDir !.absolute.path; var fileResponse = await object.download( pathToDownload : filePath, onProgress : (bytesWritten, contentLength, percentage) { print("Downloaded Percentage: $percentage"); }, ); print("Download Status: ${fileResponse.statusCode}"); OpenFile.open(filePath + '/SunSet.jpeg'); } on ZCatalystException catch (ex) { print(ex.toString()); } -------------------------------------------------------------------------------- title: "Eliminar un objeto de un bucket" description: "Stratus es una solución robusta de almacenamiento en la nube impulsada por Catalyst. Puedes almacenar datos de cualquier tipo de formato en forma de buckets y objetos." last_updated: "2026-07-02T09:34:15.876Z" source: "https://docs.catalyst.zoho.com/es/cloud-scale/help/stratus/objects/manage-object/delete-object/" service: "Cloud Scale" related: - Create a Bucket (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Upload an Object (/es/cloud-scale/help/stratus/objects/upload-object/) - Object Caching (/es/cloud-scale/help/stratus/stratus-config/general-settings/#caching) - Object Versioning (/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/delete-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/delete-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/delete-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/delete-objects/#DeleteObject) -------------------------------------------------------------------------------- # Eliminar un objeto de un bucket Para eliminar un objeto del bucket: 1. Selecciona el objeto requerido. <br /> 2. Haz clic en **Delete**. <br /> 3. Haz clic en **Delete** en el diálogo de confirmación también. <br /> La acción de eliminación se programará, y tomará un breve momento antes de que la operación se refleje en la consola. Las operaciones de eliminación se pueden realizar en múltiples objetos y en múltiples rutas de la misma manera. También puedes usar el botón **Delete** presente en la vista de detalles del objeto para eliminarlo. <br /> Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. **Asegúrate de que se importen los siguientes paquetes:** import org.json.simple.JSONObject; int ttl = 200; JSONObject deleteRes = bucket.deleteObject("objectName", "versionId", ttl); System.out.println(deleteRes); Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. const res = await bucket.deleteObject("objectName"); console.log(res); Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. delete_res = bucket.delete_object('object_name') print(delete_res) Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. // Eliminar un objeto const deleteObject = await bucket.deleteObject("objectName"); Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. objectInstance.delete() { error in if let error = error { print("Error : \\( error )") return } print("Deleted Successfully") } Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. bucketInstance.getObject("SunSet.jpeg", "2823000000044005", //Reemplaza esto con tu Object Name y Object ID { object -> object.delete( { println("Object Deletion Success.") }, { println("Failed to delete the object. $it") } ) Nota: Visita este documento de ayuda para obtener más información sobre este método de SDK. try { ZCatalystBucket bucket = stratus.bucket("testing"); var (response, objects, _) = await bucket.getObjects(maxKeys: 5, prefix: 'trip'); var response = await bucket.deleteObjects(objects); print("Delete Objects: ${response.statusCode}"); } on ZCatalystException catch (ex) { print(ex.toString()); } Nota: Cuando realizas una operación de eliminación en un objeto, y si es el único objeto presente en la ruta particular, entonces la ruta completa se eliminará. Una ruta vacía no puede existir en un bucket. --- ## API Reference — Stratus -------------------------------------------------------------------------------- title: "Obtener todos los buckets" description: "Esta API te permite recuperar los detalles de todos los buckets en Stratus junto con los detalles de todos los objetos en ellos" last_updated: "2026-07-02T09:34:15.879Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/get-all-buckets/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Stratus Stratus es la solución robusta de almacenamiento en la nube de Catalyst. Con una simple acción de carga, puedes almacenar tus datos de cualquier tipo como objetos en contenedores llamados buckets. # Obtener todos los buckets ### Descripción Esta API te permite obtener todos los detalles disponibles de todos los buckets presentes en Stratus. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket</p> El ID único del proyecto #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.READ ### Detalles de la respuesta La respuesta devolverá los metadatos y detalles de todos los buckets incluyendo su bucket_name, y los detalles del usuario que creó y modificó por última vez el bucket. curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": [ { "bucket_name": "fsbucket17", "project_details": { "project_name": "Project-Rainfall-4", "id": 2000000000075, "project_type": "Live" }, "created_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "created_time": "Sep 27, 2023 05:01 PM", "modified_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "modified_time": "Sep 27, 2023 05:01 PM", "bucket_meta": { "versioning": false, "caching": { "status": "Disabled" }, "encryption": false, "audit_consent": false }, "bucket_url": "https://fsbucket17-development.zohostratus.com" }, { "bucket_name": "fsbucket16", "project_details": { "project_name": "Project-Rainfall-4", "id": 2000000000075, "project_type": "Live" }, "created_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "created_time": "Sep 27, 2023 04:58 PM", "modified_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "modified_time": "Sep 27, 2023 04:58 PM", "bucket_meta": { "versioning": false, "caching": { "status": "Disabled" }, "encryption": true, "audit_consent": true }, "bucket_url": "https://fsbucket16-development.zohostratus.com" }, { "bucket_name": "fsbucket15", "project_details": { "project_name": "Project-Rainfall-4", "id": 2000000000075, "project_type": "Live" }, "created_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "created_time": "Sep 27, 2023 04:57 PM", "modified_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "modified_time": "Sep 27, 2023 04:57 PM", "bucket_meta": { "versioning": true, "caching": { "status": "In-Progress" }, "encryption": false, "audit_consent": false }, "bucket_url": "https://fsbucket15-development.zohostratus.com" } ] } * Get Bucket - Java SDK * Get Bucket - Node.js SDK * Get Bucket - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Obtener un bucket específico" description: "Esta API te permite recuperar los detalles de un bucket específico en Stratus junto con los detalles de todos los objetos en él" last_updated: "2026-07-02T09:34:15.879Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/get-bucket/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Obtener bucket ### Descripción Esta API te permite obtener todos los detalles disponibles de un bucket presente en Stratus. El bucket se referencia por su nombre único de bucket. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/{bucket_name}</p> El ID único del proyecto El nombre del bucket #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.READ ### Detalles de la respuesta La respuesta devolverá los metadatos y detalles del bucket particular incluyendo su bucket_name, y los detalles del usuario que creó y modificó por última vez el bucket. curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket?bucket_name=mybucketname/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": [ { "bucket_name": "fsbucket17", "bucket_url": "https://fsbucket17-development.stratus.com", "objects_count": 21, "size_in_bytes": 145578, "project_details": { "project_name": "Project-Rainfall-4", "id": 2000000000075, "project_type": "Live" }, "created_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "created_time": "Sep 27, 2023 05:01 PM", "modified_by": { "zuid": 18599686, "is_confirmed": false, "email_id": "emmy@zylker.com", "first_name": "Amelia B", "last_name": "Fstest", "user_type": "Admin", "user_id": 2000000000055 }, "modified_time": "Sep 27, 2023 05:01 PM", "bucket_meta": { "versioning": true, "caching": { "status": "Enabled" }, "encryption": true, "audit_consent": false } } ] } * Get a Particular Bucket - Java SDK * Get a Particular Bucket - Node.js SDK * Get a Particular Bucket - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Obtener todos los objetos" description: "Esta API te permite obtener todos los objetos presentes en un bucket." last_updated: "2026-07-02T09:34:15.879Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/get-all-objects/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Obtener todos los objetos ### Descripción Esta API te permite obtener todos los objetos almacenados en un bucket. El bucket se referencia por su nombre único de bucket. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/objects</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket Contendrá el límite máximo de objetos que se pueden listar por paginación. Si enviaste un continuation_token en la solicitud, se mostrará en la respuesta Este valor opcional obtendrá los objetos que coincidan con el valor del prefijo. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.READ ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá una lista de todos los objetos almacenados en el bucket requerido. curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/buckets/objects?bucket_name=mybucketname&max_keys=10&continuation_token=Sg43ou34rd2bih223oc8csc&prefix=myfolder/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "key_count": 5, "max_keys": 5, "truncated": true, "next_continuation_token": "n2BjzZo5FvrSQmx7z5LaJk7cvP2Yf2K6AJHw4Sg692TnfwHasUp8DJp8qL24A3TLAGPu8zyEysfjfQpjohEMaej", "contents": [ { "key_type": "file", "key": "server 96.zip", "version_id": "01hh9hnwxw8r88kzzfnkn67grr", "size": 3012536, "content_type": "application/zip", "etag": "e460808d4190b37c472985a1f1d85720", "last_modified": "Dec 10, 2023 03:12 PM" }, { "key_type": "file", "key": "oauthscopes.csv", "version_id": "01hh9hnhypzt63fwf5wyk2ef6f", "size": 19804, "content_type": "text/csv", "etag": "354266606189c30c80f336720102ead6", "last_modified": "Dec 10, 2023 03:11 PM" }, { "key_type": "folder", "key": "lib 3", "size": 0, "last_modified": "Dec 10, 2023 03:11 PM" }, { "key_type": "file", "key": "funcauthtest-Development (1).zip", "version_id": "01hh9hkv8xvetbxnrhx6c7444y", "size": 8485, "content_type": "application/zip", "etag": "5f868df044e91a4c7e26be26b6e93a64", "last_modified": "Dec 10, 2023 03:10 PM" }, { "key_type": "file", "key": "Automl_LZ (1).csv", "version_id": "01hh9hkfdf07y8pnpbwtkt8cf7", "size": 257, "content_type": "text/csv", "etag": "223a363af39a49d4b32f6cdf0c569755", "last_modified": "Dec 10, 2023 03:10 PM" } ] } } * Purge Cache - Java SDK * Purge Cache - Node.js SDK * Purge Cache - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Obtener un objeto específico" description: "Esta API te permite obtener todos los objetos presentes en un bucket." last_updated: "2026-07-02T09:34:15.882Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/get-object/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Obtener un objeto específico ### Descripción Esta API te permite obtener un objeto específico almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. Si el versionado está habilitado, entonces el objeto requerido también se puede referenciar usando su version ID único. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/object</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket Contendrá el nombre completo del objeto. Este es un ID generado por Stratus cuando el versionado está habilitado. Puedes usar version_id para referenciar al objeto requerido. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.READ ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá los detalles del objeto solicitado. curl -X GET https://api.catalyst.zoho.com/baas/v1/project/{projectID}/bucket/object?bucket_name={bucketName}&version_id={versionID}&object_key={objectPath} -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "key": "Automl_LZ (1).csv", "size": 257, "content_type": "text/csv", "last_modified": "Dec 10, 2023 03:10 PM", "meta_data": { "automl_metakey": "metavalue" }, "object_url": "https://gcpimport2-development.csezstratus.com/Automl_LZ%20(1).csv" } } * Get Object Details - Java SDK * Get Object Details - Node.js SDK * Get Object Details - Python SDK * Get Object - Web SDK * Get Object - iOS SDK * Get Object - Android SDK * Get Object - Flutter SDK -------------------------------------------------------------------------------- title: "Obtener todas las versiones de un objeto" description: "Esta API te permite obtener todas las versiones de un objeto." last_updated: "2026-07-02T09:34:15.882Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/get-all-versions/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Obtener todas las versiones de un objeto ### Descripción Esta API te permite obtener todas las versiones del objeto almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/objects/versions</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket Contendrá el nombre completo del objeto. Contendrá el número máximo de versiones que se pueden listar en una iteración paginada. Contendrá el token para verificar si se requiere o no la siguiente iteración paginada. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.READ ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá la lista de detalles de todas las versiones del objeto requerido. curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/objects/versions?bucket_name=zylker-bucket&object_key=sampleimage&max_versions=10&continuation_token=Sg43ou34rd2bih223oc8csc/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "truncated": true, "key": "Automl_LZ (1).csv", "versions_count": 2, "max_versions": 2, "is_truncated": true, "next_continuation_token": "97tn3xP3te66VpfVwVJwtDAgouBKVNhGAV6jzGY6DMdX6hcJmwJKbFX3unakGdfKfJ", "version": [ { "latest": true, "version_id": "01hh9hkfdf07y8pnpbwtkt8cf7", "is_latest": true, "last_modified": "Dec 10, 2023 03:10 PM", "size": 257, "etag": "223a363af39a49d4b32f6cdf0c569755" }, { "latest": false, "version_id": "01hh9hjtge85k1fx2yp1kg8r2q", "is_latest": false, "last_modified": "Dec 10, 2023 03:10 PM", "size": 257, "etag": "223a363af39a49d4b32f6cdf0c569755" } ] } } * Get All Versions of an Object - Java SDK * Get All Versions of an Object - Node.js SDK * Get All Versions of an Object - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Verificar disponibilidad del bucket" description: "Esta API te permite verificar si un bucket particular está presente o no." last_updated: "2026-07-02T09:34:15.882Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/head-bucket/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Verificar disponibilidad del bucket ### Descripción Esta API te permite verificar la disponibilidad de un bucket particular presente en Stratus. El bucket se referenciará usando su nombre único de bucket ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/{bucket_name}</p> El ID único del proyecto El nombre del bucket #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.READ ### Detalles de la respuesta La respuesta puede ser cualquiera de los siguientes códigos de estado: * 200: Si el bucket está disponible y si el usuario tiene los permisos relevantes para acceder a él. * 403: Si el bucket existe, pero el usuario no tiene los permisos relevantes para acceder al bucket. * 404: Si el bucket no existe. curl -X HEAD https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket?bucket_name=myBucketName/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" * Check Bucket Availability - Java SDK * Check Bucket Availability - Node.js SDK * Check Bucket Availability - Python SDK * Check Bucket Availability - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Verificar disponibilidad del objeto" description: "Esta API te permite verificar si un objeto particular está presente en un bucket." last_updated: "2026-07-02T09:34:15.882Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/head-object/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Verificar disponibilidad del objeto ### Descripción Esta API te permite verificar si un objeto particular está almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. Si el versionado está habilitado, entonces el objeto requerido también se puede referenciar usando su version ID único. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/objects</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket Contendrá el nombre completo del objeto. Este es un ID generado por Stratus cuando el versionado está habilitado. Puedes usar version_id para referenciar al objeto requerido. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.READ ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el código de estado **200**, para indicar que el objeto está presente en el bucket. Si el objeto es incorrecto o no está presente en el bucket, obtendrás un código de estado **404** como respuesta. curl -X HEAD https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object?bucket_name=myBucketName&object_key=image.jpeg&version_id=dfd233fcds2wd223/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" * Check Object Availability - Java SDK * Check Object Availability - Node.js SDK * Check Object Availability - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Descargar objeto" description: "Esta API te permite realizar operaciones de descarga en un objeto almacenado en Stratus." last_updated: "2026-07-02T09:34:15.882Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/download-object/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Descargar objeto ### Descripción Esta API te permite descargar el objeto requerido almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. ### Detalles de la solicitud #### URL de solicitud <p>{bucket_name}.zohostratus.com/{key}</p> El nombre de dominio anterior cambiará con respecto al centro de datos: <table class="content-table"> <thead> <tr> <th class="w20p">DC</th> <th class="w40p">Nombre de dominio</th> </tr> </thead> <tbody> <tr> <td>US</td> <td>zohostratus.com</td> </tr> <tr> <td>EU</td> <td>zohostratus.eu</td> </tr> <tr> <td>IN</td> <td>zohostratus.in</td> </tr> <tr> <td>AU</td> <td>zohostratus.com.au</td> </tr> <tr> <td>CA</td> <td>zohostratus.ca</td> </tr> <tr> <td>SA</td> <td>zohostratus.sa</td> </tr> <tr> <td>JP</td> <td>zohostratus.jp</td> </tr> </tbody> </table> Nota: * Si la API se usa en el entorno de desarrollo, entonces el dominio se estructurará de esta manera: https://<bucket_name>-development.zohostratus.com * Es aconsejable obtener la URL del bucket desde la consola. #### Parámetros de ruta El ID único del proyecto El nombre del bucket El nombre del objeto que necesita ser descargado #### Parámetros de consulta Este es un ID generado por Stratus cuando el versionado está habilitado. Puedes usar version_id para referenciar al objeto requerido. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **Range:** Para descargar un rango de bytes específico de un objeto **retrieve-meta:** Para recuperar los metadatos del objeto | Valores posibles: **True/False** | Valor predeterminado: **False** #### Alcance Stratus.fileop.READ #### Parámetros de consulta para sobrescribir respuestas Los siguientes parámetros de consulta se pueden agregar para modificar las respuestas y obtener la respuesta requerida. Todos estos son parámetros opcionales. La sobrescritura solo funcionará si la solicitud es exitosa. Establece el encabezado Content-Type de la respuesta. Solo se pueden usar tipos de contenido estándar definidos por IANA. Establece el encabezado Content-Language de la respuesta Establece el encabezado Content-Disposition de la respuesta. El valor del parámetro debe estar en este formato:<br /> attachment; filename="name"<br />Ejemplo: attachment; filename="logo.svg" Establece el encabezado Cache-Control de la respuesta.<br />Ejemplo: public,max-age=3600,no-transform ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el objeto que será descargado y se mostrará el mensaje de éxito. #### Posibles respuestas de error **404** debido a que no se encontró el objeto/bucket: { "status": 404, "code": "key_not_found", "message": "no such key is associated with any object in the bucket" } **403** No autorizado. Cuando no tienes los permisos requeridos para realizar la operación de descarga { "status": 403, "code": "access_forbidden", "message": "request denied by resource access policy" } curl -X GET https://{bucket_name}.zohostratus.com/{key} -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" 200 OK // Bytes de datos sin procesar * Download Object - Java SDK * Download Object - Node.js SDK * DownloadObject - Python SDK * Download - Web SDK * Download - iOS SDK * Download - Android SDK * Download - Flutter SDK -------------------------------------------------------------------------------- title: "Cargar objeto" description: "Esta API te permite realizar operaciones de carga en un objeto almacenado en Stratus." last_updated: "2026-07-02T09:34:15.882Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/upload-object/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Cargar objeto ### Descripción Esta API te permite cargar el objeto requerido a un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. ### Detalles de la solicitud #### URL de solicitud <p>{bucket_name}.zohostratus.com/{key}</p> El nombre de dominio anterior cambiará con respecto al centro de datos: <table class="content-table"> <thead> <tr> <th class="w20p">DC</th> <th class="w40p">Nombre de dominio</th> </tr> </thead> <tbody> <tr> <td>US</td> <td>zohostratus.com</td> </tr> <tr> <td>EU</td> <td>zohostratus.eu</td> </tr> <tr> <td>IN</td> <td>zohostratus.in</td> </tr> <tr> <td>AU</td> <td>zohostratus.com.au</td> </tr> <tr> <td>CA</td> <td>zohostratus.ca</td> </tr> <tr> <td>SA</td> <td>zohostratus.sa</td> </tr> <tr> <td>JP</td> <td>zohostratus.jp</td> </tr> </tbody> </table> Nota: Si la API se usa en el entorno de desarrollo, entonces el dominio se estructurará de esta manera: https://<bucket_name>-development.zohostratus.com #### Parámetros de ruta El ID único del proyecto El nombre del bucket El nombre del objeto que necesita ser cargado Nota: Los siguientes puntos deben tenerse en cuenta al proporcionar el valor para key: * La longitud máxima de la clave (incluyendo el nombre de la ruta y el nombre del objeto) debe ser de solo 255 caracteres. * La clave no puede contener los siguientes caracteres incluyendo el espacio: comillas dobles, ambos corchetes angulares, hashtag, barra invertida y símbolo de barra vertical. #### Parámetros de consulta Este es un ID generado por Stratus cuando el versionado está habilitado. Puedes usar version_id para referenciar al objeto requerido. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **content-type:** application/json **content-length:** Longitud sin procesar del objeto que se está cargando en bytes. **compress:** Si se debe comprimir el objeto al almacenarlo. Por defecto, la compresión siempre se realiza. **cache-control:** Usa este encabezado para especificar las políticas de caché del navegador. **overwrite:** Especifica si necesitas sobrescribir un recurso. Esto solo es soportado para los objetos de buckets sin versionado. **expires-after:** Esta es una opción que puedes usar para establecer el Time-to-Live (TTL) en segundos para un objeto. El valor debe ser mayor o igual a 60 segundos. **x-user-meta:{1stKey}={1stValue};{2ndKey}={2ndValue};..{NthKey}={NthValue};:** Metadatos para el objeto. Cada par clave-valor se separa por punto y coma como se muestra en la columna anterior. **2047 caracteres** es la longitud máxima permitida para este encabezado. #### Alcance Stratus.fileop.CREATE ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el mensaje de éxito y el objeto será cargado. #### Posibles respuestas de error **404** debido a que no se encontró el objeto/bucket: { "status": 404, "code": "bucket_not_found", "message": "no such bucket exists" } **403** No autorizado. Cuando no tienes los permisos requeridos para realizar la operación de carga { "status": 403, "code": "access_forbidden", "message": "request denied by resource access policy" } **400** Solicitud incorrecta. Nombre de archivo inválido { "status": 400, "code": "key_name_invalid", "message": "key name does not support one or more character(s)" } **409** Conflicto. Ya existe un objeto con el mismo nombre { "status": 409, "code": "key_already_exists", "message": "key is already associated with another object in the bucket" } curl -X PUT https://{bucket_name}.zohostratus.com/{key} -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" 200 OK * Upload Object - Java SDK * Upload Object - Node.js SDK * UploadObject - Python SDK * Upload - Web SDK * Upload - iOS SDK * Upload - Android SDK * Upload - Flutter SDK -------------------------------------------------------------------------------- title: "Copiar objeto" description: "Esta API te permite realizar operaciones de copia en un objeto almacenado en Stratus." last_updated: "2026-07-02T09:34:15.883Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/copy-object/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Copiar objeto ### Descripción Esta API te permite copiar el objeto requerido almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/object/copy</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket Contendrá el nombre completo del objeto requerido. Contendrá la ubicación a donde se debe copiar el objeto. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.CREATE ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el nombre del objeto copiado, la ubicación a donde se copió y el mensaje de éxito confirmando la acción de copia. curl -X POST https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object/copy?bucket_name=myBucketName&object_key=mappedsample/Archive.zip&destination=mappedsample/Unarchive/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "object_key": "image2.png", "copy_to": "folder2/", "message": "Copy successful" } } * Move an Object - Java SDK * Move an Object - Node.js SDK * Move an Object - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Renombrar objeto" description: "Esta API te permite renombrar tu objeto." last_updated: "2026-07-02T09:34:15.883Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/rename-object/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Renombrar objeto ### Descripción Esta API te permite renombrar el objeto requerido almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. Nota: Los siguientes caracteres incluyendo el espacio no están soportados cuando creas una ruta o un objeto: comillas dobles, ambos corchetes angulares, hashtag, barra invertida y símbolo de barra vertical. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/object</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket Contendrá el nombre completo del objeto requerido. Contendrá el nuevo nombre del objeto. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.UPDATE ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el nombre anterior, el nombre modificado y el mensaje de éxito confirmando la acción de renombrado. curl -X PATCH https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object/?bucket_name=myBucketName&current_key=image2.png&rename_to=renamed.png/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "current_key": "image2.png", "rename_to": "renamed.png", "message": "Rename successful" } } * Rename Object - Java SDK * Rename Object - Node.js SDK * Rename Object - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Agregar metadatos al objeto" description: "Esta API te permite crear una firma para el bucket." last_updated: "2026-07-02T09:34:15.883Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/put-object-meta/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Agregar metadatos al objeto ### Descripción Esta API te permite agregar metadatos al objeto requerido almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. Nota: * Puedes usar caracteres alfanuméricos, guiones bajos o caracteres de espacio en blanco, así como guiones, para escribir tus metadatos. No se permite ningún otro carácter especial aparte de los mencionados. * Puedes obtener los metadatos de un objeto usando el método de solicitud **HEAD**. En la respuesta, los metadatos se listarán en la clave 'x-user-meta'. * El límite máximo de tamaño de caracteres permitido para los metadatos en general es de **2047** caracteres. El conteo de caracteres usado para determinar el límite de tamaño también incluye el carácter especial dos puntos ":" usado para definir el par clave-valor. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/object/metadata</p> El ID único del proyecto #### JSON de solicitud Debes enviar un JSON con sus valores correspondientes como se muestra a continuación. { "meta_data": { "key1": "value1", "key2": "value2" } } Alimentarás este **JSON de solicitud** en tu **cuerpo de la solicitud**, y necesitas proporcionar el valor de: Este JSON contendrá los metadatos requeridos en forma de pares clave-valor JSON. #### Parámetros de consulta El nombre del bucket Contendrá el nombre completo del objeto. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.CREATE ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el mensaje de éxito indicando que los metadatos se han agregado al objeto requerido. curl -X PUT https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object/metadata?bucket_name=myBucketName&object_key=image2.png/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" -H "Content-Type:application/json" -\-data-raw $'{"{"meta_data" : {"key1" : "value1","key2" : "value2"}}"}' { "status": "success", "data": { "message": "Metadata added successfully" } } * Put Object Meta Data - Java SDK * Put Object Meta Data - Node.js SDK * Put Object Meta Data - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Extraer objeto comprimido" description: "Esta API te permite extraer un objeto comprimido en Stratus." last_updated: "2026-07-02T09:34:15.883Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/extract-object/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Extraer objeto comprimido ### Descripción Esta API te permite extraer un objeto comprimido almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/object/zip-extract</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket Contendrá el nombre completo del objeto comprimido requerido. Contendrá el nombre completo de la ruta de destino en el bucket donde se deben almacenar los objetos extraídos. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.CREATE ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el nombre del objeto comprimido, el nombre completo de la ruta que almacenó los objetos extraídos y el mensaje de éxito confirmando la acción de extracción. curl -X POST https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object/zip-extract?bucket_name=mybucketname&object_key=image2.png&destination=folder2/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "object_key": "image2.png", "destination": "folder2", "message": "Zip extract scheduled", "task_id": "hh2odww2334nsodno24" } } * Extract a Zipped Object - Java SDK * Extract a Zipped Object - Node.js SDK * Extract a Zipped Object - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Obtener estado de la operación de extracción de zip" description: "Esta API te permite obtener el estado de una operación de extracción que se está realizando en un objeto comprimido en Stratus." last_updated: "2026-07-02T09:34:15.883Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/get-extract-status/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Obtener estado de la operación de extracción de zip ### Descripción Esta API te permite obtener el estado de una operación de extracción que se está realizando en un objeto comprimido almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. Nota: Consulta la API de Extraer objeto comprimido para realizar la operación de extracción en un objeto comprimido. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/object/zip-extract/{taskId}</p> El ID único del proyecto El valor se devolverá en la respuesta al ejecutar la API de Extraer objeto comprimido. Este id te permitirá referenciar al proceso de extracción requerido. #### Parámetros de consulta El nombre del bucket Contendrá el nombre completo del objeto comprimido requerido. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.READ ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el estado del proceso de extracción requerido que se está realizando en un objeto comprimido en Stratus. curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object/zip-extract/hh2odww2334nsodno24?bucket_name=mybucketname&object_key=image2.png/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "task_status": "PENDING | COMPLETED | FAILED" } } * Get Zip Extraction Status - Java SDK * Get Zip Extraction Status - Node.js SDK * Get Zip Extraction Status - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Crear firma para el bucket" description: "Esta API te permite crear una firma para el bucket." last_updated: "2026-07-02T09:34:15.883Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/create-sign-bucket/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Crear firma para el bucket ### Descripción Esta API te permite crear una firma para el bucket requerido. El bucket se referencia por su nombre único de bucket. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/signature</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.CREATE ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá la firma requerida del bucket junto con su período de tiempo de validez. curl -X POST https://api.catalyst.zoho.com/baas/v1/project/4000000006007/bucket/signature?bucket_name=zylker-bucket\ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "signature": "stsPolicy=eyJzaWduaW5ndGltZSI6MTcyMTk3NDc1NDQ1MiwiZXhwaXJhdGlvbiI6MzYwMCwiYWN0aW9uIjpbIkdldE9iamVjdCIsIlB1dE9iamVjdCJdLCJjcmVkZW50aWFscyI6IjY3MjUxNjQ0LTg1NDM1OTI2IiwicmVzb3VyY2UiOlsic3JuOjo6dGVzdGRzZHMtZGV2ZWxvcG1lbnQvKiJdLCJxdWVyeSI6W10sImhlYWRlcnMiOltdLCJib2R5Ijp7ImNvbnRlbnQtdHlwZSI6IioiLCJjb250ZW50LWxlbmd0aCI6bnVsbH19&stsSignature=Nyr29x7N-CzDSfFaTzzPnwWsL74ga9rIGZJIxWFdNtI", "expiry_time": 1786382487000 } } * Generate Presigned URL - Java SDK * Generate Presigned URL - Node.js SDK * Generate Presigned URL - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Obtener URL prefirmada" description: "Esta API te permite obtener URLs prefirmadas. Puedes compartir esta URL con otros usuarios y ellos podrán realizar acciones de descarga y carga de forma segura." last_updated: "2026-07-02T09:34:15.883Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/get-presigned-url/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Obtener URL prefirmada ### Descripción Esta API te permite obtener URLs prefirmadas. 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. Una vez que el enlace expire, necesitas firmar la URL requerida nuevamente usando esta API. Nota: Hay diferentes métodos de solicitud para la acción de carga y la acción de descarga. ### Detalles de la solicitud #### URL de solicitud para la acción de carga <p>{api-domain}/baas/v1/project/{project_id}/bucket/object/signed-url</p> #### URL de solicitud para la acción de descarga <p>{api-domain}/baas/v1/project/{project_id}/bucket/object/signed-url</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket Contendrá el nombre completo del objeto requerido. Contendrá el límite de tiempo en segundos. Una vez que se alcance este límite, la URL prefirmada no podrá ser utilizada. El valor predeterminado es 3600 Contendrá la marca de tiempo a partir de cuándo la URL prefirmada estará activa. Este parámetro solo se puede usar para la URL de solicitud GET. Contendrá el ID de versión #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance para descarga ZohoCatalyst.buckets.objects.READ #### Alcance para carga ZohoCatalyst.buckets.objects.CREATE ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá la URL prefirmada. curl -X GET https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object/signed-url?bucket_name=myBucketName&object_key=object.pdf&expiry_in_seconds=3600&active_from=1716382375000&version_id=bs22sb2923ey2hds929/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" curl -X PUT https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object/signed-url?bucket_name=myBucketName&object_key=object.pdf&expiry_in_seconds=3600&active_from=1716382375000/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "signature": "https://mybucket.nimbuspop.com/folder1/folder2/image.jpeg?expires=1642915027000&signature=MEYCIQCcJDTsmZQhfuvFu3l3tsVL02uVwIMhLdlSg~ARI3E1aAIhAJ-rzzjn2gPH9pB3EoU3X~v~qvg5Rdt9OBoldBpVz6xt&key-id=vMUWDURn5DGtokPG", "expires_in_seconds": 300, "active_from": 1716382487000 } } * Generate Presigned URL - Java SDK * Generate Presigned URL - Node.js SDK * Generate Presigned URL - Python SDK * Stratus - Web SDK * Stratus - iOS SDK * Stratus - Android SDK * Stratus - Flutter SDK -------------------------------------------------------------------------------- title: "Eliminar objeto" description: "Esta API te permite realizar operaciones de eliminación en objetos almacenados en Stratus." last_updated: "2026-07-02T09:34:15.884Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/delete-objects/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Eliminar objeto ### Descripción Esta API te permite eliminar el objeto requerido almacenado en un bucket. El bucket se referencia por su nombre único de bucket, y el objeto requerido se referencia usando su nombre. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/object/</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket #### JSON de solicitud Debes enviar un JSON con sus valores correspondientes como se muestra a continuación. { "objects": [ { "key": "file1.jpeg", "version_id": "{version_id}" }, { "key": "file2.jpeg" }, { "key": "file3.jpeg" } ], "ttl_in_seconds": 100 } Alimentarás este **JSON de solicitud** en tu **cuerpo de la solicitud**, y necesitas proporcionar el valor de: Esta clave JSON contendrá el nombre del objeto requerido que necesita ser eliminado. Esta clave JSON contendrá el tiempo en segundos. Una vez que se alcance el ttl_in_seconds, se llevará a cabo la operación de eliminación. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.DELETE ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el mensaje de éxito confirmando que la operación de eliminación fue exitosa. curl -X PUT https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object?bucket_name=zylker-bucket/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" -H "Content-Type:application/json" -\-data-raw $'{""status": "success","data":{"message": "Deletion successful"}"}' { "status": "success", "data": { "message": "Deletion successful" } } * Delete Objects - Java SDK * Delete Objects - Node.js SDK * Delete Objects - Python SDK * Delete Objects - Web SDK * Delete Objects - iOS SDK * Delete Objects - Android SDK * Delete Objects - Flutter SDK -------------------------------------------------------------------------------- title: "Eliminar ruta" description: "Esta API te permite realizar operaciones de eliminación en una ruta completa en Stratus." last_updated: "2026-07-02T09:34:15.884Z" source: "https://docs.catalyst.zoho.com/es/api/code-reference/cloud-scale/stratus/delete-path/" service: "Cloud Scale" -------------------------------------------------------------------------------- # Eliminar ruta ### Descripción Esta API te permite eliminar una ruta completa y cada objeto almacenado en esa ruta en un bucket. El bucket se referencia por su nombre único de bucket. ### Detalles de la solicitud #### URL de solicitud <p>{api-domain}/baas/v1/project/{project_id}/bucket/object/prefix</p> El ID único del proyecto #### Parámetros de consulta El nombre del bucket Contendrá el prefijo de la ruta que necesita ser eliminada. #### Encabezados de solicitud **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Encabezados opcionales** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### Alcance ZohoCatalyst.buckets.objects.DELETE ### Detalles de la respuesta Tras la ejecución exitosa, la respuesta contendrá el mensaje de éxito confirmando que la operación de eliminación fue exitosa. curl -X DELETE https://api.catalyst.zoho.com/baas/v1/project/10108000003823392/bucket/object/prefix?bucket_name=zylker-bucket&prefix=myfolder/ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" { "status": "success", "data": { "prefix": "myfolder/", "message": "Deletion successful" } } * Delete Path - Java SDK * Delete Path - Node.js SDK * Delete Path - Python SDK * Delete Objects - Web SDK * Delete Path - iOS SDK * Delete Path - Android SDK * Delete Path - Flutter SDK --- ## SDK — Android — Stratus -------------------------------------------------------------------------------- title: "Descripción general" description: "Esta página proporciona una descripción general de los métodos del SDK móvil necesarios para realizar operaciones de Stratus." last_updated: "2026-07-02T09:34:15.886Z" source: "https://docs.catalyst.zoho.com/es/sdk/android/v2/cloud-scale/stratus/overview/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Descripción general Cloud Scale Stratus es la solución de almacenamiento robusta y potente de Catalyst. Puedes almacenar datos de cualquier formato en forma de objetos en contenedores llamados Buckets. Cada Bucket y cada objeto individual en el bucket tiene una URL de objeto segura y una URL de Bucket. Puedes realizar operaciones de carga y descarga en objetos e incluso proporcionar permisos personalizados para cada objeto. La siguiente tabla contiene la lista de todos los SDKs de Catalyst que se pueden usar para realizar operaciones de Stratus a través de código. <table class="content-table"> <thead> <tr> <th class="w30p">Categoría</th> <th class="w70p">Método del SDK</th> </tr> </thead> <tbody> <tr> <td>Operaciones generales de Stratus</td> <td>Create Bucket Instance</td> </tr> <tr> <td>Operaciones de Bucket</td> <td> <ul> <li>Get Object <ul> <li>Get All Objects</li> </ul> </li> <li>Download an Object</li> <li>Upload Object <ul> <li>Upload an Object Using File Path and Name</li> <li>Upload an Object Using File Path</li> <li>Upload an Object Using InputStream and File Name</li> </ul> </li> <li>Delete Object <ul> <li>Delete a Single Object</li> <li>Delete Multiple Objects</li> </ul> </li> <li>Delete Path</li> </ul> </td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Crear instancia de Bucket" description: "Esta página lista el método del Android SDK para crear una instancia de bucket." last_updated: "2026-07-02T09:34:15.886Z" source: "https://docs.catalyst.zoho.com/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-bucket-instance/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-bucket-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/#initialize-bucket-instance) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/#create-bucket-instance) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de Bucket Para realizar operaciones a nivel de bucket, necesitas inicializar una instancia de bucket. Nos referiremos a esta instancia del componente en varios fragmentos de código para trabajar con Buckets en Stratus. var bucket = ZCatalystStratus.getBucketInstance("{bucket_name}") -------------------------------------------------------------------------------- title: "Obtener objeto" description: "Esta página lista el método del Android SDK para obtener un objeto u objetos del bucket." last_updated: "2026-07-02T09:34:15.886Z" source: "https://docs.catalyst.zoho.com/es/sdk/android/v2/cloud-scale/stratus/get-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/get-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/get-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/get-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/get-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/get-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/get-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-objects/#GetAllObjects) -------------------------------------------------------------------------------- # Obtener objeto Este método del SDK se puede usar para obtener un objeto del bucket. La respuesta estará en formato **blob**. Cuando Versioning está habilitado para el bucket: * Si no pasas el versionId, solo se devolverá el **objeto más reciente**. * 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** <table class="content-table"> <thead> <tr> <th class="w30p">Nombre del parámetro</th> <th class="w70p">Definición</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>Un parámetro obligatorio. Contendrá el nombre del objeto.</td> </tr> <tr> <td>versionId</td> <td>Un parámetro opcional. Contendrá el ID de versión único de la versión del objeto requerido.</td> </tr> </tbody> </table> bucketInstance.getObject("{object_name}", "{version_id}", { object -> println("The name of the object is : ${object.name}") }, { exception -> println("Get object failed! $exception") } ) ### Obtener todos los objetos Este método del SDK se puede usar para obtener todos los objetos presentes en el bucket usando la técnica de paginación. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>prefix</td> <td>String</td> <td>Un parámetro opcional. Obtendrá los objetos que coincidan con el valor del prefijo.</td> </tr> <tr> <td>max_keys</td> <td>Number</td> <td>Un parámetro opcional. Contendrá el límite máximo de objetos que se pueden listar mediante paginación.</td> </tr> <tr> <td>continuation_token</td> <td>String</td> <td>Un parámetro opcional. Si la respuesta fue truncada, el valor de esta clave debe pasarse como continuation_token al mismo método para recuperar el siguiente conjunto de objetos.</td> </tr> </tbody> </table> bucketInstance.getObjects({max_keys}, {continuation_token}, {prefix}, { objects -> for (obj in objects){ println("Object name: ${obj.name}") } }, { exception -> println("Get objects failed! $exception") } ) -------------------------------------------------------------------------------- title: "Descargar objeto" description: "Esta página lista los métodos del Android SDK para descargar un objeto del bucket." last_updated: "2026-07-02T09:34:15.886Z" source: "https://docs.catalyst.zoho.com/es/sdk/android/v2/cloud-scale/stratus/download-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Download an Object (/es/cloud-scale/help/stratus/objects/manage-object/download-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/range-download/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/range-download/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/range-download/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/range-download/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/download-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/download-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/upload-object/#DownloadObject) -------------------------------------------------------------------------------- # Descargar un objeto Este método del SDK te permitirá descargar el objeto. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>versionId</td> <td>String</td> <td>Un parámetro opcional. Contendrá el ID de versión único de la versión del objeto requerido.</td> </tr> <tr> <td>fromCache</td> <td>Boolean</td> <td> <ul> <li>Un parámetro opcional. Se usa para especificar si este archivo debe recuperarse del caché o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> </tbody> </table> bucketInstance.getObject("SunSet.jpeg", "2823000000044005", //Reemplaza esto con tu Object Name y Object ID { object -> object.download( { println("File download success ${it.available()}") }, { println("File download failed $it") } ) } -------------------------------------------------------------------------------- title: "Cargar objeto" description: "Esta página lista los métodos del Android SDK para cargar un objeto al bucket." last_updated: "2026-07-02T09:34:15.886Z" source: "https://docs.catalyst.zoho.com/es/sdk/android/v2/cloud-scale/stratus/upload-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Upload Object Help Documentation (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/upload-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/upload-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/upload-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/upload-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/upload-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/upload-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/upload-object/#UploadObject) -------------------------------------------------------------------------------- # Cargar objeto El método del SDK listado en esta sección te permitirá cargar objetos al bucket. Si no tienes Versioning habilitado para tu objeto, y si Stratus recibe múltiples solicitudes de escritura para el mismo objeto, el objeto se sobrescribirá continuamente. La carga más reciente del objeto será el único objeto que se almacene. Sin embargo, con Versioning habilitado, cada carga se considerará una versión del objeto, y todas se almacenarán en el bucket, cada una con un versionId único. Nota: Los siguientes caracteres, incluyendo el espacio, no son compatibles al crear una ruta o un objeto: comillas dobles, ambos corchetes angulares, hashtag, barra invertida y símbolo de barra vertical. ### Cargar un objeto usando ruta de archivo y nombre Este SDK se puede usar para cargar un objeto al bucket usando su nombre completo y ruta. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>filePath</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá la ruta completa de la ubicación desde donde se debe cargar el archivo.</td> </tr> <tr> <td>fileName</td> <td>String</td> <td> <ul> <li>Un parámetro obligatorio. Contendrá el nombre completo del objeto.</li> <li>Valor predeterminado: Contendrá el valor de la última ruta utilizada.</li> </ul> </td> </tr> <tr> <td>shouldCompress</td> <td>Boolean</td> <td> <ul> <li>Un parámetro opcional. Te permite elegir si el objeto necesita ser comprimido o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> <tr> <td>progress</td> <td>Function</td> <td> <ul> <li>Un parámetro opcional. Es una función callback durante la carga de un archivo.</li> </ul> </td> </tr> </tbody> </table> bucketIntance.uploadObject("/Desktop", "Helplinecard.jpeg", true, { println(" >> Object Upload Success -$it") }, { println(" >> Object Upload Failed -$it") }, progress = { bytesWritten, contentLength, percentage -> println("Percentage: $percentage") } ) ### Cargar un objeto usando ruta de archivo Este SDK se puede usar para cargar un objeto al bucket usando su ruta completa. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>filePath</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá la ruta completa de la ubicación desde donde se debe cargar el archivo.</td> </tr> <tr> <td>shouldCompress</td> <td>Boolean</td> <td> <ul> <li>Un parámetro opcional. Te permite elegir si el objeto necesita ser comprimido o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> <tr> <td>progress</td> <td>Function</td> <td> <ul> <li>Un parámetro opcional. Es una función callback durante la carga de un archivo.</li> </ul> </td> </tr> </tbody> </table> bucketIntance.uploadObject("/Desktop", "Helplinecard.jpeg", true, { println(" >> Object Upload Success -$it") }, { println(" >> Object Upload Failed -$it") }, progress = { bytesWritten, contentLength, percentage -> println("Percentage: $percentage") } ) ### Cargar un objeto usando InputStream y nombre de archivo Este SDK se puede usar para cargar un objeto al bucket usando su nombre de archivo y un input stream del objeto a cargar. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>stream</td> <td>InputStream</td> <td>Un parámetro obligatorio. Contendrá el input stream del objeto que necesita ser cargado.</td> </tr> <tr> <td>fileName</td> <td>String</td> <td> <ul> <li>Un parámetro obligatorio. Contendrá el nombre completo del objeto.</li> <li>Valor predeterminado: Contendrá el valor de la última ruta utilizada.</li> </ul> </td> </tr> <tr> <td>shouldCompress</td> <td>Boolean</td> <td> <ul> <li>Un parámetro opcional. Te permite elegir si el objeto necesita ser comprimido o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> <tr> <td>progress</td> <td>Function</td> <td> <ul> <li>Un parámetro opcional. Es una función callback durante la carga de un archivo.</li> </ul> </td> </tr> </tbody> </table> val file = File("/Desktop/HelplineCard.jpg") val inputStream: InputStream = FileInputStream(file) bucketIntance.uploadObject(inputSrream, "Helplinecard.jpeg", true, { println(" >> Object Upload Success -$it") }, { println(" >> Object Upload Failed -$it") }, progress = { bytesWritten, contentLength, percentage -> println("Percentage: $percentage") } ) -------------------------------------------------------------------------------- title: "Eliminar objeto" description: "Esta página lista los métodos del Android SDK para eliminar un objeto u objetos del bucket." last_updated: "2026-07-02T09:34:15.886Z" source: "https://docs.catalyst.zoho.com/es/sdk/android/v2/cloud-scale/stratus/delete-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Delete an Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/delete-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/delete-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/delete-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/delete-objects/#DeleteObject) -------------------------------------------------------------------------------- # Eliminar objeto ### Eliminar un solo objeto El siguiente método del SDK se puede usar para eliminar un solo objeto del bucket. bucketInstance.getObject("SunSet.jpeg", "2823000000044005", //Reemplaza esto con tu Object Name y Object ID { object -> object.delete( { println("Object Deletion Success.") }, { println("Failed to delete the object. $it") } ) ### Eliminar múltiples objetos El siguiente método del SDK se puede usar para eliminar múltiples objetos del bucket. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w30p">Tipo de dato</th> <th class="w50p">Definición</th> </tr> </thead> <tbody> <tr> <td>objects</td> <td>ArrayList&lt;ZCatalystObject&gt;</td> <td>Un array que contiene la lista de objetos (e IDs de versión, si Versioning está habilitado para el bucket) que necesitan ser eliminados.</td> </tr> </tbody> </table> bucketInstance.getObjects( success = { objects, resInfo -> bucketInstance.deleteObjects(objects, { println("DELETE BULK OBJECTS : SUCCESS"), }, { println("Delete Objects Failed: $it") } ) -------------------------------------------------------------------------------- title: "Eliminar ruta" description: "Esta página lista los métodos del Android SDK para eliminar una ruta completa junto con sus objetos del bucket." last_updated: "2026-07-02T09:34:15.886Z" source: "https://docs.catalyst.zoho.com/es/sdk/android/v2/cloud-scale/stratus/delete-path/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Delete an Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/delete-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/delete-path/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/delete-path/) - REST API (/es/api/code-reference/cloud-scale/stratus/delete-path/#DeletePath) -------------------------------------------------------------------------------- # Eliminar ruta El siguiente método del SDK se puede usar para eliminar todos los objetos presentes en la ruta especificada. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>path</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá la ruta completa de donde se debe cargar el archivo.</td> </tr> </tbody> </table> bucketInstance.deletePath("myFolder/", { println("Objects deleted successfully.") }, { println("Failed to delete the objects - $it") } ) --- ## SDK — Flutter — Stratus -------------------------------------------------------------------------------- title: "Descripción general" description: "Esta página proporciona una descripción general de los métodos del SDK móvil necesarios para realizar operaciones de Stratus." last_updated: "2026-07-02T09:34:15.887Z" source: "https://docs.catalyst.zoho.com/es/sdk/flutter/v2/cloud-scale/stratus/overview/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Descripción general Cloud Scale Stratus es la solución de almacenamiento robusta y potente de Catalyst. Puedes almacenar datos de cualquier formato en forma de objetos en contenedores llamados Buckets. Cada Bucket y cada objeto individual en el bucket tiene una URL de objeto y una URL de Bucket seguras. Puedes realizar operaciones de carga y descarga en objetos e incluso proporcionar permisos personalizados para cada objeto. La siguiente tabla contiene la lista de todos los SDKs de Catalyst que se pueden usar para realizar operaciones de Stratus a través de código. <table class="content-table"> <thead> <tr> <th class="w30p">Categoría</th> <th class="w70p">Método del SDK</th> </tr> </thead> <tbody> <tr> <td>Operaciones generales de Stratus</td> <td> <ul> <li>Inicializar Stratus <ul> <li>Inicializar instancia de Bucket</li> </ul> </li> </ul> </td> </tr> <tr> <td>Operaciones de Bucket</td> <td> <ul> <li>Obtener objeto <ul> <li>Obtener todos los objetos</li> </ul> </li> <li>Descargar objeto</li> <li>Subir objeto</li> <li>Eliminar objeto</li> <li>Eliminar ruta</li> </ul> </td> </tr> </tbody> </table> Nota: Todos los métodos del SDK en esta sección devolverán múltiples datos usando la nueva funcionalidad de Dart llamada Records. Para usar esta funcionalidad, necesitas tener Dart v3.0 o superior. -------------------------------------------------------------------------------- title: "Inicializar Stratus" description: "Esta página lista el método del SDK de Flutter para crear una instancia de bucket." last_updated: "2026-07-02T09:34:15.887Z" source: "https://docs.catalyst.zoho.com/es/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-stratus-instance/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-stratus-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-stratus-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Inicializar Stratus Puedes obtener la referencia del componente stratus como se muestra a continuación. Esto no realizará una llamada del lado del servidor. Haremos referencia a esta instancia del componente en varios fragmentos de código de trabajo con Stratus. ZCatalystStratus stratus = ZCatalystApp.getInstance().stratus ### Inicializar instancia de Bucket Para realizar operaciones a nivel de bucket, necesitas inicializar una instancia de bucket. Haremos referencia a esta instancia del componente en varios fragmentos de código de trabajo con Buckets en Stratus. ZCatalystBucket bucket = stratus.bucket("{bucket_name}") -------------------------------------------------------------------------------- title: "Obtener objeto" description: "Esta página lista el método del SDK de Flutter para obtener un objeto u objetos del bucket." last_updated: "2026-07-02T09:34:15.887Z" source: "https://docs.catalyst.zoho.com/es/sdk/flutter/v2/cloud-scale/stratus/get-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/get-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/get-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/get-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/get-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/get-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-objects/#GetAllObjects) -------------------------------------------------------------------------------- # Obtener objeto Este método del SDK se puede usar para obtener un objeto del bucket. La respuesta estará en formato **blob**. Cuando Versioning está habilitado para el bucket: * Si no pasas el versionId, solo se devolverá el **objeto más reciente**. * 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** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre del objeto.</td> </tr> <tr> <td>versionId</td> <td>String</td> <td>Un parámetro opcional. Contendrá el ID de versión único de la versión del objeto requerido.</td> </tr> </tbody> </table> try { ZCatalystBucket bucket = stratus.bucket("testing"); var (response, object) = await bucket.getObject("SunSet.jpeg", "01hter85pvexb8s2s2842rpswh"); print('Object Name : ${object.name}'); } on ZCatalystException catch (ex) { print(ex.toString()); } ### Obtener todos los objetos Este método del SDK se puede usar para obtener todos los objetos presentes en el bucket usando la técnica de paginación. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>prefix</td> <td>String</td> <td>Un parámetro opcional. Obtendrá los objetos que coincidan con el valor del prefijo.</td> </tr> <tr> <td>maxKeys</td> <td>Number</td> <td>Un parámetro opcional. Contendrá el límite máximo de objetos que se pueden listar mediante paginación.</td> </tr> <tr> <td>continuationToken</td> <td>String</td> <td>Un parámetro opcional. Si la respuesta fue truncada, el valor de esta clave debe pasarse como continuationToken al mismo método para recuperar el siguiente conjunto de objetos.</td> </tr> </tbody> </table> try { ZCatalystBucket bucket = app.stratus.bucket("testing"); var (response, objects, resInfo) = await bucket.getObjects(maxKeys: 5); for (var object in objects) { print('Object Name : ${object.name}'); } print('Res Info MaxKeys:${resInfo.maxKeys}'); print('\n\n'); } on ZCatalystException catch (ex) { print(ex.toString()); } -------------------------------------------------------------------------------- title: "Descargar objeto" description: "Esta página lista los métodos del SDK de Flutter para descargar un objeto del bucket." last_updated: "2026-07-02T09:34:15.887Z" source: "https://docs.catalyst.zoho.com/es/sdk/flutter/v2/cloud-scale/stratus/download-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Download an Object (/es/cloud-scale/help/stratus/objects/manage-object/download-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/range-download/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/range-download/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/range-download/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/range-download/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/download-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/download-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/upload-object/#DownloadObject) -------------------------------------------------------------------------------- # Descargar objeto Este método del SDK te permitirá descargar el objeto. La operación devolverá un input stream. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>pathToDownload</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá la ruta donde el objeto necesita ser descargado.</td> </tr> <tr> <td>newObjectName</td> <td>String</td> <td>Un parámetro opcional. Contendrá el nombre del objeto que proporcionas al descargarlo. Si no proporcionas este valor, el objeto se descargará con su nombre original.</td> </tr> <tr> <td>versionId</td> <td>String</td> <td>Un parámetro opcional. Si Versioning está habilitado para el bucket, contendrá el ID de versión único de la versión del objeto requerido.</td> </tr> <tr> <td>fromCache</td> <td>Boolean</td> <td> <ul> <li>Un parámetro opcional. Se usa para especificar si este archivo debe recuperarse de la caché o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> <tr> <td>progress</td> <td>Function(int, int, Double)?</td> <td>Una función de callback que puede proporcionar información del progreso sobre la descarga del objeto</td> </tr> </tbody> </table> try { ZCatalystBucket bucket = stratus.bucket("testing"); var (response, object) = await bucket.getObject("SunSet.jpeg"); final downloadsDir = await getExternalStorageDirectory(); final filePath = downloadsDir!.absolute.path; var fileResponse = await object.download( pathToDownload: filePath, onProgress: (bytesWritten, contentLength, percentage) { print("Downloaded Percentage: $percentage"); }, ); print("Download Status: ${fileResponse.statusCode}"); OpenFile.open(filePath + '/SunSet.jpeg'); } on ZCatalystException catch (ex) { print(ex.toString()); } -------------------------------------------------------------------------------- title: "Subir objeto" description: "Esta página lista los métodos del SDK de Flutter para subir un objeto al bucket." last_updated: "2026-07-02T09:34:15.887Z" source: "https://docs.catalyst.zoho.com/es/sdk/flutter/v2/cloud-scale/stratus/upload-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Upload Object Help Documentation (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/upload-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/upload-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/upload-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/upload-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/upload-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/upload-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/upload-object/#UploadObject) -------------------------------------------------------------------------------- # Subir objeto El método del SDK listado en esta sección te permitirá subir objetos al bucket. Si no tienes Versioning habilitado para tu objeto, y si Stratus recibe múltiples solicitudes de escritura para el mismo objeto, el objeto se sobrescribirá continuamente. La última carga del objeto será el único objeto que se almacene. Sin embargo, con Versioning habilitado, cada carga se considerará una versión del objeto, y todas se almacenarán en el bucket, cada una con un versionId único. Nota: Los siguientes caracteres, incluido el espacio, no son compatibles al crear una ruta o un objeto: comillas dobles, ambos paréntesis angulares, hashtag, barra invertida y símbolo de barra vertical. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>filePath</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá la ruta completa de la ubicación desde donde el archivo necesita ser subido.</td> </tr> <tr> <td>shouldCompress</td> <td>Boolean</td> <td> <ul> <li>Un parámetro opcional. Te permite elegir si el objeto necesita ser comprimido o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> </tbody> </table> try { XFile ? imageFile = await pickImage(ImageSource.gallery); var bucket = stratus.bucket("testing"); var response = await bucket.uploadObject(imageFile!.path); print("Upload Status: ${response.statusCode}"); } on ZCatalystException catch (ex) { print(ex.toString()); } -------------------------------------------------------------------------------- title: "Eliminar objeto" description: "Esta página lista los métodos del SDK de Flutter para eliminar un objeto u objetos del bucket." last_updated: "2026-07-02T09:34:15.887Z" source: "https://docs.catalyst.zoho.com/es/sdk/flutter/v2/cloud-scale/stratus/delete-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Delete an Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/delete-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/delete-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/delete-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/delete-objects/#DeleteObject) -------------------------------------------------------------------------------- # Eliminar objetos El siguiente método del SDK se puede usar para eliminar múltiples objetos del bucket. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w30p">Tipo de dato</th> <th class="w50p">Definición</th> </tr> </thead> <tbody> <tr> <td>objects</td> <td>ArrayList&lt;ZCatalystObject&gt;</td> <td>Un array que contiene la lista de objetos (e IDs de versión, si Versioning está habilitado para el bucket) que necesitan ser eliminados.</td> </tr> </tbody> </table> Nota: Si el método del SDK se usa sin el parámetro objects, todos los objetos del bucket serán eliminados. try { ZCatalystBucket bucket = stratus.bucket("testing"); var (response, objects, _) = await bucket.getObjects(maxKeys: 5, prefix: 'trip'); var response = await bucket.deleteObjects(objects); print("Delete Objects: ${response.statusCode}"); } on ZCatalystException catch (ex) { print(ex.toString()); } -------------------------------------------------------------------------------- title: "Eliminar ruta" description: "Esta página lista los métodos del SDK de Flutter para eliminar una ruta completa junto con sus objetos del bucket." last_updated: "2026-07-02T09:34:15.887Z" source: "https://docs.catalyst.zoho.com/es/sdk/flutter/v2/cloud-scale/stratus/delete-path/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Delete an Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/delete-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/delete-path/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/delete-path/) - REST API (/es/api/code-reference/cloud-scale/stratus/delete-path/#DeletePath) -------------------------------------------------------------------------------- # Eliminar ruta El siguiente método del SDK se puede usar para eliminar todos los objetos presentes en la ruta especificada. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>path</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá la ruta completa de donde se debe subir el archivo.</td> </tr> </tbody> </table> try { ZCatalystBucket bucket = stratus.bucket("testing"); var response = await bucket.deletePath("photos"); print("Delete Objects: ${response.statusCode}"); } on ZCatalystException catch (ex) { print(ex.toString()); } --- ## SDK — iOS — Stratus -------------------------------------------------------------------------------- title: "Descripción general" description: "Esta página proporciona una descripción general de los métodos del SDK móvil necesarios para realizar operaciones de Stratus." last_updated: "2026-07-02T09:34:15.887Z" source: "https://docs.catalyst.zoho.com/es/sdk/ios/v2/cloud-scale/stratus/overview/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v1/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Descripción general Cloud Scale Stratus es la solución de almacenamiento robusta y potente de Catalyst. Puedes almacenar datos de cualquier formato en forma de objetos en contenedores llamados Buckets. Cada Bucket y cada objeto individual en el bucket tiene una URL de objeto segura y una URL de Bucket. Puedes realizar operaciones de subida y descarga en objetos e incluso proporcionar permisos personalizados para cada objeto. La siguiente tabla contiene la lista de todos los SDKs de Catalyst que se pueden utilizar para realizar operaciones de Stratus a través de código. <table class="content-table"> <thead> <tr> <th class="w30p">Categoría</th> <th class="w70p">Método del SDK</th> </tr> </thead> <tbody> <tr> <td>Operaciones generales de Stratus</td> <td> <ul> <li>Create Bucket Instance</li> </ul> </td> </tr> <tr> <td>Operaciones de Bucket</td> <td> <ul> <li>Get Object <ul> <li>Get All Objects</li> </ul> </li> <li>Download Object <ul> <li>Download an Object (Completion Callback)</li> <li>Download an Object (With Progress)</li> </ul> </li> <li>Upload Object <ul> <li>Upload an Object Using Path (Completion Callback)</li> <li>Upload an Object Using File Name and File Data (Completion Callback)</li> <li>Upload an Object Using Path (With Progress)</li> <li>Upload an Object Using File Name and File Data (With Progress)</li> </ul> </li> <li>Delete Object <ul> <li>Delete a Single Object</li> <li>Delete Multiple Objects</li> </ul> </li> <li>Delete Path</li> </ul> </td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Crear instancia de Bucket" description: "Esta página lista el método del iOS SDK para crear una instancia de bucket." last_updated: "2026-07-02T09:34:15.887Z" source: "https://docs.catalyst.zoho.com/es/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-bucket-instance/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-bucket-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/#initialize-bucket-instance) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v1/cloud-scale/stratus/initialize-stratus/#create-bucket-instance) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de Bucket Para realizar operaciones a nivel de bucket, necesitas inicializar una instancia de bucket. Nos referiremos a esta instancia del componente en varios fragmentos de código para trabajar con Buckets en Stratus. let bucket = ZCatalystStratus.getBucketInstance( name : "{bucket_name}" ) -------------------------------------------------------------------------------- title: "Obtener objeto" description: "Esta página lista el método del iOS SDK para obtener un objeto u objetos del bucket." last_updated: "2026-07-02T09:34:15.888Z" source: "https://docs.catalyst.zoho.com/es/sdk/ios/v2/cloud-scale/stratus/get-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/get-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/get-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/get-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/get-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/get-object/) - Flutter SDK (/es/sdk/flutter/v1/cloud-scale/stratus/get-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-objects/#GetAllObjects) -------------------------------------------------------------------------------- # Obtener objeto Este método del SDK se puede utilizar para obtener un objeto del bucket. La respuesta estará en formato **blob**. Cuando Versioning está habilitado para el bucket: * Si no pasas el versionId, solo se devolverá el **objeto más reciente**. * Para recuperar una versión específica, utiliza el parámetro de consulta versionId con una versión válida como valor. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w30p">Nombre del parámetro</th> <th class="w70p">Definición</th> </tr> </thead> <tbody> <tr> <td>objectKey</td> <td>Un parámetro obligatorio. Contendrá el nombre del objeto.</td> </tr> <tr> <td>versionId</td> <td>Un parámetro opcional. Contendrá el ID de versión único de la versión requerida del objeto.</td> </tr> </tbody> </table> bucketInstance.getObject( objectKey : "{object_name}", versionId : "{version_id}" ) { result in switch result { case .success( let object ) : print( "File Name : \( object.fileName )" ) case .error(let error) : print("Error : \( error )") } } Se devolverá el objeto requerido. **Excepción posible** * **404**: Objeto o Bucket no encontrado ### Obtener todos los objetos Este método del SDK se puede utilizar para obtener todos los objetos presentes en el bucket utilizando la técnica de paginación. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>prefix</td> <td>String</td> <td>Un parámetro opcional. Obtendrá los objetos que coincidan con el valor del prefijo.</td> </tr> <tr> <td>maxKeys</td> <td>Number</td> <td>Un parámetro opcional. Contendrá el límite máximo de objetos que pueden listarse por paginación.</td> </tr> <tr> <td>continuation_token</td> <td>String</td> <td>Un parámetro opcional. Si la respuesta fue truncada, el valor de esta clave debe pasarse como continuation_token al mismo método para recuperar el siguiente conjunto de objetos.</td> </tr> </tbody> </table> var params = ZCatalystQuery.ObjectParams() params.maxKeys = 10 params.continuationToken = "{continuation_token}" parmas.prefix = "{prefix}" bucketInstance.getObjects( withParams : params ) { result in switch result { case .success( let objects, let response ) : for object in objects { print("File Name : \( object.fileName )") } case .error( let error ) : print("Error : \( error )") } } El objeto requerido se devolverá como un arreglo en formato Blob. **Excepción posible** * **404**: Objeto o Bucket no encontrado -------------------------------------------------------------------------------- title: "Descargar objeto" description: "Esta página lista los métodos del iOS SDK para descargar un objeto del bucket." last_updated: "2026-07-02T09:34:15.888Z" source: "https://docs.catalyst.zoho.com/es/sdk/ios/v2/cloud-scale/stratus/download-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Download an Object (/es/cloud-scale/help/stratus/objects/manage-object/download-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/range-download/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/range-download/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/range-download/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/range-download/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/download-object/) - Flutter SDK (/es/sdk/flutter/v1/cloud-scale/stratus/download-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/download-object/#DownloadObject) -------------------------------------------------------------------------------- # Descargar objeto Los siguientes métodos del SDK te permitirán descargar el objeto. ### Descargar un objeto (Completion Callback) Este método del SDK te permitirá descargar el objeto, sin indicadores de progreso. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w30p">Nombre del parámetro</th> <th class="w70p">Definición</th> </tr> </thead> <tbody> <tr> <td>fromCache</td> <td> <ul> <li>Un parámetro opcional. Se utiliza para especificar si este archivo debe recuperarse del caché o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> </tbody> </table> objectInstance.download( fromCache : true ) { result in switch result { case .success( let url ) : do { let data = Data(contentsOf : url) DispatchQueue.main.sync { self.imageView.image = UIImage(date: data) } } catch { print("Error : \( error )") } case .error( let error ) : print("Error : \( error )") } } ### Descargar un objeto (con progreso) Este método del SDK te permitirá descargar el objeto con indicadores de progreso. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w30p">Nombre del parámetro</th> <th class="w70p">Definición</th> </tr> </thead> <tbody> <tr> <td>fromCache</td> <td> <ul> <li>Un parámetro opcional. Se utiliza para especificar si este archivo debe recuperarse del caché o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> <tr> <td>fileRefId</td> <td>Un ID único para referirse al archivo que se está subiendo.</td> </tr> <tr> <td>fileUploadDelegate</td> <td>Este es un protocolo que necesita ser confirmado. El objeto delegate de subida es esencial para rastrear el estado de la subida del objeto.</td> </tr> </tbody> </table> objectInstance.download( fromCache : true, fileRefId : "{file_ref_id}", fileDownloadDelegate : self ) -------------------------------------------------------------------------------- title: "Subir objeto" description: "Esta página lista los métodos del iOS SDK para subir un objeto al bucket." last_updated: "2026-07-02T09:34:15.888Z" source: "https://docs.catalyst.zoho.com/es/sdk/ios/v2/cloud-scale/stratus/upload-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Upload Object Help Documentation (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/upload-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/upload-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/upload-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/upload-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/upload-object/) - Flutter SDK (/es/sdk/flutter/v1/cloud-scale/stratus/upload-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/upload-object/#UploadObject) -------------------------------------------------------------------------------- # Subir objeto El método del SDK listado en esta sección te permitirá subir objetos al bucket Si no tienes Versioning habilitado para tu objeto, y si Stratus recibe múltiples solicitudes de escritura para el mismo objeto, el objeto será sobrescrito continuamente. La última subida del objeto será el único objeto almacenado. Sin embargo, con Versioning habilitado, cada subida se considerará una versión del objeto, y todas se almacenarán en el bucket, cada una con un versionId único. Nota: Los siguientes caracteres, incluyendo el espacio, no son compatibles cuando creas una ruta o un objeto: comillas dobles, ambos paréntesis angulares, hashtag, barra invertida y símbolo de barra vertical. ### Subir un objeto usando la ruta (Completion Callback) Este SDK se puede utilizar para subir un objeto al bucket usando su ruta. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w30p">Nombre del parámetro</th> <th class="w70p">Definición</th> </tr> </thead> <tbody> <tr> <td>filePath</td> <td>Un parámetro obligatorio. Contendrá la ruta completa de la ubicación desde donde se necesita subir el archivo.</td> </tr> <tr> <td>fileName</td> <td> <ul> <li>Un parámetro opcional. Contendrá el nombre completo del objeto.</li> <li>Valor predeterminado: Contendrá el valor del último valor de ruta que se utilizó.</li> </ul> </td> </tr> <tr> <td>shouldCompress</td> <td> <ul> <li>Un parámetro opcional. Para permitirte elegir si el objeto necesita ser comprimido o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> </tbody> </table> bucketInstance.upload( filePath : "{file_path}", fileName : "{file_name}", shouldCompress : true ) { error in if let error = error { print("Error : \( error )") return } print("Uploaded Successfully") } ### Subir un objeto usando nombre de archivo y datos del archivo (Completion Callback) Este SDK se puede utilizar para subir un objeto al bucket usando su nombre y en formato de datos. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w30p">Nombre del parámetro</th> <th class="w70p">Definición</th> </tr> </thead> <tbody> <tr> <td>fileName</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto que necesita ser subido.</td> </tr> <tr> <td>data</td> <td>Un parámetro obligatorio. El objeto que necesita ser subido en formato de datos.</td> </tr> <tr> <td>shouldCompress</td> <td> <ul> <li>Un parámetro opcional. Para permitirte elegir si el objeto necesita ser comprimido o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> </tbody> </table> bucketInstance.upload( fileName : "{file_name}", data : "{file_data}", shouldCompress : false ) { error in if let error = error { print("Error : \( error )") return } print("Uploaded Successfully") } ### Subir un objeto usando la ruta (con progreso) Este SDK se puede utilizar para subir un objeto al bucket usando su ruta. Este método del SDK también proporcionará indicadores de progreso de subida. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w30p">Nombre del parámetro</th> <th class="w70p">Definición</th> </tr> </thead> <tbody> <tr> <td>fileRefId</td> <td>Un ID único para referirse al archivo que se está subiendo.</td> </tr> <tr> <td>filePath</td> <td>Un parámetro obligatorio. Contendrá la ruta completa de donde se debe subir el archivo.</td> </tr> <tr> <td>fileName</td> <td> <ul> <li>Un parámetro opcional. Contendrá el nombre completo del objeto.</li> <li>Valor predeterminado: Contendrá el valor del último valor de ruta que se utilizó.</li> </ul> </td> </tr> <tr> <td>shouldCompress</td> <td> <ul> <li>Un parámetro opcional. Para permitirte elegir si el objeto necesita ser comprimido o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> <tr> <td>fileUploadDelegate</td> <td>Este es un protocolo que necesita ser confirmado. El objeto delegate de subida es esencial para rastrear el estado de la subida del objeto.</td> </tr> </tbody> </table> bucketInstance.upload( fileRefId : "{file_ref_id}", filePath : "{file_path}", fileName : "{file_name}", shouldCompress : true, fileUploadDelegate : self ) ### Subir un objeto usando nombre de archivo y datos del archivo (con progreso) Este SDK se puede utilizar para subir un objeto al bucket usando su nombre y en formato de datos. Este método del SDK también proporcionará indicadores de progreso de subida. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w30p">Nombre del parámetro</th> <th class="w70p">Definición</th> </tr> </thead> <tbody> <tr> <td>fileRefId</td> <td>Un ID único para referirse al archivo que se está subiendo.</td> </tr> <tr> <td>data</td> <td>Un parámetro obligatorio. El objeto que necesita ser subido en formato de datos.</td> </tr> <tr> <td>fileName</td> <td> <ul> <li>Un parámetro opcional. Contendrá el nombre completo del objeto.</li> <li>Valor predeterminado: Contendrá el valor del último valor de ruta que se utilizó.</li> </ul> </td> </tr> <tr> <td>shouldCompress</td> <td> <ul> <li>Un parámetro opcional. Para permitirte elegir si el objeto necesita ser comprimido o no.</li> <li>Valor predeterminado: false.</li> </ul> </td> </tr> <tr> <td>fileUploadDelegate</td> <td>Este es un protocolo que necesita ser confirmado. El objeto delegate de subida es esencial para rastrear el estado de la subida del objeto.</td> </tr> </tbody> </table> bucketInstance.upload( fileRefId : "{file_ref_id}", fileName : "{file_name}", data : "{file_data}", shouldCompress : true, fileUploadDelegate : self) -------------------------------------------------------------------------------- title: "Eliminar objeto" description: "Esta página lista los métodos del iOS SDK para eliminar un objeto u objetos del bucket." last_updated: "2026-07-02T09:34:15.888Z" source: "https://docs.catalyst.zoho.com/es/sdk/ios/v2/cloud-scale/stratus/delete-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Delete an Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/delete-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/delete-object/) - Flutter SDK (/es/sdk/flutter/v1/cloud-scale/stratus/delete-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/delete-objects/#DeleteObject) -------------------------------------------------------------------------------- # Eliminar objeto ### Eliminar un solo objeto El siguiente método del SDK se puede utilizar para eliminar un solo objeto del bucket. objectInstance.delete() { error in if let error = error { print("Error : \( error )") return } print("Deleted Successfully") } ### Eliminar múltiples objetos El siguiente método del SDK se puede utilizar para eliminar múltiples objetos del bucket. bucketInstance.deleteObjects( deletableObjectInstances ) { error in if let error = error { print("Error : \( error )") return } print("Deleted Successfully") } -------------------------------------------------------------------------------- title: "Eliminar ruta" description: "Esta página lista los métodos del iOS SDK para eliminar una ruta completa junto con sus objetos del bucket." last_updated: "2026-07-02T09:34:15.888Z" source: "https://docs.catalyst.zoho.com/es/sdk/ios/v2/cloud-scale/stratus/delete-path/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Delete an Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/delete-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/delete-path/) - Flutter SDK (/es/sdk/flutter/v1/cloud-scale/stratus/delete-path/) - REST API (/es/api/code-reference/cloud-scale/stratus/delete-path/#DeletePath) -------------------------------------------------------------------------------- # Eliminar ruta El siguiente método del SDK se puede utilizar para eliminar todos los objetos presentes en la ruta especificada. bucketInstance.deletePath("{path_to_be_deleted}") { error in if let error = error { print("Error : \( error )") return } print("Path Deleted Successfully") } --- ## SDK — Java — Stratus -------------------------------------------------------------------------------- title: "Descripción general" description: "Esta página lista todos los métodos del Java SDK necesarios para realizar operaciones de Stratus a través de código." last_updated: "2026-07-02T09:34:15.894Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/overview/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Stratus ## Descripción general Cloud Scale Stratus es la solución de almacenamiento robusta y potente de Catalyst. Puedes almacenar datos de cualquier formato en forma de Objects en contenedores llamados Buckets. Cada Bucket y cada objeto individual en el bucket tiene una Object URL segura y una Bucket URL. Puedes realizar operaciones de carga y descarga en objetos e incluso proporcionar permisos personalizados para cada objeto. La siguiente tabla contiene la lista de todos los SDKs de Catalyst que se pueden usar para realizar operaciones de Stratus a través de código. <table class="content-table"> <thead> <tr> <th class="w30p">Categoría</th> <th class="w70p">Método del SDK</th> </tr> </thead> <tbody> <tr> <td>Operaciones generales de Stratus</td> <td> <ul> <li>Crear instancia de Stratus</li> <li>Verificar disponibilidad de Bucket</li> <li>Listar Buckets</li> </ul> </td> </tr> <tr> <td>Operaciones de Bucket</td> <td> <ul> <li>Crear instancia de Bucket</li> <li>Obtener detalles de un Bucket</li> <li>Obtener CORS del Bucket</li> <li>Listar objetos en un Bucket <ul> <li>Listar todos los objetos por paginación</li> <li>Listar objetos mediante iteración</li> </ul> </li> <li>Verificar disponibilidad de objeto</li> <li>Descargar objeto <ul> <li>Descargar una porción del objeto</li> <li>Descargar un objeto usando Transfer Manager</li> <li>Generar URL prefirmada para descargar un objeto</li> <li>Generar URL prefirmada con tiempo de expiración y activación</li> </ul> </li> <li>Subir objeto <ul> <li>Subir objeto como stream</li> <li>Subir objeto como string</li> <li>Subir objeto con opciones</li> <li>Subir un objeto usando operaciones multipart</li> <li>Subir un objeto usando Transfer Manager</li> <li>Generar URL prefirmada para subir un objeto</li> <li>Generar URL prefirmada con tiempo de expiración y activación</li> </ul> </li> <li>Extraer un objeto comprimido</li> <li>Copiar objeto</li> <li>Operaciones de renombrar y mover un objeto</li> <li>Eliminar objetos <ul> <li>Eliminar un solo objeto</li> <li>Eliminar múltiples objetos</li> <li>Truncar Bucket</li> <li>Eliminar una ruta en el Bucket</li> </ul> </li> </ul> </td> </tr> <tr> <td>Operaciones de objeto</td> <td> <ul> <li>Crear instancia de objeto</li> <li>Listar versiones de un objeto <ul> <li>Listar todas las versiones de un objeto</li> <li>Listar todas las versiones del objeto de forma iterable</li> </ul> </li> <li>Obtener detalles de objeto <ul> <li>Obtener detalles de un objeto</li> <li>Obtener detalles de una versión particular del objeto</li> </ul> </li> <li>Establecer metadatos de objeto</li> </ul> </td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Crear instancia de Stratus" description: "Esta página lista el método del Java SDK para crear una instancia de Stratus." last_updated: "2026-07-02T09:34:15.895Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/create-stratus-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-stratus-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-stratus-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de Stratus Puedes obtener la referencia del componente stratus como se muestra a continuación. Esto no ejecutará una llamada del lado del servidor. Haremos referencia a esta instancia del componente en varios fragmentos de código para trabajar con Stratus. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.ZCStratus; ZCStratus stratus = ZCStratus.getInstance(); -------------------------------------------------------------------------------- title: "Verificar disponibilidad de Bucket" description: "Esta página lista el método del Java SDK para verificar si el bucket existe en tu proyecto." last_updated: "2026-07-02T09:34:15.895Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/check-bucket/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/check-bucket/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/check-bucket/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/check-bucket/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Verificar disponibilidad de Bucket Usando el método del SDK headBucket(), puedes verificar la existencia de un bucket en Stratus, y además verificar si el usuario tiene los permisos relevantes para acceder a los objetos presentes en el bucket. Respuestas posibles al usar este SDK: * Si el bucket existe y el usuario tiene los permisos relevantes para acceder al bucket, se devolverá la respuesta '**true**'. * Si el bucket no existe, o si el usuario no tiene permiso para acceder al bucket, se devolverá la respuesta '**false**'. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>bucket_name</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre único del bucket.</td> </tr> <tr> <td>throwErr</td> <td>Boolean</td> <td>Un parámetro opcional. Si estableces este parámetro como "true", se lanzará un error cuando el bucket no se encuentre en el proyecto. El valor predeterminado es "false"</td> </tr> </tbody> </table> Boolean throwErr = false; Boolean res = stratus.headBucket("bucket_name", throwErr); System.out.println(res); #### Posibles errores Nota: Si usas el SDK con el parámetro throw_err, y el objeto no existe, o si no tienes permisos suficientes, entonces puedes encontrar cualquiera de los errores listados a continuación. <table class="content-table"> <thead> <tr> <th class="w30p">Código de error</th> <th class="w70p">Significado</th> </tr> </thead> <tbody> <tr> <td>404</td> <td>No encontrado. Bucket no encontrado en Stratus.</td> </tr> <tr> <td>401</td> <td>No autorizado/Acceso denegado - El usuario no tiene permiso para realizar la operación particular.</td> </tr> <tr> <td>403</td> <td>Permiso denegado - El usuario no tiene permiso para acceder al bucket particular.</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Listar Buckets" description: "Esta página lista el método del Java SDK para listar los buckets creados en tu proyecto." last_updated: "2026-07-02T09:34:15.895Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/list-buckets/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/list-buckets/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/list-buckets/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Listar Buckets El siguiente método del SDK devolverá todos los buckets presentes en el proyecto. La referencia de Stratus utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección #### Fragmento de código de ejemplo <br> import java.util.List; import com.zc.component.stratus.ZCStratus; import com.zc.component.stratus.ZCBucket; ZCStratus stratus = ZCStratus.getInstance(); List&lt;ZCBucket&gt; buckets = stratus.listBuckets(); // retornará todos los buckets en la organización -------------------------------------------------------------------------------- title: "Crear instancia de Bucket" description: "Esta página lista el método del Java SDK para crear una instancia de bucket." last_updated: "2026-07-02T09:34:15.899Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/create-bucket-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Create a Bucket Help Documentation (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-bucket-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de Bucket Para realizar operaciones a nivel de bucket, necesitas crear una instancia de bucket. Haremos referencia a esta instancia del componente en varios fragmentos de código para trabajar con Buckets en Stratus. La referencia de Stratus utilizada en el siguiente fragmento de código es la instancia del componente. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.ZCBucket; ZCBucket bucket = stratus.bucketInstance("bucketName"); -------------------------------------------------------------------------------- title: "Obtener detalles de un Bucket" description: "Esta página lista el método del Java SDK para obtener los detalles de un bucket." last_updated: "2026-07-02T09:34:15.899Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/get-bucket-details/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Create a Bucket Help Documentation (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-bucket-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Obtener detalles de un Bucket Usaremos el método del SDK getDetails() para obtener los detalles de un solo bucket del proyecto. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.ZCBucket; ZCBucket bucketDetails = bucket.getDetails(); // retorna los detalles del bucket -------------------------------------------------------------------------------- title: "Obtener CORS del Bucket" description: "Esta página lista el método del Java SDK para obtener la configuración CORS actual del bucket." last_updated: "2026-07-02T09:34:15.899Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/get-bucket-cors/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Stratus Bucket CORS Help Documentation (/es/cloud-scale/help/stratus/stratus-config/bucket-cors/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/get-bucket-cors/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/get-bucket-cors/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Obtener CORS del Bucket El método del SDK getCors() devolverá la configuración CORS actual de un bucket específico en Stratus. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección El CORS de un bucket puede ser editado por cualquier usuario que tenga o al que se le haya otorgado el permiso Write para el componente Stratus en el proyecto, usando la sección Profiles & Permissions. Nota: Puedes obtener más información sobre el CORS de Bucket en esta sección de ayuda. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCStratusCorsResponse; import java.util.List; List&lt;ZCStratusCorsResponse&gt; res = bucket.getCors(); for(ZCStratusCorsResponse cors: res){ System.out.println(cors.getDomain()); } -------------------------------------------------------------------------------- title: "Listar objetos en un Bucket" description: "Esta página lista el método del Java SDK para obtener los objetos almacenados en un bucket." last_updated: "2026-07-02T09:34:15.899Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/list-objects/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/list-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/list-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/get-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/get-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/get-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Listar objetos en un Bucket ### Listar todos los objetos por paginación Este método del SDK te permitirá obtener todos los objetos presentes en un bucket particular por paginación. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección En cada llamada, se devolverá un número limitado de objetos, y la siguiente llamada se iniciará solo si se devuelve un token de continuación. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>maxKey</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el límite máximo de objetos que se pueden listar por paginación.</td> </tr> <tr> <td>nextToken</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el token para obtener el siguiente conjunto de objetos.</td> </tr> <tr> <td>prefix</td> <td>String</td> <td>Un parámetro opcional. Para listar objetos que coincidan con el valor del prefijo.</td> </tr> <tr> <td>orderBy</td> <td>String</td> <td>Un parámetro opcional. Para listar objetos en orden ascendente o descendente. Valor predeterminado: asc</td> </tr> </tbody> </table> La respuesta que obtendremos contendrá las siguientes propiedades del bucket, que se almacenarán en moreOptions: * key count: Contendrá el valor del número de objetos que se están devolviendo * max keys: El límite máximo de objetos que se pueden devolver * Truncated: Contendrá el estado para notificar si un bucket está truncado o no. * contents: Lista de detalles de objetos * continuation_token: Si enviaste un continuation_token en la solicitud, se mostrará en la respuesta. * next_continuation_token: Si la respuesta fue truncada, el valor de esta clave debe pasarse como continuation_token al mismo método para recuperar el siguiente conjunto de objetos. Con cada iteración, listaremos el número maxKey de objetos y verificaremos si se ha creado nextToken. Usando nextToken continuaremos la iteración hasta que se hayan listado todos los objetos. **Asegúrate de que los siguientes paquetes estén importados:** import com.zc.component.stratus.ZCBucket; import com.zc.component.stratus.ZCStratus; import com.zc.component.stratus.beans.ZCListObjectOptions; import com.zc.component.stratus.beans.ZCPagedObjectResponse; import com.zc.component.stratus.ZCObject; String nextToken = null; String maxKey = "10"; String prefix = "Sam"; do { ZCListObjectOptions options = new ZCListObjectOptions(); options.setMaxKey(maxKey); // Por defecto: 1000 options.setContinuationToken(nextToken); // Obtener la siguiente página options.setFolderListing("true"); // Por defecto: false options.setOrderBy("desc"); // Por defecto: "asc" options.setPrefix(prefix); // Opcional ZCPagedObjectResponse res = bucket.listPagedObjects(options); System.out.println("Object count: " + res.getKeyCount()); System.out.println("Max key: " + res.getMaxKey()); System.out.println("Is truncated: " + res.getTruncated()); for (ZCObject key : res.getContents()) { System.out.println("Object name: " + key.getKey()); System.out.println("Content type: " + key.getContentType()); System.out.println("Size: " + key.getSize()); System.out.println("Metadata: " + key.getMetaData()); System.out.println("Version ID: " + key.getVersionId()); System.out.println("ETag: " + key.getEtag()); System.out.println("Object type: " + key.getKeyType()); System.out.println("Cached URL: " + key.getCachedUrl()); } nextToken = res.getNextToken(); } while (nextToken != null); ### Listar objetos mediante iteración Usando este método del SDK, puedes obtener todos los objetos presentes en un bucket en una sola llamada API, usando la técnica de iteración. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección **Asegúrate de que los siguientes paquetes estén importados:** import java.util.Iterator; import com.zc.component.stratus.ZCObject; import com.zc.component.stratus.beans.ZCListObjectOptions; import java.util.List; ZCListObjectOptions options = new ZCListObjectOptions(); options.setFolderListing("true"); // Por defecto: false options.setMaxKey("2"); // Por defecto: 1000 options.setOrderBy("desc"); // Por defecto: "asc" // Obtener lista de objetos iterable Iterable&lt;List&lt;ZCObject&gt;&gt; paginationIterable = bucket.listIterableObjects(options); Iterator&lt;List&lt;ZCObject&gt;&gt; iterator = paginationIterable.iterator(); while (iterator.hasNext()) { List&lt;lZCObject&gt; objectList = iterator.next(); for (ZCObject obj : objectList) { System.out.println(obj.getKey()); } } -------------------------------------------------------------------------------- title: "Verificar disponibilidad de objeto" description: "Esta página lista el método del Java SDK para verificar si un objeto está presente en un bucket." last_updated: "2026-07-02T09:34:15.899Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/check-object-availability/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Objects Help Documentation (/es/cloud-scale/help/stratus/objects/introduction/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/check-object-availability/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/check-object-availability/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Verificar disponibilidad de objeto Usando este método del SDK, puedes verificar si un objeto particular está presente en el bucket, si el usuario tiene los permisos requeridos para acceder al objeto. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección Si has habilitado Versioning para tu bucket, entonces necesitas pasar el versionID como parámetro, para verificar si una versión particular del objeto está disponible. Cuando uses este método del SDK, obtendrás una de las siguientes respuestas: - **true**: Si el objeto está disponible, la versión especificada está disponible, y si el usuario tiene los permisos relevantes para acceder a los objetos. - **false**: - Si el objeto o la versión particular del objeto no está disponible en el bucket. - Si el usuario no tiene los permisos requeridos para acceder al objeto. - Si el bucket no existe. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto.</td> </tr> <tr> <td>versionId</td> <td>String</td> <td>Un parámetro opcional. Contendrá el ID de versión único del objeto, si Versioning está habilitado.</td> </tr> <tr> <td>throwErr</td> <td>Boolean</td> <td>Un parámetro opcional. Si estableces este parámetro como "true", se lanzará un error cuando el objeto no se encuentre en el proyecto. El valor predeterminado es "false"</td> </tr> </tbody> </table> Boolean throwErr = true; Boolean headObjectRes = bucket.headObject("sam/out/sample.txt", "versionId", throwErr); System.out.println(headObjectRes); **Posibles errores** Nota: Si usas el SDK con el parámetro throw_err, y el objeto no existe, o si no tienes permisos suficientes, entonces puedes encontrar cualquiera de los errores listados a continuación. <table class="content-table"> <thead> <tr> <th class="w30p">Código de error</th> <th class="w70p">Significado</th> </tr> </thead> <tbody> <tr> <td>404</td> <td>No encontrado. Objeto no encontrado.</td> </tr> <tr> <td>401</td> <td>No autorizado/Acceso denegado - El usuario no tiene permiso para realizar la operación particular.</td> </tr> <tr> <td>403</td> <td>Permiso denegado - El usuario no tiene permiso para acceder al objeto particular.</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Descargar objeto" description: "Esta página lista el método del Java SDK para descargar objetos de un bucket." last_updated: "2026-07-02T09:34:15.900Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/download-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Download Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/download-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/download-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/download-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/download-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/download-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/download-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Descargar objeto Los SDKs presentes en esta sección te permitirán descargar un objeto particular, o una versión del objeto. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. 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 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, por defecto se descargará la última versión del objeto. Si *Versioning* fue habilitado para un bucket y luego deshabilitado, por defecto se descargará 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". #### Fragmento de código de ejemplo <br> import java.nio.file.Path; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.io.*; InputStream dataStream = bucket.getObject("sam/out/sample.txt"); // descargar el objeto a tu máquina local Path path = Path.of("file_path"); // especificar una ruta para almacenar el objeto descargado Files.copy(dataStream, path, StandardCopyOption.REPLACE_EXISTING); ### Descargar una porción del objeto El siguiente SDK implementa el método setRange(). Este método te permite descargar un rango específico de bytes de un objeto. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCGetObjectOptions; import java.nio.file.Path; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.io.*; // agregar opciones de descarga ZCGetObjectOptions options = ZCGetObjectOptions.getInstance(); options.setVersionId("3yt5ehjbjghds3i28"); options.setRange("20-200"); // rango inicial y final del objeto en bytes InputStream dataStream = bucket.getObject("sam/out/sample.txt", options); // descargar el objeto a tu máquina local Path path = Path.of("file_path"); // especificar una ruta para almacenar el objeto descargado Files.copy(dataStream, path, StandardCopyOption.REPLACE_EXISTING); ### Descargar un objeto usando 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 a tu sistema local. #### Crear instancia de Transfer Manager #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.transfer.ZCTransferManager; ZCTransferManager transferManager= ZCTransferManager.getInstance(bucket); #### Descargar objeto como streams de partes iterables #### Fragmento de código de ejemplo <br> import java.nio.file.StandardOpenOption; import java.nio.file.Files; import java.util.Iterator; import java.nio.file.Path; import java.io.*; Iterable &lt;InputStream&gt; Iterable = transferManager.getIterableObject("sam/out/sample.txt", 100 L); Path path = Path.of("file_path"); Iterator &lt;InputStream&gt; res = Iterable.iterator(); while (res.hasNext()) { InputStream data = res.next(); // obtener cada parte del objeto como stream Files.copy(data, path, StandardCopyOption.REPLACE_EXISTING); // escribir el stream en la ruta de archivo local } #### Generar partes de objeto para descarga En este método del SDK descargaremos una porción del objeto que se encuentra dentro del rango requerido de bytes de inicio y fin. **Parámetros utilizados** * PartSize: Es el tamaño de cada parte en Mb * key: Contendrá el nombre del objeto #### Fragmento de código de ejemplo <br> import java.nio.file.StandardOpenOption; import java.nio.file.Files; import com.zc.component.stratus.beans.ZCStratusGetObject; import java.nio.file.Path; import java.io.*; Path path = Path.of("file_path"); // obtener la lista de funciones de partes List&lt;ZCStratusGetObject&gt; parts = transferManager.generatePartDownloaders("sam/out/sample.txt", 100L); // crear un archivo para almacenar el stream descargado. Files.createFile(path); int partNumber = 1; // ejecutar cada función para descargar las partes del objeto for (ZCStratusGetObject part : parts) { // obtener la parte del objeto como stream InputStream inputStream = part.getPart(); System.out.println("Part "+ partNumber++ + " Downloaded"); // escribir los datos del stream en la máquina local Files.write(path, inputStream.readAllBytes(), StandardOpenOption.APPEND); } ### Generar URL prefirmada para descargar un objeto 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 de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>URL_ACTION</td> <td>Enum</td> <td>Un parámetro obligatorio. Este es el parámetro que te permitirá generar una URL prefirmada para la acción de descarga. <ul> <li>**URL_ACTION.GET**: Para descargar un objeto</li> </ul> </td> </tr> <tr> <td>expiry</td> <td>String</td> <td>Este es un parámetro opcional. El tiempo de validez de la URL en segundos. <ul> <li>Valor predeterminado: 3600 segundos</li> <li>Valor mínimo: 30 segundos</li> <li>Valor máximo: 7 días</li> </ul> </td> </tr> <tr> <td>activeFrom</td> <td>String</td> <td>Este es un parámetro opcional. Este parámetro contendrá el tiempo después del cual la URL es válida. El valor máximo es 7 días. Las URLs se activan tan pronto como se generan por defecto.</td> </tr> </tbody> </table> #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.enums.URL_ACTION; import org.json.simple.JSONObject; JSONObject res = bucket.generatePreSignedUrl("sam/out/sample.txt",URL_ACTION.GET); System.out.println(res.get("signature")); ### Generar URL prefirmada con tiempo de expiración y activación #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.enums.URL_ACTION; import org.json.simple.JSONObject; JSONObject res = bucket.generatePreSignedUrl("object_name",URL_ACTION.GET, "expiry_in","active_from"); System.out.println(res.get("signature")); **Ejemplo de respuesta para generar una URL prefirmada para descarga** { signature: 'https://sadi-development.zoho stratus.com/_signed/text.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747896279887&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=3YBUX1HFSxNQzQJjFrln82AyJsEEuC5T9dsZwWxGyEE' } **Ejemplo de fragmento que ilustra el uso de URL prefirmada para subir un objeto** import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.ResponseBody; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class Download { public static void main(String[] args) throws IOException { // Crear una instancia de OkHttpClient para manejar la solicitud HTTP OkHttpClient client = new OkHttpClient(); // Construir la solicitud GET con la URL pre-firmada Request request1 = new Request.Builder() .url("https://sadi-development.zohostratus.com/_signed/sam.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747905744487&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=pCjV9xckDOqBCueE_gBeMbp12StddTghBK_8HUwU5k0") // Reemplazar con su URL real .build(); // Ejecutar la solicitud y manejar la respuesta try (Response response1 = client.newCall(request1).execute()) { // Verificar si la respuesta fue exitosa if (!response1.isSuccessful()) { throw new IOException("Unexpected code " + response1); } // Obtener el cuerpo de la respuesta como un InputStream ResponseBody body = response1.body(); if (body != null) { // Crear un stream para escribir el archivo en disco try (InputStream in = body.byteStream(); OutputStream out = new FileOutputStream("file_path")) { // Reemplaza file_path con la ruta real // Leer los datos de la respuesta en bloques y escribir en el archivo byte[] buffer = new byte[8192]; int len; while ((len = in.read(buffer)) != -1) { out.write(buffer, 0, len); } // Imprimir confirmación después de descarga exitosa System.out.println("Download complete."); } } } catch (IOException e) { // Imprimir traza de pila si ocurre un error durante la descarga e.printStackTrace(); } } } -------------------------------------------------------------------------------- title: "Subir objeto" description: "Esta página lista el método del Java SDK para subir objetos a un bucket." last_updated: "2026-07-02T09:34:15.900Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/upload-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Upload Object Help Documentation (/es/cloud-scale/help/stratus/objects/upload-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/upload-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/upload-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/upload-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/upload-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/upload-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/upload-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Subir objeto Los métodos del SDK listados en esta sección te permitirán subir objetos al bucket de diversas maneras. Puedes subir objetos como un **string** o como un **stream**. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Si no tienes habilitado Versioning para tu objeto, y si Stratus recibe múltiples solicitudes de escritura para el mismo objeto, el objeto se sobrescribirá continuamente. La última carga del objeto será el único objeto que se almacene. Sin embargo, con Versioning habilitado, cada carga se considerará una versión del objeto, y todas se almacenarán en el bucket, cada una con un versionId único. Nota: Los siguientes caracteres, incluido el espacio, no son compatibles al crear una ruta o un objeto: comillas dobles, ambos corchetes angulares, numeral, barra invertida y símbolo de barra vertical. ### Subir objeto como stream Usando este método del SDK, puedes subir objetos a un bucket como stream. Almacena el stream en una variable y luego pasa esa variable en el método de carga. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCPutObjectOptions; import java.nio.file.Path; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.io.*; InputStream file =new FileInputStream("filePath"); Boolean res = bucket.putObject("sam/out/sample.txt", file); System.out.println(res); ### Subir objeto como string Usando este método del SDK, puedes subir el objeto como un string. Pasarás el nombre del objeto y los datos a almacenar en el objeto en formato string en el método de carga; putObject() #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCPutObjectOptions; import java.nio.file.Path; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.io.*; Boolean res = bucket.putObject("sam/out/sample.txt", "content of the file"); System.out.println(res); ### Subir objeto con opciones Usando este método del SDK, puedes usar las siguientes opciones al subir un objeto. * **setOverwrite()**: Esta es una opción que puedes usar si *Versioning* no está habilitado para tu bucket. Sin versionado, necesitas usar esta opción si deseas sobrescribir un recurso. El valor predeterminado es '**false**'. * **setTTL()**: Esta es una opción que puedes usar para establecer el **Time-to-Live** (TTL) en segundos para un objeto. El valor debe ser mayor o igual a **60 segundos**. * **setMetaData()**: Esta es una opción que puedes usar para subir los detalles de metadatos del objeto que se está subiendo. * **contentType**: Esta es una opción que puedes proporcionar si necesitas establecer el tipo MIME del objeto. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCPutObjectOptions; import java.nio.file.Path; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.Map; import java.io.*; ZCPutObjectOptions options = ZCPutObjectOptions.getInstance(); options.setTTL("1000"); options.setOverwrite("true"); Map&lt;String, String&gt; metaData = new HashMap&lt;String, String&gt;(); metaData.put("author", "John"); options.setMetaData(metaData); InputStream file = new FileInputStream("filePath"); Boolean res = bucket.putObject("sam/out/sample.txt", file, options); System.out.println(res); ### Subir objeto con opción de extracción Cuando subes un objeto comprimido usando el método del SDK putZipObject(), los objetos presentes en el zip se extraerán y se subirán. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.ZCBucket; import com.zc.component.stratus.ZCStratus; import com.zc.component.stratus.beans.ZCPutObjectOptions; ZCStratus stratus = ZCStratus.getInstance(); ZCBucket bucket = stratus.bucketInstance("sam1"); ZCPutObjectOptions options = ZCPutObjectOptions.getInstance(); options.setOverwrite("true"); InputStream stream = new FileInputStream("file_path"); JSONObject object = bucket.putZipObject("sam.zip", stream, options); Este método del SDK devolverá el valor de un taskId. Puedes usar este valor para conocer el estado de la extracción usando este método del SDK. **Ejemplo de respuesta** { 'task_id': '1234263749' } ### Subir un objeto usando operaciones multipart Cuando el objeto que necesitas subir es demasiado grande para subirlo de una vez, puedes realizar una operación multipart. La operación multipart dividirá el objeto en múltiples partes y realizará una carga más rápida. En esta sección del SDK, vamos a revisar todos los métodos del SDK disponibles para realizar la carga multipart de objetos en Stratus. #### Iniciar carga multipart Usando el siguiente método del SDK, vamos a devolver un uploadId. Este ID nos permitirá subir múltiples partes del objeto. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCInitiateMultipartUpload; ZCInitiateMultipartUpload multipart = bucket.initiateMultipartUpload("sam/out/sample.txt"); #### Realizar carga multipart para partes del objeto En el siguiente método del SDK, vamos a realizar cargas de las partes individuales del objeto. Cada parte tendrá un part_number distinto que varía entre **1 y 1000**. Aunque esto representa el ordenamiento de las partes, estas no se subirán necesariamente en secuencia. Estas partes se combinarán en secuencia una vez que la carga de todas las partes del objeto se complete. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre del objeto.</td> </tr> <tr> <td>uploadId</td> <td>String</td> <td>Un parámetro obligatorio. Este valor se devuelve en el método Iniciar carga multipart.</td> </tr> <tr> <td>part</td> <td>InputStream</td> <td>Un parámetro obligatorio. Contendrá los datos de la parte del objeto.</td> </tr> <tr> <td>partNumber</td> <td>Int</td> <td>Un parámetro obligatorio. Tendrá el ordenamiento de las partes que se están subiendo.</td> </tr> </tbody> </table> #### Fragmento de código de ejemplo <br> import java.io.*; int partNumber = 1; InputStream part = new FileInputStream("filePath"); Boolean res = bucket.uploadPart("sam/out/sample.txt", "uploadId", part, partNumber); System.out.println(res); #### Obtener resumen de carga multipart El siguiente método del SDK se puede usar para obtener un resumen operativo de todas las partes subidas. Para ver el resumen, pasamos el uploadId al método getMultipartUploadSummary(). #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCMultipartObjectSummary; ZCMultipartObjectSummary summaryRes = bucket.getMultipartUploadSummary("sam/out/sample.txt", "uploadId"); // acceder a las partes subidas System.out.println("Object Name:" + summaryRes.getKey()); System.out.println("Upload Id:" + summaryRes.getUploadId()); System.out.println("Status:" + summaryRes.getStatus()); System.out.println(summaryRes.getParts().get(0).getUploadedAt()); System.out.println(summaryRes.getParts().get(0).getPartNumber()); #### Completar operación de carga multipart El siguiente método nos permite terminar el proceso multipart una vez que todas las partes se han subido exitosamente. Para completar el proceso, pasaremos el uploadId al método completeMultipartUpload(). Boolean completeRes = bucket.completeMultipartUpload("sam/out/sample.txt", "uploadId"); System.out.println(completeRes); #### Ejemplo de fragmento que ilustra la implementación de operaciones multipart #### Fragmento de código de ejemplo <br> import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.logging.Logger; import java.util.logging.Level; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.catalyst.advanced.CatalystAdvancedIOHandler; import com.zc.component.stratus.ZCBucket; import com.zc.component.stratus.ZCStratus; import com.zc.component.stratus.beans.ZCInitiateMultipartUpload; import com.zc.exception.ZCServerException; import java.io.InputStream; import java.io.FileInputStream; import java.io.ByteArrayInputStream; public class MultipartUpload implements CatalystAdvancedIOHandler { private static final Logger LOGGER = Logger.getLogger(Sample.class.getName()); @Override public void runner(HttpServletRequest request, HttpServletResponse response) throws Exception { try { switch (request.getRequestURI()) { case "/": { ZCStratus stratus = ZCStratus.getInstance(); // obtener instancia del bucket ZCBucket bucket = stratus.bucketInstance("sample"); // subida multiparte String key = "sample.mp4"; InputStream file = new FileInputStream( "/users/sam/sample.mp4"); ZCInitiateMultipartUpload initiateUploadResponse = bucket.initiateMultipartUpload(key); String uploadId = initiateUploadResponse.getUploadId(); System.out.println("Multipart upload initiated. Upload ID: " + uploadId); // Tamaño de archivo y tamaño de parte (50 MB mínimo) int partSize = 50 * 1024 * 1024; // 50 MB long fileSize = file.available(); double result = (double) fileSize / partSize; int noOfParts = (int) Math.ceil(result); // Subir partes en paralelo List&lt;CompletableFuture&lt;Void&gt;&gt; uploadedParts = new ArrayList&lt;&gt;(); ExecutorService executor = Executors.newFixedThreadPool(4); int partNumber = 1; while (noOfParts &gt;= partNumber) { int currentPartNumber = partNumber; byte[] buffer = new byte[partSize]; file.read(buffer); InputStream fileData = new ByteArrayInputStream(buffer); uploadedParts.add(CompletableFuture.runAsync(() -&gt; { try { bucket.uploadPart(key, uploadId, fileData, currentPartNumber); LOGGER.log(Level.INFO, "Part {0} Uploaded", currentPartNumber); } catch (Exception e) { throw new RuntimeException(e); } }, executor)); partNumber++; } CompletableFuture&lt;Void&gt; isUploaded = CompletableFuture .allOf(uploadedParts.toArray(new CompletableFuture[0])); try { isUploaded.get(); } catch (Exception e) { throw new ZCServerException("Error while uploading the object", e); } Boolean completeRes = bucket.completeMultipartUpload(key, uploadId); if (completeRes) { LOGGER.log(Level.INFO, "Upload Completed"); } } default: { response.setStatus(404); response.getWriter().write("You might find the page you are looking for at \"/\" path"); } } } catch (Exception e) { if (e instanceof ZCServerException) { int statusCode = ((ZCServerException) e).getStatus(); System.out.println("HTTP status code: " + statusCode); } LOGGER.log(Level.SEVERE, "Exception in Sample", e); } } } ### Subir un objeto usando Transfer Manager #### Crear instancia de Transfer Manager #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.transfer.ZCTransferManager; ZCTransferManager transferManager= ZCTransferManager.getInstance(bucket); #### Carga multipart **Crear instancia de carga multipart** El siguiente método del SDK creará una instancia multipart iniciando la carga multipart. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCMultipartUpload; ZCMultipartUpload multipart = transferManager.createMultipartInstance("sam/out/sample.txt"); Si necesitas crear una instancia para una operación de carga multipart ya inicializada, entonces copia y usa el siguiente fragmento de código ZCMultipartUpload multipart = transferManager.createMultipartInstance("sam/out/sample.txt", "uploadId"); #### Subir parte En el siguiente método del SDK vamos a usar la instancia multipart que inicializamos en la sección *Crear instancia de carga multipart*. #### Fragmento de código de ejemplo <br> import java.io.InputStream; int partNumber = 1; InputStream part = new FileInputStream("filePath"); Boolean uploadRes = multipart.uploadPart(part, partNumber); System.out.println(uploadRes); #### Resumen de carga #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCMultipartObjectSummary; ZCMultipartObjectSummary summaryRes = multipart.getUploadSummary(); // acceder a las partes subidas System.out.println("Object Name:" + summaryRes.getKey()); System.out.println("Upload Id:" + summaryRes.getUploadId()); System.out.println("Status:" + summaryRes.getStatus()); System.out.println(summaryRes.getParts().get(0).getUploadedAt()); System.out.println(summaryRes.getParts().get(0).getPartNumber()); System.out.println(summaryRes.getParts().get(0).getSize()); #### Completar carga Boolean completeRes = multipart.completeUpload(); System.out.println(completeRes); #### Subir objeto usando wrapper El siguiente método del SDK actúa como un wrapper, donde toda la operación de carga multipart se realiza sin emplear múltiples pasos. Usando este método, el objeto se divide en múltiples partes, se sube al bucket en múltiples partes, y luego se combina una vez que todas las partes se han subido. import java.io.InputStream; import com.zc.component.stratus.beans.ZCMultipartObjectSummary; InputStream file =new FileInputStream("filePath"); int partSize = 50; ZCMultipartObjectSummary res = transferManager.putObjectAsParts("objetName", file, partSize); Nota: Para objetos que son más grandes de 2GB, recomendamos que uses los métodos individuales del SDK para realizar la operación de carga multipart exitosamente. ### Generar URL prefirmada para subir un objeto 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 de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>URL_ACTION</td> <td>Enum</td> <td>Un parámetro obligatorio. Este es el parámetro que te permitirá generar una URL prefirmada para una acción de carga. <ul> <li>**URL_ACTION.PUT**: Para subir un objeto</li> </ul> </td> </tr> <tr> <td>expiry</td> <td>String</td> <td>Este es un parámetro opcional. El tiempo de validez de la URL en segundos. <ul> <li>Valor predeterminado: 3600 segundos</li> <li>Valor mínimo: 30 segundos</li> <li>Valor máximo: 7 días</li> </ul> </td> </tr> <tr> <td>activeFrom</td> <td>String</td> <td>Este es un parámetro opcional. Este parámetro contendrá el tiempo después del cual la URL es válida. El valor máximo es 7 días. Las URLs se activan tan pronto como se generan por defecto.</td> </tr> </tbody> </table> #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.enums.URL_ACTION; import org.json.simple.JSONObject; JSONObject res = bucket.generatePreSignedUrl("sam/out/sample.txt", URL_ACTION.PUT); System.out.println(res.get("signature")); ### Generar URL prefirmada con tiempo de expiración y activación #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.enums.URL_ACTION; import org.json.simple.JSONObject; JSONObject res = bucket.generatePreSignedUrl("object_name",URL_ACTION.GET, "expiry_in","active_from"); System.out.println(res.get("signature")); **Ejemplo de respuesta para generar una URL prefirmada para carga** { "signature": "https://sadi-development.zohostratus.com/_signed/sam.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747904989454&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=UPyH5A4AdAaCpw6S6jVhKFSxg3B0B0p619YN0cAIn4c", "expiry_in_seconds": "100", "active_from": "1726492859577" } **Ejemplo de fragmento que ilustra el uso de URL prefirmada para subir un objeto** import okhttp3.*; import java.io.File; import java.io.IOException; public class BinaryFileUpload { public static void main(String[] args) throws IOException { // Crear una instancia de OkHttpClient para realizar solicitudes HTTP OkHttpClient client = new OkHttpClient(); // Especificar el archivo a subir. Reemplazar "file_path" con la ubicación real del archivo File file = new File("file_path"); // Crear el cuerpo de la solicitud con contenido binario (octet-stream) RequestBody requestBody = RequestBody.create( MediaType.parse("application/octet-stream"), // Usar un tipo MIME específico si se conoce file ); // ️ Construir la solicitud PUT con la URL pre-firmada Request request = new Request.Builder() .url("https://sadi-development.zohostratus.com/_signed/sam.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747904989454&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=UPyH5A4AdAaCpw6S6jVhKFSxg3B0B0p619YN0cAIn4c") // Reemplazar con una URL real .put(requestBody) // Solicitud PUT para subir archivo .build(); // Ejecutar la solicitud y manejar la respuesta try (Response response = client.newCall(request).execute()) { if (response.isSuccessful()) { System.out.println("Object uploaded successfully"); } else { // Imprimir error si la subida falla System.err.println("Error: " + response.code() + " - " + response.body().string()); } } } } -------------------------------------------------------------------------------- title: "Extraer un objeto comprimido" description: "Esta página lista el método del Java SDK para extraer un objeto comprimido." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/extract-zipped-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/extract-zipped-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/extract-zipped-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Extraer un objeto comprimido El siguiente método del SDK te permitirá extraer un archivo zip dentro de Stratus, y cada contenido individual presente en el archivo zip se considerará como un objeto individual y se subirá a Stratus en el mismo bucket. Todo este proceso ocurrirá *de forma asíncrona*. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección Nota: Dado que el proceso de extracción ocurre de forma asíncrona, el tiempo en que se completa todo el proceso depende del tamaño del archivo zip que se está extrayendo. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Será el nombre del archivo zip que necesitas extraer</td> </tr> <tr> <td>destination</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá la información completa de la ruta del destino, donde los objetos extraídos se almacenarán en el bucket.</td> </tr> </tbody> </table> #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCStratusZipExtractResponse; ZCStratusZipExtractResponse res = bucket.unzipObject("sam/out/sample.zip","output/"); System.out.println(res.getObjectName()); System.out.println(res.getTaskId()); ### Obtener estado de extracción de zip El proceso de extracción de zip ocurre de forma asíncrona, y el tiempo que toma completar el proceso de extracción depende en gran medida del tamaño del archivo zip. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección Usando el parámetro taskId, en el siguiente método del SDK, podemos determinar el estado de la extracción. El taskId se devuelve en la respuesta del método unzipObject(). #### Fragmento de código de ejemplo <br> import org.json.simple.JSONObject; JSONObject res = object.getUnzipStatus("sam/out/sample.zip","taskId"); System.out.println(res); #### Ejemplo de respuesta { "task_id": "6963000000272049", "status": "SUCCESS" } -------------------------------------------------------------------------------- title: "Copiar objeto" description: "Esta página lista el método del Java SDK para hacer una copia de un objeto dentro de su propio bucket." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/copy-objects/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/copy-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/copy-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Copiar objeto Usando este método del SDK, puedes copiar un objeto y pegarlo dentro de un bucket. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección El key será el objeto que vas a copiar, y el destination contendrá el nuevo nombre del objeto copiado. Para pegar el objeto copiado en una ruta diferente, necesitas proporcionar el nombre completo de la ruta como destination. Nota: * Necesitas proporcionar el nombre completo del objeto, junto con la ruta para ambos valores de key y destination. * Por ejemplo, si tienes un archivo llamado "kitten.png" en la ruta pictures/puppy, y necesitas copiar el archivo a la ruta pictures/kitten, entonces: <br /> El valor de key será 'pictures/puppy/kitten.png'<br /> El valor de destination será 'pictures/kitten/kitten.png'<br /> #### Fragmento de código de ejemplo <br> import org.json.simple.JSONObject; JSONObject copyRes = bucket.copyObject("sam/out/sample.txt", "output/sample.txt") System.out.println(copyRes); #### Ejemplo de respuesta { "copy_to": "output/sample.txt", "object_key": "sam/out/sample.txt", "message": "Object copied successfully." } -------------------------------------------------------------------------------- title: "Operaciones de renombrar y mover un objeto" description: "Esta página lista el método del Java SDK para realizar operaciones de renombrar y mover un objeto." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/rename-move-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/rename-move-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/rename-move-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Operaciones de renombrar y mover un objeto Para renombrar y mover un objeto, usaremos el mismo método del SDK renameObject(). ### Renombrar un objeto Usando el método del SDK renameObject() puedes renombrar objetos presentes en un bucket. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección Nota: Los siguientes caracteres, incluido el espacio, no son compatibles al crear una ruta o un objeto: comillas dobles, ambos corchetes angulares, numeral, barra invertida y símbolo de barra vertical. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>El nombre original del objeto que necesitas renombrar</td> </tr> <tr> <td>destination</td> <td>String</td> <td>El nuevo nombre con el que renombras el objeto</td> </tr> </tbody> </table> #### Fragmento de código de ejemplo <br> import org.json.simple.JSONObject; JSONObject res = bucket.renameObject("sam/out/sample.txt", "sam/out/update_sample.txt"); System.out.println(res); Nota: No puedes renombrar objetos en un bucket que tiene Versioning habilitado. ### Mover un objeto Usando el método del SDK renameObject(), podemos mover el objeto de una ruta a otra dentro de un bucket. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>El nombre completo y la ruta del objeto que necesitas mover.</td> </tr> <tr> <td>destination</td> <td>String</td> <td>El nombre completo y la nueva ruta del objeto.</td> </tr> </tbody> </table> Nota: * Necesitas proporcionar el nombre completo del objeto, junto con la ruta para ambos valores de key y destination. * Por ejemplo, si tienes un archivo llamado "kitten.png" en la ruta pictures/puppy, y necesitas mover el archivo a la ruta pictures/kitten, entonces: <br /> El valor de key será 'pictures/puppy/kitten.png'<br /> El valor de destination será 'pictures/kitten/kitten.png'<br /> #### Fragmento de código de ejemplo <br> import org.json.simple.JSONObject; JSONObject res = bucket.renameObject("sam/out/sample.txt", "output/sample.txt"); System.out.println(res);<br /> Nota: No puedes realizar operaciones de mover en un bucket que tiene Versioning habilitado. -------------------------------------------------------------------------------- title: "Eliminar objetos" description: "Esta página lista el método del Java SDK para eliminar objetos almacenados en un bucket." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/delete-objects/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Delete an Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/delete-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/delete-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/delete-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/delete-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Eliminar objetos Los siguientes métodos del SDK te permitirán realizar operaciones de eliminación en Stratus. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>versionId</td> <td>String</td> <td>Un parámetro opcional. Si Versioning está habilitado para tu bucket, entonces este parámetro te ayudará a hacer referencia a una versión particular usando su ID de versión único.</td> </tr> <tr> <td>ttl</td> <td>int</td> <td>Un parámetro opcional. Te permite programar tus operaciones de eliminación. Por ejemplo, si proporcionas el valor de ttl como 60, la operación de eliminación solo ocurrirá después de 60 segundos. El valor de ttl debe ser >= 60 segundos.</td> </tr> </tbody> </table> ### Eliminar un solo objeto Usando este método del SDK, puedes eliminar un objeto particular pasando el nombre del objeto al método deleteObject(). Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección #### Fragmento de código de ejemplo <br> import org.json.simple.JSONObject; int ttl = 200; //tiempo de vida en segundos JSONObject deleteRes = bucket.deleteObject("sam/out/sample.txt", "versionId", ttl); System.out.println(deleteRes); Nota: Si Versioning está habilitado en el bucket y no se proporciona un versionId específico, eliminar un objeto eliminará todas las versiones de ese objeto por defecto. ### Eliminar múltiples objetos Usando este método del SDK, puedes eliminar múltiples objetos pasando los nombres de los objetos que necesitan ser eliminados como un arreglo. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección Asegúrate de proporcionar el versionId del objeto si habilitaste Versioning para tu bucket. También puedes programar tu operación de eliminación usando la variable ttl. Por ejemplo, si proporcionas el valor de ttl como **60**, la operación de eliminación solo ocurrirá después de **60 segundos**. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.beans.ZCDeleteObjectRequest; import org.json.simple.JSONObject; ZCDeleteObjectRequest deleteRequest = ZCDeleteObjectRequest.getInstance(); deleteRequest.setObject("sam/out/sample.txt", "76dhe7yr738rud"); deleteRequest.setObject("sam/out/add.txt", "cjdhf73673g7yt7d"); deleteRequest.setTTL(70); JSONObject res = bucket.deleteObjects(deleteRequest); System.out.println(res); ### Truncar Bucket Usando este método del SDK podrás eliminar esencialmente cada uno de los objetos presentes en el bucket. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección #### Fragmento de código de ejemplo <br> import org.json.simple.JSONObject; JSONObject truncateRes = bucket.truncate(); System.out.println(truncateRes); ### Eliminar una ruta en el Bucket Usando este SDK, podrás eliminar todos los objetos presentes en una ruta. Necesitas pasar la ruta completa al método deletePath(). Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección #### Fragmento de código de ejemplo <br> import org.json.simple.JSONObject; JSONObject res = bucket.deletePath("sam/"); System.out.println(res); Nota: Asegúrate de proporcionar la ruta exacta. Si se proporciona una ruta incorrecta, la acción de eliminación se programará, pero resultará en un error. -------------------------------------------------------------------------------- title: "Crear instancia de objeto" description: "Esta página lista el método del Java SDK para crear una instancia de objeto." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/create-object-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-object-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-object-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de objeto Usa el siguiente método para obtener una instancia de objeto y realizar operaciones relacionadas con objetos. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.ZCObject; ZCObject object = bucket.getObjectInstance("sam/out/sample.txt"); -------------------------------------------------------------------------------- title: "Listar versiones de un objeto" description: "Esta página lista el método del Java SDK para obtener versiones de un objeto." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/list-object-versions/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Object Versioning Help Documentation (/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/get-object-versions/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/get-object-versions/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Listar versiones de un objeto ### Listar todas las versiones de un objeto Habilitar Versioning en un bucket te permite almacenar múltiples versiones del mismo objeto en el bucket. Cada versión del objeto tendrá su propio versionId. Este método del SDK te permite obtener todas las versiones existentes de un objeto presente en un bucket mediante paginación. La referencia de Object utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>nextToken</td> <td>String</td> <td>Contendrá el valor para determinar el siguiente conjunto de versiones.</td> </tr> <tr> <td>maxVersion</td> <td>int</td> <td>Un parámetro opcional. Contendrá el valor del número máximo de versiones del objeto que se pueden listar por iteración.</td> </tr> </tbody> </table> #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.ZCBucket; import com.zc.component.stratus.ZCStratus; import com.zc.component.stratus.ZCPagedObjectResponse; import com.zc.component.stratus.ZCObject; import com.zc.component.stratus.beans.ZCObjectVersions; import com.zc.component.stratus.beans.ZCObjectVersions.ZCVersionDetail; import java.util.List; String nextToken = null; int maxVersion = 5; do { ZCObjectVersions res = object.listPagedVersions(maxVersion, nextToken); System.out.println(res.getVersion()); for(ZCVersionDetail version : res.getVersion()) { System.out.println("version id: "+version.getVersionId()); } nextToken = res.getNextToken(); } while(nextToken != null); ### Listar todas las versiones del objeto de manera iterable Puedes usar el siguiente método del SDK para listar todas las versiones disponibles del objeto en una sola llamada. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección #### Fragmento de código de ejemplo <br> import java.util.Iterator; import com.zc.component.stratus.beans.ZCObjectVersions; import com.zc.component.stratus.beans.ZCObjectVersions.ZCVersionDetail; int maxVersion = 10; Iterable&lt;List&lt;ZCVersionDetail&gt;&gt; paginationIterable=object.listIterableVersions(maxVersion); Iterator&lt;List&lt;ZCVersionDetail&gt;&gt; iterator = paginationIterable.iterator(); while(iterator.hasNext()) { List&lt;ZCVersionDetail&gt; objects= iterator.next(); for(ZCVersionDetail object: objects){ System.out.println(object.getVersionId()); } } -------------------------------------------------------------------------------- title: "Obtener detalles de un objeto" description: "Esta página lista el método del Java SDK para obtener detalles de objetos almacenados en un bucket." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/object-details/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Objects Help Documentation (/es/cloud-scale/help/stratus/objects/introduction/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/object-details/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/object-details/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/cloud-scale/help/stratus/introduction) - Android SDK (/es/cloud-scale/help/stratus/introduction) - Flutter SDK (/es/cloud-scale/help/stratus/introduction) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Obtener detalles de un objeto ### Obtener detalles de un objeto Usando este método del SDK, podrás obtener todos los detalles de un objeto y todas sus versiones. La referencia de Object utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.ZCObject; ZCObject objectRes = object.getDetails(); System.out.println(objectRes); Nota: Si Versioning está habilitado, usar este método del SDK solo devolverá los detalles del objeto de la versión más reciente. ### Obtener detalles de una versión particular del objeto Usando este método del SDK, podrás obtener todos los detalles de una versión particular de un objeto. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>versionId</td> <td>String</td> <td>Un parámetro opcional. Si Versioning está habilitado para tu bucket, este parámetro te ayudará a referirte a una versión particular usando su Version ID único.</td> </tr> </tbody> </table> #### Fragmento de código de ejemplo <br> import com.zc.component.stratus.ZCObject; ZCObject objectRes = object.getDetails("versionId"); System.out.println(objectRes); Nota: Puedes obtener los detalles de la versión más reciente del objeto pasando el valor del parámetro como topVersion. -------------------------------------------------------------------------------- title: "Agregar metadatos de un objeto" description: "Esta página lista el método del Java SDK para agregar metadatos a un objeto almacenado en el objeto." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/cloud-scale/stratus/put-object-meta/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Object Metadata Help Documentation (/es/cloud-scale/help/stratus/objects/introduction/#metadata) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/put-object-meta/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/put-object-meta/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Agregar metadatos de un objeto Usando el siguiente método del SDK, puedes agregar detalles de metadatos para un objeto particular almacenado en un bucket en Stratus. La referencia de Object utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección Los detalles de metadatos se pasarán como pares clave-valor JSON. Por ejemplo, {"meta_key" : "meta_value"} Nota: * Puedes usar caracteres alfanuméricos, guiones bajos o espacios en blanco, así como guiones, para escribir tus metadatos. No se permite ningún otro carácter especial aparte de los mencionados. * Puedes obtener los metadatos de un objeto usando el método de solicitud **HEAD**. En la respuesta, los metadatos se listarán en la clave 'x-user-meta'. * El límite máximo de tamaño de caracteres permitido para los metadatos en general es de **2047** caracteres. El conteo de caracteres utilizado para determinar el límite de tamaño también incluye el carácter especial de dos puntos ":" utilizado para definir el par clave-valor. #### Fragmento de código de ejemplo <br> import org.json.simple.JSONObject; import java.util.HashMap; HashMap&lt;String, String&gt; objectMeta = new HashMap&lt;&gt;(); objectMeta.put("key1", "value1"); objectMeta.put("key2", "value2"); JSONObject res = object.putMeta(objectMeta); System.out.println(res); Nota: Usar este método para pasar nuevos detalles de metadatos sin agregar los detalles existentes eliminará los detalles existentes y solo colocará los nuevos detalles. Para evitar esto, pasa los nuevos detalles de metadatos junto con los detalles de metadatos existentes. **Respuesta de ejemplo** { "message": "Metadata added successfully" } --- ## SDK — Node JS — Stratus -------------------------------------------------------------------------------- title: "Descripción general" description: "Esta página enumera todos los métodos del SDK de Node.js necesarios para realizar operaciones de Stratus a través de código." last_updated: "2026-07-02T09:34:15.902Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/overview/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Stratus ## Descripción general Cloud Scale Stratus es la solución de almacenamiento robusta y potente de Catalyst. Puedes almacenar datos de cualquier formato en forma de objetos en contenedores llamados Buckets. Cada Bucket y cada objeto individual en el bucket tiene una URL de objeto y una URL de Bucket seguras. Puedes realizar operaciones de carga y descarga en objetos e incluso proporcionar permisos personalizados para cada objeto. La siguiente tabla contiene la lista de todos los SDKs de Catalyst que se pueden utilizar para realizar operaciones de Stratus a través de código. <table class="content-table"> <thead> <tr> <th class="w30p">Categoría</th> <th class="w70p">Método del SDK</th> </tr> </thead> <tbody> <tr> <td>Operaciones generales de Stratus</td> <td> <ul> <li>Create Stratus Instance</li> <li>Check Bucket Availability</li> <li>List Buckets</li> </ul> </td> </tr> <tr> <td>Operaciones de Bucket</td> <td> <ul> <li>Create Bucket Instance</li> <li>Get Bucket Details</li> <li>Get Bucket CORS</li> <li>List Objects in a Bucket <ul> <li>List all Objects by Pagination</li> <li>List Objects Through Iteration</li> </ul> </li> <li>Check Object Availability</li> <li>Download Object <ul> <li>Download an Object</li> <li>Download a Portion of the Object</li> <li>Download an Object Using Transfer Manager</li> <li>Generate Presigned URL to Download an Object</li> </ul> </li> <li>Upload Object <ul> <li>Upload Object as a Stream</li> <li>Upload Object as a String</li> <li>Upload Object with Options</li> <li>Upload Object Using Multipart</li> <li>Upload an Object Using Transfer Manager</li> <li> Generate Presigned URL to Upload an Object</li> </ul> </li> <li>Extract a Zipped Object In Stratus <ul> <li>Get Zip Extraction Status</li> </ul> </li> <li>Copy Object</li> <li>Rename and Move Operations on an Object</li> <li>Delete Objects <ul> <li>Delete a Single Object</li> <li>Delete a Specific Version of an Object after a Specific Time</li> <li>Delete Multiple Objects</li> <li>Truncate Bucket</li> <li>Delete a Path in the Bucket</li> </ul> </li> </ul> </td> </tr> <tr> <td>Operaciones de objeto</td> <td> <ul> <li>Create Object Instance</li> <li>List Object Versions <ul> <li>List All Versions of an Object Through Pagination</li> <li>List All Versions of the Object Through Iteration</li> </ul> </li> <li>Get Object Details <ul> <li>Get Details of All Objects</li> <li>Get Details of a Particular Version of the Object</li> </ul> </li> <li>Put Object Meta Data</li> </ul> </td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Crear instancia de Stratus" description: "Esta página enumera el método del SDK de Node.js para crear una instancia de Stratus." last_updated: "2026-07-02T09:34:15.902Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/create-stratus-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-stratus-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-stratus-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de Stratus Puedes obtener la referencia del componente stratus como se muestra a continuación. Esto no realizará una llamada del lado del servidor. Haremos referencia a esta instancia del componente en varios fragmentos de código para trabajar con Stratus. // Obtener una instancia de Stratus const stratus = app.stratus(); -------------------------------------------------------------------------------- title: "Verificar disponibilidad de Bucket" description: "Esta página enumera el método del SDK de Node.js para verificar si el bucket existe en tu proyecto." last_updated: "2026-07-02T09:34:15.902Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/check-bucket/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/check-bucket/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/check-bucket/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/check-bucket/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Verificar disponibilidad de Bucket Usando el método del SDK headBucket(), puedes verificar la existencia de un bucket en Stratus, y además verificar si el usuario tiene los permisos relevantes para acceder a los objetos presentes en el bucket. La referencia de Stratus utilizada en el fragmento de código a continuación es la instancia del componente. Respuestas posibles al usar este SDK: * Si el bucket existe y si el usuario tiene los permisos relevantes para acceder al bucket, se devolverá la respuesta '**true**'. * Si el bucket no existe, o si el usuario no tiene permiso para acceder al bucket, se devolverá la respuesta '**false**'. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>bucketName</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre único del bucket.</td> </tr> <tr> <td>throwErr</td> <td>Boolean</td> <td>Un parámetro opcional. Si estableces este parámetro como "true", entonces lanzará un error cuando el bucket no se encuentre en el proyecto. El valor predeterminado es "false"</td> </tr> </tbody> </table> const headBucketResponse = await stratus.headBucket('bucketName'); // verificar si el bucket está disponible en Stratus console.log(headBucketResponse); **Errores posibles** Nota: Si usas el SDK con el parámetro throw_err, y el bucket no existe, o si no tienes permisos suficientes, entonces puedes encontrar cualquiera de los errores listados a continuación. <table class="content-table"> <thead> <tr> <th class="w30p">Código de error</th> <th class="w70p">Significado</th> </tr> </thead> <tbody> <tr> <td>404</td> <td>No encontrado. Bucket no encontrado en Stratus.</td> </tr> <tr> <td>401</td> <td>No autorizado/Acceso denegado - El usuario no tiene permiso para realizar la operación particular.</td> </tr> <tr> <td>403</td> <td>Permiso denegado - El usuario no tiene permiso para acceder al bucket particular.</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Listar Buckets" description: "Esta página enumera el método del SDK de Node.js para listar los buckets creados en tu proyecto." last_updated: "2026-07-02T09:34:15.902Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/list-buckets/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/list-buckets/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/list-buckets/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Listar Buckets El siguiente método del SDK devolverá todos los buckets presentes en el proyecto. La referencia de Stratus utilizada en el fragmento de código a continuación es la instancia del componente. const responses= await stratus.listBuckets(); // retorna todos los buckets console.log(responses); Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección #### Respuesta de ejemplo [ { "bucket_name": "zcstratus122", "project_details": { "project_name": "Learn", "id": "6759000000014001", "project_type": "Live" }, "created_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "created_time": "Mar 26, 2024 12:44 PM", "modified_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "modified_time": "Mar 30, 2024 11:38 AM", "bucket_meta": { "versioning": "False", "caching": { "status": "Enabled", "delivery_point_id": "01ht6zj7k536c29ymsgfeky1mg" }, "encryption": "False", "audit_consent": "False" }, "bucket_url": "https://zcstratus122-development.zohostratus.com" }, { "bucket_name": "zcstratus12345", "project_details": { "project_name": "Learn", "id": "6759000000014001", "project_type": "Live" }, "created_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "created_time": "Mar 13, 2024 05:51 PM", "modified_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "modified_time": "Apr 18, 2024 12:44 PM", "bucket_meta": { "versioning": "True", "caching": { "status": "Enabled", "delivery_point_id": "01hrxy25tv1vex73qhm85g88bf" }, "encryption": "False", "audit_consent": "False" }, "bucket_url": "https://zcstratus12345-development.zohostratus.com" } ] -------------------------------------------------------------------------------- title: "Crear instancia de Bucket" description: "Esta página enumera el método del SDK de Node.js para crear una instancia de bucket." last_updated: "2026-07-02T09:34:15.902Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Create a Bucket Help Documentation (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-bucket-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-bucket-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de Bucket Para realizar operaciones a nivel de bucket, necesitas crear una instancia de bucket. Haremos referencia a esta instancia del componente en varios fragmentos de código para trabajar con Buckets en Stratus. const bucket = stratus.bucket("bucketName"); -------------------------------------------------------------------------------- title: "Obtener detalles de Bucket" description: "Esta página enumera el método del SDK de Node.js para obtener todos los detalles posibles de un bucket." last_updated: "2026-07-02T09:34:15.902Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/get-bucket-details/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Create a Bucket Help Documentation (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-bucket-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-bucket-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Obtener detalles de Bucket El siguiente método del SDK te permitirá obtener todos los detalles disponibles de un bucket particular. La referencia de Bucket utilizada en el fragmento de código a continuación es la instancia del componente. const buckets = await bucket.getDetails(); // obtener detalles de un bucket dado console.log(buckets); #### Respuesta de ejemplo { "bucket_name": "zcstratus122", "project_details": { "project_name": "Learn", "id": "6759000000014001", "project_type": "Live" }, "created_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "created_time": "Mar 26, 2024 12:44 PM", "modified_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "modified_time": "Mar 30, 2024 11:38 AM", "bucket_meta": { "versioning": "False", "caching": { "status": "Enabled", "delivery_point_id": "01ht6zj7k536c29ymsgfeky1mg" }, "encryption": "False", "audit_consent": "False" }, "bucket_url": "https://zcstratus122-development.zohostratus.com", "caching_url": "https://zcstratus122-development.nimbuslocaledge.com", "objects_count": "74", "size_in_bytes": "925906411" } -------------------------------------------------------------------------------- title: "Obtener CORS de Bucket" description: "Esta página enumera el método del SDK de Node.js para obtener la configuración CORS actual del bucket." last_updated: "2026-07-02T09:34:15.903Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/get-bucket-cors/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Stratus Bucket CORS Help Documentation (/es/cloud-scale/help/stratus/stratus-config/bucket-cors/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/get-bucket-cors/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/get-bucket-cors/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Obtener CORS de Bucket El método del SDK getCors() devolverá la configuración CORS actual de un bucket específico en Stratus. La referencia de Bucket utilizada en el fragmento de código a continuación es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección El CORS de un bucket puede ser editado por cualquier usuario que tenga o al que se le haya otorgado permiso de Write para el componente Stratus en el proyecto, usando la sección de Perfiles y Permisos. Nota: Puedes obtener más información sobre CORS de Bucket en esta sección de ayuda. const cors = await bucket.getCors(); console.log(cors); -------------------------------------------------------------------------------- title: "Listar objetos en un Bucket" description: "Esta página enumera el método del SDK de Node.js para listar los objetos almacenados en un bucket." last_updated: "2026-07-02T09:34:15.903Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/list-objects/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/list-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/list-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/get-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/get-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/get-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Listar objetos en un Bucket ### List all Objects by Pagination Este método del SDK te permitirá obtener una lista de todos los objetos presentes en un bucket particular mediante paginación. La referencia de Bucket utilizada en el fragmento de código a continuación es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección Para cada llamada, se devolverá un número limitado de objetos, y la siguiente llamada se iniciará solo si se devuelve un token de continuación. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>maxKey</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el límite máximo de objetos que se pueden listar por paginación.</td> </tr> <tr> <td>nextToken</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el token para obtener el siguiente conjunto de objetos.</td> </tr> <tr> <td>prefix</td> <td>String</td> <td>Un parámetro opcional. Para listar objetos que coincidan con el valor del prefijo.</td> </tr> <tr> <td>orderBy</td> <td>String</td> <td>Un parámetro opcional. Para listar objetos en orden ascendente o descendente. Valor predeterminado: asc</td> </tr> <tr> <td>folderListing</td> <td>String</td> <td>Un parámetro opcional. Para elegir listar solo los objetos del nivel raíz en el bucket o listar todos los objetos presentes en todas las rutas del bucket. Valor predeterminado: false<br />Por ejemplo, si estableces el valor como true; solo se listarán los objetos del nivel raíz. Si estableces el valor como false; se listarán todos los objetos presentes en todas las rutas del bucket </td> </tr> </tbody> </table> En el siguiente método del SDK, se establece un valor máximo de paginación usando maxKey. Usando prefix, puedes listar objetos que solo coincidan con el prefix. La respuesta que obtenemos contendrá las siguientes propiedades del bucket, que se almacenarán en moreOptions: * key count: Contendrá el valor del número de objetos que se están devolviendo * max keys: El límite máximo de objetos que se pueden devolver * Truncated: Contendrá el estado para notificar si un bucket está truncado o no. * contents: Lista de detalles de objetos * continuation_token: Si enviaste un continuation_token en la solicitud, se mostrará en la respuesta. * next_continuation_token: Si la respuesta fue truncada, el valor de esta clave debe pasarse como continuation_token al mismo método para recuperar el siguiente conjunto de objetos. Con cada iteración, listaremos el número de objetos maxKey y verificaremos si se ha creado nextToken. Usando nextToken continuaremos la iteración hasta que todos los objetos hayan sido listados. async function listMyPaginatedObjects(maxKeys = null, prefix = null, nextToken = null) { const options = { // Número máximo de claves a devolver en una llamada maxKeys, // Token para obtener la siguiente página de objetos continuationToken: nextToken, // Orden en que se listan los objetos: 'asc' o 'desc' // orderBy: 'desc', // Si listar objetos en una estructura tipo carpeta (true) o estructura plana (false) // folderListing: 'true', // Solo listar objetos con este prefijo prefix }; // Obtener una página de objetos const objects = await bucket.listPagedObjects(options); console.log("response:", objects.contents); // Si hay más objetos disponibles, obtener recursivamente el siguiente conjunto if (objects.truncated) { listMyPaginatedObjects(maxKeys, prefix, objects.next_continuation_token); } } // Llamada inicial para listar objetos con un máximo de 2 claves por página y prefijo "sam" await listMyPaginatedObjects(5, "sam"); #### Respuesta de ejemplo { "prefix": "sam", "key_count": "5", "max_keys": "5", "truncated": "True", "next_continuation_token": "47VrqTzR9ukMF9gr8YcziVVzdRP5GCjq1NfM5fMBpMfvw5qcXFRSueuqCTRUCzNd9dHfquXHi2afDanLH6MbyJo6", "contents": [ { "key_type": "file", "key": "sam1s2ww.mp4", "size": "427160684", "content_type": "video/mp4", "etag": "78c2b173b56cd944e9c79abd601f6073", "last_modified": "May 21, 2024 01:00 PM" }, { "key_type": "file", "key": "samdm.txt", "size": "23", "content_type": "text/plain; charset=utf-8", "etag": "c0122754f465e42eb97b5af174663c29", "last_modified": "May 14, 2024 01:30 PM" }, { "key_type": "file", "key": "samplvbse1.json", "size": "8", "content_type": "application/json", "etag": "499e7dbaee453352a9c17407a676dbda", "last_modified": "May 13, 2024 10:05 AM" }, { "key_type": "file", "key": "samplse1.json", "size": "8", "content_type": "application/json", "etag": "499e7dbaee453352a9c17407a676dbda", "last_modified": "May 13, 2024 09:20 AM" }, { "key_type": "file", "key": "sampjkhdldbed.mp4", "size": "0", "content_type": "video/mp4", "etag": "d41d8cd98f00b204e9800998ecf8427e", "last_modified": "May 12, 2024 10:54 PM" } ] } <br> ### List Objects Through Iteration Usando este método del SDK, puedes listar todos los objetos presentes en un bucket en una sola llamada API, usando la técnica de iteración. Usando la variable maxKey, puedes acceder al número requerido de objetos. Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección const options = { // Número máximo de objetos devueltos por solicitud maxKeys: 5, // Orden en que se listan los objetos: 'asc' o 'desc' // orderBy: 'desc', // Si listar objetos en una estructura tipo carpeta (true) o estructura plana (false) // folderListing: 'true', // Solo listar objetos que comiencen con el prefijo especificado prefix: 's' }; // Listar archivos iterables del bucket const files = bucket.listIterableObjects(options); for await (const file of files) { console.log('file:', file); } #### Respuesta de ejemplo { "key_type": "file", "key": "ssdgs.mp4", "size": "3145728", "content_type": "video/mp4", "etag": "9685b8d5b8b719274bac854b897d95ec", "last_modified": "May 21, 2024 03:49 PM" } { "key_type": "file", "key": "Sasss.mp4", "size": "2674", "content_type": "video/mp4", "etag": "24c1122087e9be930ff1e957e83f5224", "last_modified": "May 21, 2024 02:55 PM" } { "key_type": "file", "key": "Samfplessss.mp4", "size": "2674", "content_type": "video/mp4", "etag": "24c1122087e9be930ff1e957e83f5224", "last_modified": "May 21, 2024 02:52 PM" } { "key_type": "file", "key": "demo.mp4", "size": "3400", "content_type": "video/mp4", "etag": "24e957e83f5224c1122087e9be930ff1", "last_modified": "May 21, 2024 02:52 PM" } { "key_type": "file", "key": "performance.mp4", "size": "1454", "content_type": "video/mp4", "etag": "087e9be930ff124c1122e957e83f5224", "last_modified": "May 21, 2024 02:52 PM" } -------------------------------------------------------------------------------- title: "Verificar disponibilidad de objeto" description: "Esta página enumera el método del SDK de Node.js para verificar si un objeto está presente en un bucket." last_updated: "2026-07-02T09:34:15.903Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/check-object-availability/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/check-object-availability/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/check-object-availability/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Verificar disponibilidad de objeto Usando este método del SDK, puedes verificar si un objeto particular está presente en el bucket, si el usuario tiene los permisos requeridos para acceder al objeto. La referencia de Bucket utilizada en el fragmento de código a continuación es la instancia del componente. Si has habilitado el Versionado para tu bucket, entonces necesitas pasar el versionID como parámetro, para verificar si una versión particular del objeto está disponible. Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección Cuando usas este método del SDK, obtendrás cualquiera de las siguientes respuestas: - **true**: Si el objeto está disponible, la versión especificada está disponible, y si el usuario tiene los permisos relevantes para acceder a los objetos. - **false**: - Si el objeto o la versión particular del objeto no está disponible en el bucket. - Si el usuario no tiene los permisos requeridos para acceder al objeto. - Si el bucket no existe. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>objectName</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto.</td> </tr> <tr> <td>versionId</td> <td>String</td> <td>Un parámetro opcional. Contendrá el ID de versión único del objeto, si el Versionado está habilitado.</td> </tr> <tr> <td>throwErr</td> <td>Boolean</td> <td>Un parámetro opcional. Si estableces este parámetro como "true", entonces lanzará un error cuando el bucket no se encuentre en el proyecto. El valor predeterminado es "false"</td> </tr> </tbody> </table> const options = { versionId: 'djkfhdiufy762', throwErr: false }; const headObjectRes = await bucket.headObject("sam/out/sample.txt", options); console.log(headObjectRes); **Errores posibles** Nota: Si usas el SDK con el parámetro throwErr, y el objeto no existe, o si no tienes permisos suficientes, entonces puedes encontrar cualquiera de los errores listados a continuación. <table class="content-table"> <thead> <tr> <th class="w30p">Código de error</th> <th class="w70p">Significado</th> </tr> </thead> <tbody> <tr> <td>404</td> <td>No encontrado. Objeto no encontrado.</td> </tr> <tr> <td>401</td> <td>No autorizado/Acceso denegado - El usuario no tiene permiso para realizar la operación particular.</td> </tr> <tr> <td>403</td> <td>Permiso denegado - El usuario no tiene permiso para acceder al objeto particular.</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Descargar objeto" description: "Esta página lista el método del SDK de Node.js para descargar objetos de un bucket." last_updated: "2026-07-02T09:34:15.903Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/download-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Download Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/download-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/download-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/download-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/download-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/download-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/download-object/) - REST API (/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, 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. 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 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". 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. 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** const { TransferManager } = require('zcatalyst-sdk-node/lib/stratus'); #### Create Transfer Manager Instance const transferManager = new TransferManager(bucket); // crear instancia de transfer manager #### Download Object as Iterable Part Streams 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. 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. 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 **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>urlAction</td> <td>Request Method</td> <td>Un parámetro obligatorio. Este es el parámetro que te permitirá generar una URL prefirmada para una acción de descarga (GET). <ul> <li>**GET**: Para descargar un objeto</li> </ul> </td> </tr> <tr> <td>expiry</td> <td>String</td> <td>Este es un parámetro opcional. El tiempo de validez de la URL en segundos. <ul> <li>Valor predeterminado: 3600 segundos</li> <li>Valor mínimo: 30 segundos</li> <li>Valor máximo: 7 días</li> </ul> </td> </tr> <tr> <td>activeFrom</td> <td>String</td> <td>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.</td> </tr> </tbody> </table> const signedURLRes = await bucket.generatePreSignedUrl("sam/out/sample.txt", 'GET', { 'expiryIn': 100, // tiempo de expiración en segundos 'activeFrom':'12334454327', // activar la URL en la fecha dada 'versionId': '746398diij94839' }); console.log(signedURLRes); **Respuesta de ejemplo para generar una URL prefirmada para descarga** { "signature": "https://sadi-development.zohostratus.com/_signed/text.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747898364894&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=SFdW4woI5nXPCSCghrymsv06hM0cimwZpkFwHWngtto", "expiry_in_seconds": "100", "active_from": "12334454327" } **Fragmento de ejemplo que ilustra el uso de una URL prefirmada para descargar un objeto** Info: Este ejemplo se muestra usando el paquete de manejo de solicitudes Axios. const axios = require('axios'); const fs = require('fs'); // Reemplazar con la URL pre-firmada real de tu archivo. const url = 'https://sadi-development.zohostratus.com/_signed/text.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747898364894&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=SFdW4woI5nXPCSCghrymsv06hM0cimwZpkFwHWngtto'; (async () => { try { // Enviar solicitud GET para descargar el archivo como un stream const response = await axios.get(url, { responseType: 'stream' }); // Crear un stream de escritura para guardar el archivo localmente const file = fs.createWriteStream('file_path'); // Reemplaza con la ruta de salida deseada // Canalizar el stream de respuesta al stream del archivo response.data.pipe(file); // Notificar cuando el archivo haya sido descargado file.on('finish', () => { console.log('File downloaded successfully'); }); // Manejar cualquier error durante la escritura file.on('error', (err) => { console.error('Error writing file:', err); }); } catch (err) { console.error('Error downloading file:', err); } })(); -------------------------------------------------------------------------------- title: "Subir objeto" description: "Esta página lista el método del SDK de Node.js para subir objetos a un bucket." last_updated: "2026-07-02T09:34:15.903Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/upload-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Upload Object Help Documentation (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/upload-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/upload-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/upload-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/upload-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/upload-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/upload-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Subir objeto Los métodos del SDK listados en esta sección te permitirán subir objetos al bucket de diversas maneras. Puedes subir objetos como una **cadena** o como un **stream**. La referencia del Bucket utilizada en el fragmento de código a continuación es la instancia del componente. Si no tienes el Versionado habilitado para tu objeto, y si Stratus recibe múltiples solicitudes de escritura para el mismo objeto, el objeto será sobrescrito continuamente. La última subida del objeto será el único objeto que se almacene. Sin embargo, con el Versionado habilitado, cada subida se considerará una versión del objeto, y todas ellas se almacenarán en el bucket, cada una con un versionId único. Note: Los siguientes caracteres, incluyendo el espacio, no son compatibles cuando creas una ruta o un objeto: comilla doble, ambos corchetes angulares, hashtag, barra invertida y símbolo de barra vertical. ### Upload Object as a Stream Usando este método del SDK, puedes subir objetos a un bucket como un stream. Almacena el stream en una variable y luego pasa esa variable en el método de subida; putObject() // crear un stream de lectura para subir el objeto const file = fs.createReadStream("file_path"); // llamar al método de subida const res = await bucket.putObject("sam/out/sample.txt", file); console.log(res); ### Upload Object as a String Usando este método del SDK, puedes subir el objeto como una cadena. Pasarás el nombre del objeto y los datos a almacenar en el objeto en formato de cadena en el método de subida; putObject() //Subir el objeto como cadena de texto const res = await bucket.putObject("sam/out/sample.txt", "Content of the file"); console.log(res); ### Upload Object with Options Usando este método del SDK, puedes utilizar las siguientes opciones mientras subes un objeto. * **overwrite**: Esta es una opción que puedes usar si el *Versionado* de tu bucket no está habilitado. Sin versionado, necesitas usar esta opción si deseas sobrescribir un recurso. El valor predeterminado es '**false**'. * **ttl**: Esta es una opción que puedes usar para establecer el **Time-to-Live** (TTL) en segundos para un objeto. El valor debe ser mayor o igual a **60 segundos**. * **metaData**: Esta es una opción que puedes usar para subir detalles de metadatos del objeto que se está subiendo. * **contentType**: Esta es una opción que puedes proporcionar si necesitas establecer el tipo MIME del objeto. const options = { 'overwrite': true, //Esto sobrescribirá tu objeto existente 'ttl': '300', //tiempo de vida en segundos 'metaData': { 'author': 'John' } }; const file = fs.createReadStream("filePath"); const uploadRes = await bucket.putObject("sam/out/sample.txt", file, options); console.log(uploadRes); ### Upload Object With Extract Option Cuando subes un objeto comprimido usando este método del SDK, los objetos presentes en el zip serán extraídos y subidos. const options = { 'ttl': '300', //tiempo de vida en segundos 'metaData': { 'author': 'John' }, // Extraer el contenido del archivo ZIP dado y subir cada archivo como un objeto separado al bucket 'extractUpload': true }; const file = fs.createReadStream("filePath"); const uploadRes = await bucket.putObject("sam/out/sample.zip", file, options); console.log(uploadRes); Este método del SDK devolverá el valor de un taskId. Puedes usar este valor para conocer el estado de la extracción usando este método del SDK. **Respuesta de ejemplo** { 'task_id': '1234263749' } ### Upload Object Using Multipart En esta sección vamos a revisar los métodos del SDK que te permitirán subir exitosamente un objeto grande a un bucket en Stratus. La función de subida multipart subirá un archivo grande al bucket en múltiples solicitudes HTTPS. Todas estas solicitudes se combinarán en un único objeto una vez que todas las partes individuales hayan sido subidas. Note: Se recomienda que consideres la Subida Multipart como el método preferido para subir objetos de 100 MB o más. #### Initiate Upload Para realizar operaciones multipart, necesitas obtener una instancia de objeto multipart. Nos referiremos a esta instancia del componente en varios fragmentos de código donde trabajamos con operaciones multipart que se realizan en objetos almacenados en un bucket en Stratus. **Parámetro utilizado** bucket: Esta es la instancia del bucket que necesitas haber inicializado anteriormente usando este método del SDK. const initRes = await bucket.initiateMultipartUpload("sam/out/sample.txt"); console.log(initRes); **Respuesta de ejemplo** { "bucket": "zcstratus123-development", "key": "sam/out/sample.txt", "upload_id": "01j7xbm4vm5750zbedxqgc4q6m", "status": "PENDING" } #### Upload Parts of the Object En el siguiente método del SDK, vamos a realizar subidas de las partes individuales del objeto. Cada parte tendrá un partNumber distinto que varía entre 1 y 1000. Si bien esto representa el orden de las partes, estas partes no necesariamente se subirán en secuencia. Estas partes se combinarán en secuencia una vez que la subida de todas las partes de los objetos esté completa. let partNumber = 1; const file = fs.createReadStream("filePath"); const uploadPartRes = await bucket.uploadPart("sam/out/sample.txt", "uploadId", file, partNumber); console.log(uploadPartRes); #### Get Multipart Upload Summary El siguiente método del SDK se puede usar para obtener un resumen operativo de todas las partes subidas. Para ver el resumen, usaremos el método getMultipartUploadSummary(). const uploadSummaryRes = await bucket.getMultipartUploadSummary("sam/out/sample.txt", "upload_id"); console.log(uploadSummaryRes); **Respuesta de ejemplo** { "bucket": "zcstratus12345-development", "key": "sam/out/sample.txt", "upload_id": "01hyfyeazrrstmt7k5fa7ej726", "status": "PENDING", "parts": [ { "part_number": 1, "size": 0, "uploaded_at": 1716374678999 }, { "part_number": 2, "size": 2797094, "uploaded_at": 1716374678576 }, { "part_number": 4, "size": 0, "uploaded_at": 1716374679136 } ] } #### Complete Multipart Upload of the Object El siguiente método nos permite finalizar el proceso multipart una vez que todas las partes han sido subidas exitosamente. Para completar el proceso pasaremos el uploadId al método completeMultipartUpload(). const completeUploadRes = await bucket.completeMultipartUpload("sam/out/sample.txt", "uploadId"); console.log(completeUploadRes); **Implementación de ejemplo del SDK** const catalyst = require('zcatalyst-sdk-node'); const fs = require('fs'); module.exports = async (req, res) => { url = req.url; switch (url) { case '/': const app = catalyst.initialize(req); const stratus = app.stratus(); // crear una instancia del bucket const bucket = stratus.bucket("bucket_name"); // Subida multipart const key = 'sample.mp4'; // iniciar subida multiparte const initRes = await bucket.initiateMultipartUpload(key); // obtener el Id de subida de la respuesta de inicio de subida. const uploadId = initRes['upload_id']; const filePath = '/Users/Aliza//sam.mp4'; const partSize = 50 * 1024 * 1024; // en MB const fileStream = fs.createReadStream( filePath, { highWaterMark: partSize } ); let partNumber = 1; const uploadPromises = []; fileStream.on('data', async (partData) => { // Agregar cada subida de parte al arreglo de promesas para subida en paralelo const partUploadPromise = bucket.uploadPart( key, uploadId, partData, partNumber ); uploadPromises.push(partUploadPromise); console.log('Part Number: ', partNumber); partNumber++; }); // Esperar a que todas las partes se suban en paralelo fileStream.on('end', async () => { await Promise.all(uploadPromises); // Completar la subida multipart await bucket.completeMultipartUpload(key, uploadId); console.log('Successfully Uploaded'); }); res.end(); break; default: res.writeHead(404); res.write('You might find the page you are looking for at "/" path'); break; } } ### Upload an Object Using Transfer Manager **Asegúrate de que los siguientes paquetes estén importados** const { TransferManager } = require('zcatalyst-sdk-node/lib/stratus'); #### Create Transfer Manager Instance const transferManager = new TransferManager(bucket); // crear instancia de transfer manager #### Multipart Upload **Crear instancia de subida Multipart** El siguiente método del SDK creará una instancia multipart iniciando la subida multipart. const multipart = await transferManager.createMultipartInstance("sam/out/sample.txt"); // crear instancia multipart Si necesitas crear una instancia para una operación de subida multipart ya inicializada, entonces copia y usa el fragmento de código proporcionado a continuación const multipart = await transferManager.createMultipartInstance("sam/out/sample.txt", "uploadId"); #### Upload Part En el siguiente método del SDK vamos a usar la instancia multipart que inicializamos en la sección *Create Multipart Upload Instance*. const uploadRes = await multipart.uploadPart(fs.createReadStream("filePath"), partNumber); console.log(uploadRes); #### Upload Summary const summaryRes = await multipart.getUploadSummary(); console.log(summaryRes); #### Complete Upload const completeRes = await multipart.completeUpload(); console.log(completeRes); #### Upload Object Using Wrapper El siguiente método del SDK actúa como un wrapper, donde toda la operación de subida multipart se lleva a cabo sin emplear múltiples pasos. Usando este método, el objeto se divide en múltiples partes, se sube al bucket en múltiples partes y luego se combina una vez que todas las partes han sido subidas. const file = fs.createReadStream("filePath"); const partSize = 50 // en MB const objectPartUploadRes = await transferManager.putObjectAsParts("sam/out/sample.txt",file, partSize); console.log(objectPartUploadRes); ### Generate Presigned URL to Upload 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. 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 **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>urlAction</td> <td>Request Method</td> <td>Un parámetro obligatorio. Este es el parámetro que te permitirá generar una URL prefirmada para una acción de subida (PUT). <ul> <li>**PUT**: Para subir un objeto</li> </ul> </td> </tr> <tr> <td>expiry</td> <td>String</td> <td>Este es un parámetro opcional. El tiempo de validez de la URL en segundos. <ul> <li>Valor predeterminado: 3600 segundos</li> <li>Valor mínimo: 30 segundos</li> <li>Valor máximo: 7 días</li> </ul> </td> </tr> <tr> <td>activeFrom</td> <td>String</td> <td>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.</td> </tr> </tbody> </table> const signedURLRes = await bucket.generatePreSignedUrl("sam/out/sample.txt", 'PUT', { 'expiryIn': 100, // tiempo de expiración en segundos 'activeFrom':'12334454327', // activar la URL en la fecha dada }); console.log(signedURLRes); **Respuesta de ejemplo para generar una URL prefirmada para subida** { signature: "https://sadi-development.zohostratus.com/_signed/text.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747896279887&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=3YBUX1HFSxNQzQJjFrln82AyJsEEuC5T9dsZwWxGyEE" } **Fragmento de ejemplo que ilustra el uso de una URL prefirmada para subir un objeto** Info: Este ejemplo se muestra usando el paquete de manejo de solicitudes Axios. const axios = require('axios'); const fs = require('fs'); // Reemplazar esto con la URL pre-firmada real generada para tu subida. const url = 'https://sadi-development.zohostratus.com/_signed/text.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747911331272&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=K9vuqC7JaATLeM3TX4xXWx0OHcSflbYQ2jCrbKSAAIE'; // Reemplazar 'file_path' con la ruta real de tu archivo const data = fs.createReadStream('/Users/ranjitha-18338/Documents/NODE-SDK/Stratus/sam.py'); // Encabezados opcionales; el tipo de contenido puede variar según el tipo de archivo const headers = { // 'Content-Type': 'application/json', // ajustar si se suben archivos no JSON (ej., 'text/plain' o 'application/octet-stream') // 'overwrite': 'true', // encabezado opcional }; (async () => { try { const response = await axios.put(url, data, { headers }); if (response.status === 200) { console.log('Object uploaded successfully'); } else { console.log('⚠️ Error uploading object:', response.data); } } catch (error) { console.error('Upload failed:', error.response?.data || error.message); } })(); -------------------------------------------------------------------------------- title: "Extraer un objeto comprimido" description: "Esta página lista el método del SDK de Node.js para extraer un objeto comprimido." last_updated: "2026-07-02T09:34:15.909Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/extract-zipped-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/extract-zipped-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/extract-zipped-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Extraer un objeto comprimido en Stratus El siguiente método del SDK te permitirá extraer un archivo zip dentro de Stratus, y cada contenido individual presente en el archivo zip será considerado como un objeto individual y subido a Stratus en el mismo bucket. Todo este proceso ocurrirá *de forma asíncrona*. La referencia del Bucket utilizada en el fragmento de código a continuación es la instancia del componente. 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 Note: Dado que el proceso de extracción ocurre de forma asíncrona, el tiempo en que se completa todo el proceso depende del tamaño del archivo zip que se está extrayendo. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Será el nombre del archivo zip que necesitas extraer</td> </tr> <tr> <td>destPath</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá la información completa de la ruta del destino, donde los objetos extraídos se almacenarán en el bucket.</td> </tr> </tbody> </table> const res = await bucket.unzipObject("sample.zip","output/"); console.log(res); #### Respuesta de ejemplo { "key": "sample.zip", "destination": "output/", "task_id": "6963000000272049", "message": "Zip extract scheduled" } ### Get Zip Extraction Status El proceso de extracción del zip ocurre de forma asíncrona, y el tiempo que toma completar el proceso de extracción depende en gran medida del tamaño del archivo zip. 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 Usando el parámetro taskId, en el siguiente método del SDK, podemos determinar el estado de la extracción. El taskId se devuelve en la respuesta del método unzipObject(). const statusRes = await bucket.getUnzipStatus("sample.zip", 'taskId'); console.log(statusRes); #### Respuesta de ejemplo { "task_id": "6963000000272049", "status": "SUCCESS" } -------------------------------------------------------------------------------- title: "Copiar objeto" description: "Esta página lista el método del SDK de Node.js para hacer una copia de un objeto dentro de su propio bucket." last_updated: "2026-07-02T09:34:15.909Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/copy-objects/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/copy-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/copy-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Copiar objeto Usando este método del SDK, puedes copiar un objeto y pegarlo dentro de un bucket. La referencia del Bucket utilizada en el fragmento de código a continuación es la instancia del componente. 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 El key será el objeto que vas a copiar, y el destination contendrá el nuevo nombre del objeto copiado. Para pegar el objeto copiado en una ruta diferente, necesitas proporcionar el nombre completo de la ruta como destination. Note: * Necesitas proporcionar el nombre completo del objeto, junto con la ruta tanto para los valores de key como de destination. * Por ejemplo, si tienes un archivo llamado "kitten.png" en la ruta pictures/puppy, y necesitas copiar el archivo a la ruta pictures/kitten, entonces: <br /> El valor de source_object será 'pictures/puppy/kitten.png'<br /> El valor de dest_object será 'pictures/kitten/kitten.png'<br /> const res = await bucket.copyObject('sam/out/sample.txt', "out/sam/sample.txt"); console.log(res); #### Respuesta de ejemplo { "copy_to": "sam/out/sample.txt", "key": "out/sam/sample.txt", "message": "Object copied successfully." } -------------------------------------------------------------------------------- title: "Operaciones de renombrar y mover en un objeto" description: "Esta página lista el método del SDK de Node.js para realizar operaciones de renombrar y mover en un objeto." last_updated: "2026-07-02T09:34:15.909Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/rename-move-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/rename-move-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/rename-move-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Operaciones de renombrar y mover en un objeto Para renombrar y mover un objeto, usaremos el mismo método del SDK renameObject(). La referencia del Bucket utilizada en el fragmento de código a continuación es la instancia del componente. 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 **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>El nombre original del objeto que necesitas renombrar</td> </tr> <tr> <td>destination</td> <td>String</td> <td>El nuevo nombre con el que renombras el objeto</td> </tr> </tbody> </table> Note: * Necesitas proporcionar el nombre completo del objeto, junto con la ruta tanto para los valores de key como de destination. * Por ejemplo, si tienes un archivo llamado "kitten.png" en la ruta pictures/puppy, y necesitas renombrar o mover el archivo a la ruta pictures/kitten, entonces: <br /> El valor de key será 'pictures/puppy/kitten.png'<br /> El valor de destination será 'pictures/kitten/kitten.png'<br /> ### Rename an Object Usando el método del SDK renameObject() puedes renombrar objetos presentes en un bucket. 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 Note: * No puedes renombrar objetos en un bucket que tiene el Versionado habilitado. * Los siguientes caracteres, incluyendo el espacio, no son compatibles cuando creas una ruta o un objeto: comilla doble, ambos corchetes angulares, hashtag, barra invertida y símbolo de barra vertical. const res = await bucket.renameObject("sam/out/sample.txt", "sam/out/update_sample.txt"); console.log(res); ### Move an Object Usando el método del SDK renameObject(), podemos mover el objeto de una ruta a otra dentro de un bucket. const moveRes = await bucket.renameObject("sam/out/sample.txt", "out/sample.txt"); console.log(moveRes); Note: No puedes realizar operaciones de mover en un bucket que tiene el Versionado habilitado. #### Respuesta de ejemplo para operaciones de renombrar y mover { "current_key": "sam/out/sample.txt", "message": "Rename successful", "rename_to": "sam/out/update_sample.txt" } -------------------------------------------------------------------------------- title: "Eliminar objetos" description: "Esta página lista el método del SDK de Node.js para eliminar objetos almacenados en un bucket." last_updated: "2026-07-02T09:34:15.910Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Delete an Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/delete-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/delete-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/delete-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/delete-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Eliminar objetos Los siguientes métodos del SDK te permitirán realizar operaciones de eliminación en Stratus. La referencia del Bucket utilizada en el fragmento de código a continuación es la instancia del componente. 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 **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>versionId</td> <td>String</td> <td>Un parámetro opcional. Si el Versionado está habilitado para tu bucket, este parámetro te ayudará a referirte a una versión particular usando su ID de versión único.</td> </tr> <tr> <td>ttl</td> <td>int</td> <td>Un parámetro opcional. Te permite programar tus operaciones de eliminación. Por ejemplo, si proporcionas el valor de ttl como 60, la operación de eliminación solo ocurrirá después de 60 segundos. El valor de ttl debe ser >= 60 segundos.</td> </tr> </tbody> </table> ### Delete a Single Object Usando este método del SDK, puedes eliminar un objeto en particular pasando el nombre del objeto al método deleteObject(). 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 const res = await bucket.deleteObject( "sam/out/sample.txt"); console.log(res); Note: Si el Versionado está habilitado en el bucket y no se proporciona un versionId específico, eliminar un objeto eliminará todas las versiones de ese objeto de forma predeterminada. ### Delete a Specific Version of an Object after a Specific Time Asegúrate de proporcionar el versionId del objeto si habilitaste el Versionado para tu bucket. También puedes programar tu operación de eliminación usando la variable ttl. Por ejemplo, si proporcionas el valor de ttl como **100**, la operación de eliminación solo ocurrirá después de **100 segundos**. Siempre asegúrate de que el valor de ttl sea mayor o igual a **60 segundos**. 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 const options = { versionId: "01hthq82gwxtfyz6d9j8eg6k2f", // eliminar el objeto con el versionId dado ttl: 100 // Tiempo de vida en número de segundos }; const res= await bucket.deleteObject( "sam/out/sample.txt", options); console.log(res); ### Delete Multiple Objects Usando este método del SDK, puedes eliminar múltiples objetos pasando los nombres de los objetos que necesitan ser eliminados como un arreglo. 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 Asegúrate de proporcionar el versionId del objeto si habilitaste el Versionado para tu bucket. También puedes programar tu operación de eliminación usando la variable ttl. Por ejemplo, si proporcionas el valor de ttl como **100**, la operación de eliminación solo ocurrirá después de **100 segundos**. Siempre asegúrate de que el valor de ttl sea mayor o igual a **60 segundos**. const objectDel = await bucket.deleteObjects( [ { key: "sam/out/sample.txt", versionId: "01hhch20nfkx9hw9ebqy2jnz9d" } ], 100); console.log(objectDel); #### Respuesta de ejemplo para la operación de eliminación {"message": "Object Deletion successful."} ### Truncate Bucket Usando este método del SDK podrás eliminar esencialmente cada objeto presente en el bucket. 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 const truncateRes = await bucket.truncate(); console.log(truncateRes); ### Delete a Path in the Bucket Usando este SDK, podrás eliminar todos los objetos presentes en una ruta. Necesitas pasar la ruta completa al método deletePath(). 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 // Para eliminar una ruta completa const res = await bucket.deletePath("sam/out/"); console.log(res); Note: Asegúrate de proporcionar la ruta exacta. Si se proporciona una ruta incorrecta, la acción de eliminación se programará, pero resultará en un error. #### Respuesta de ejemplo { "path": "sam/", "message": "Path deletion scheduled" } -------------------------------------------------------------------------------- title: "Crear instancia de objeto" description: "Esta página enumera el método del SDK de Node.js para crear una instancia de objeto." last_updated: "2026-07-02T09:34:15.910Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/create-object-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-object-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-object-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de objeto Usa el siguiente método para obtener una instancia de objeto y realizar operaciones relacionadas con objetos. La referencia de Bucket utilizada en el fragmento de código a continuación es la instancia del componente. const objectIns = bucket.object("sam/out/sample.txt"); -------------------------------------------------------------------------------- title: "Listar versiones de objeto" description: "Esta página enumera el método del SDK de Node.js para obtener las versiones de un objeto." last_updated: "2026-07-02T09:34:15.910Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/list-object-versions/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Object Versioning Help Documentation (/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/get-object-versions/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/get-object-versions/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Listar versiones de objeto ### List All Versions of an Object Through Pagination Habilitar el Versionado en un bucket te permite almacenar múltiples versiones del mismo objeto en el bucket. Cada versión del objeto tendrá su propio versionId. Este método del SDK te permite obtener todas las versiones existentes de un objeto presente en un bucket mediante paginación. La referencia de Object utilizada en el fragmento de código a continuación es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>nextToken</td> <td>String</td> <td>Contendrá el valor para determinar el siguiente conjunto de versiones.</td> </tr> <tr> <td>maxVersions</td> <td>int</td> <td>Un parámetro opcional. Contendrá el valor del número máximo de versiones del objeto que se pueden listar por iteración.</td> </tr> </tbody> </table> async function listMyPaginatedVersions(maxVersion = undefined, nextToken = undefined) { const response = await objectIns.listPagedVersions({ maxVersion, nextToken}); console.log(response.version); if(response.is_truncated) { listMyPaginatedVersions(maxVersion,nextToken) } } await listMyPaginatedVersions(10); **Respuesta de ejemplo** { "key": "sam/out/sample.txt", "versions_count": 2, "max_versions": "2", "is_truncated": "False", "next_continuation_token": "4YpUdkktt2UeWp6MwEK1LZXELnuVhunHLnGgX29uvszwtJEQE2gVDJYyRiLdUmhNst", "version": [ { "version_id": "01hyfh12njtpyvzwq6p1fd2d8s", "is_latest": "True", "last_modified": "May 22, 2024 12:20 PM", "size": 1, "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" }, { "version_id": "01hyfh0xkvwkxxsjfceef201xa", "is_latest": "False", "last_modified": "May 22, 2024 12:20 PM", "size": "1", "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" } ] } ### List All Versions of the Object Through Iteration Puedes usar el siguiente método del SDK para obtener todas las versiones disponibles del objeto en una sola llamada. Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección const versions = objectIns.listIterableVersions(); for await( const version of versions) { console.log(version); } **Respuesta de ejemplo** { "versionId": "01hyfh12njtpyvzwq6p1fd2d8s", "is_latest": "True", "last_modified": "May 22,2024 12:20 PM", "size": "1", "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" } { "versionId": "01hyfh0xkvwkxxsjfceef201xa", "is_latest": "False", "last_modified": "May 22, 2024 12:20 PM", "size": "1", "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" } -------------------------------------------------------------------------------- title: "Obtener detalles de objeto" description: "Esta página enumera el método del SDK de Node.js para obtener los detalles de los objetos almacenados en un bucket." last_updated: "2026-07-02T09:34:15.910Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/object-details/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Objects Help Documentation (/es/cloud-scale/help/stratus/objects/introduction/) - Versioning Help Documentation (/es/cloud-scale/help/stratus/stratus-config/general-settings/#versioning) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/object-details/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/check-object-availability/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Obtener detalles de objeto ### Get Details of All Objects Usa el siguiente método del SDK para obtener los detalles de todos los objetos almacenados en el bucket. La referencia de Object utilizada en el fragmento de código a continuación es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección const objectRes = await objectIns.getDetails(); console.log(objectRes); Nota: Si el Versionado está habilitado, entonces usar este método del SDK solo devolverá los detalles del objeto de la versión más reciente. ### Get Details of a Particular Version of the Object Para obtener los detalles de una versión particular del objeto, necesitas pasar el versionId del objeto al método del SDK getDetails(). Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>versionId</td> <td>String</td> <td>Un parámetro opcional. Si el Versionado está habilitado para tu bucket, entonces este parámetro te ayudará a hacer referencia a una versión particular usando su ID de versión único.</td> </tr> </tbody> </table> Nota: * Necesitas haber habilitado el Versionado para tus objetos al menos una vez para usar este método. * Puedes obtener más información sobre el Versionado en esta documentación de ayuda. const objectRes = await objectIns.getDetails("versionId"); console.log(objectRes); **Respuesta de ejemplo** { "key": "sam/out/sample.txt", "size": 1, "content_type": "text/plain", "last_modified": "May 22, 2024 12:25 PM", "meta_data": { "author": "John" }, "object_url": "https://zcstratus12345-development.zohostratus.com/sam/out/sample.txt", "cached_object_url": "https://zcstratus12345-development.nimbuslocaledge.com/sam/out/sample.txt" } -------------------------------------------------------------------------------- title: "Agregar metadatos de objeto" description: "Esta página enumera el método del SDK de Node.js para agregar metadatos a un objeto almacenado en el objeto." last_updated: "2026-07-02T09:34:15.910Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/cloud-scale/stratus/put-object-meta/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Object Metadata Help Documentation (/es/cloud-scale/help/stratus/objects/introduction/#metadata) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/put-object-meta/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/put-object-meta/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Agregar metadatos de objeto Usando el siguiente método del SDK, puedes agregar detalles de metadatos para un objeto particular almacenado en un bucket en Stratus. La referencia de Object utilizada en el fragmento de código a continuación es la instancia del componente. Info: Para usar este método del SDK, necesitas inicializarlo con alcance de Admin. Puedes obtener más información sobre este requisito en esta sección Los detalles de metadatos se pasarán como pares clave-valor JSON. Por ejemplo, {"meta_key" : "meta_value"} Nota: * Usar el siguiente método para pasar nuevos detalles de metadatos sin agregar los detalles existentes eliminará los detalles existentes y solo colocará los nuevos detalles. Para evitar esto, pasa los nuevos detalles de metadatos junto con los detalles de metadatos existentes. * Puedes usar caracteres alfanuméricos, guiones bajos o espacios en blanco, así como guiones, para escribir tus metadatos. No se permite ningún otro carácter especial aparte de los mencionados. * Puedes obtener los metadatos de un objeto usando el método de solicitud **HEAD**. En la respuesta, los metadatos se listarán en la clave 'x-user-meta'. * El límite máximo de tamaño de caracteres permitido para los metadatos en general es de **2047** caracteres. El conteo de caracteres utilizado para determinar el límite de tamaño también incluye el carácter especial de dos puntos ":" utilizado para definir el par clave-valor. const objectMeta = { "key1": "value1" , "key2": "value2" }; const objMeta = await objectIns.putMeta(objectMeta); console.log(objMeta); **Respuesta de ejemplo** { "message": "Metadata added successfully" } --- ## SDK — Python — Stratus -------------------------------------------------------------------------------- title: "Descripción general" description: "Esta página lista todos los métodos del SDK de Python necesarios para realizar operaciones de Stratus a través de código." last_updated: "2026-07-02T09:34:15.911Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/overview/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Stratus ## Descripción general Cloud Scale Stratus es la solución de almacenamiento robusta y potente de Catalyst. Puedes almacenar datos de cualquier formato en forma de Objects en contenedores llamados Buckets. Cada Bucket y cada objeto individual en el bucket tiene una Object URL segura y una Bucket URL. Puedes realizar operaciones de carga y descarga en objetos e incluso proporcionar permisos personalizados para cada objeto. La siguiente tabla contiene la lista de todos los SDKs de Catalyst que se pueden usar para realizar operaciones de Stratus a través de código. <table class="content-table"> <thead> <tr> <th class="w30p">Categoría</th> <th class="w70p">Método del SDK</th> </tr> </thead> <tbody> <tr> <td>Operaciones generales de Stratus</td> <td> <ul> <li>Create Stratus Instance</li> <li>Check Bucket Availability</li> <li>List All Buckets</li> </ul> </td> </tr> <tr> <td>Operaciones de Bucket</td> <td> <ul> <li>Create Bucket Instance</li> <li>Get Bucket Details</li> <li>Get Bucket CORS</li> <li>List Objects in a Bucket <ul> <li>List all Objects by Pagination</li> <li>List Objects Through Iteration</li> </ul> </li> <li>Check Object Availability</li> <li>Download Object <ul> <li>Download an Object</li> <li>Download a Portion of the Object</li> <li>Download an Object Using Transfer Manager</li> <li>Generate Presigned URL to Download an Object</li> </ul> </li> <li>Upload Object <ul> <li>Upload Object as a Stream</li> <li>Upload Object as a String</li> <li>Upload Object with Options</li> <li>Upload Object Using Multipart</li> <li>Upload an Object Using Transfer Manager</li> <li>Generate Presigned URL to Upload an Object</li> </ul> </li> <li>Extract a Zipped Object <ul> <li>Get Zip Extraction Status </ul> </li> <li>Copy Object</li> <li>Rename and Move Operations on an Object</li> <li>Delete Objects <ul> <li>Delete a Single Object</li> <li>Delete a Specific Version of an Object after a Specific Time</li> <li>Delete Multiple Objects</li> <li>Truncate Bucket</li> <li>Delete a Path in the Bucket</li> </ul> </li> </td> </tr> <tr> <td>Operaciones de Object</td> <td> <ul> <li>Create Object Instance</li> <li>List Object Versions <ul> <li>List All Versions of an Object Through Pagination</li> <li>List All Versions of the Object Through Iteration</li> </ul> </li> <li>Get Object Details <ul> <li>Get Details of All Objects</li> <li>Get Details of a Particular Version of the Object</li> </ul> </li> <li>Put Object Meta Data</li> </ul> </td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Crear instancia de Stratus" description: "Esta página enumera el método del SDK de Python para crear una instancia de Stratus." last_updated: "2026-07-02T09:34:15.911Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/create-stratus-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-stratus-instance/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-stratus-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de Stratus Puedes obtener la referencia del componente stratus como se muestra a continuación. Esto no realizará una llamada del lado del servidor. Nos referiremos a esta instancia del componente en varios fragmentos de código para trabajar con Stratus. La referencia app utilizada en el siguiente fragmento de código es la instancia de Catalyst. stratus = app.stratus() -------------------------------------------------------------------------------- title: "Verificar disponibilidad del bucket" description: "Esta página enumera el método del SDK de Python para verificar si el bucket existe en tu proyecto." last_updated: "2026-07-02T09:34:15.911Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/check-bucket/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/check-bucket/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/check-bucket/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/check-bucket/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Verificar disponibilidad del bucket Usando el método del SDK head_bucket(), puedes verificar la existencia de un bucket en Stratus y además comprobar si el usuario tiene los permisos relevantes para acceder a los objetos presentes en el bucket. La referencia stratus utilizada en el siguiente fragmento de código es la instancia del componente. Posibles respuestas al usar este SDK: * Si el bucket existe y el usuario tiene los permisos relevantes para acceder al bucket, se devolverá la respuesta '**true**'. * Si el bucket no existe, o si el usuario no tiene permiso para acceder al bucket, se devolverá la respuesta '**false**'. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>bucket_name</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre único del bucket.</td> </tr> <tr> <td>throw_err</td> <td>Boolean</td> <td>Un parámetro opcional. Si estableces este parámetro como "true", entonces lanzará un error cuando el bucket no se encuentre en el proyecto. El valor predeterminado es "false"</td> </tr> </tbody> </table> bucket_res = stratus.head_bucket('bucket_name', throw_err=False) print(bucket_res) #### Posibles errores Note: Si usas el SDK con el parámetro throw_err, y el bucket no existe, o si no tienes permisos suficientes, puedes encontrar cualquiera de los errores listados a continuación. <table class="content-table"> <thead> <tr> <th class="w30p">Código de error</th> <th class="w70p">Significado</th> </tr> </thead> <tbody> <tr> <td>404</td> <td>No encontrado. Bucket no encontrado en Stratus.</td> </tr> <tr> <td>401</td> <td>No autorizado/Acceso denegado - El usuario no tiene permiso para realizar la operación en particular.</td> </tr> <tr> <td>403</td> <td>Permiso denegado - El usuario no tiene permiso para acceder al bucket en particular.</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Listar todos los buckets" description: "Esta página enumera el método del SDK de Python para listar los buckets creados en tu proyecto." last_updated: "2026-07-02T09:34:15.911Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/list-buckets/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/list-buckets/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/list-buckets/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Listar todos los buckets El siguiente método del SDK devolverá todos los buckets presentes en el proyecto. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección La referencia stratus utilizada en el siguiente fragmento de código es la instancia del componente. buckets = stratus.list_buckets() # devolver todos los buckets y sus detalles print(buckets) #### Respuesta de ejemplo [ { "bucket_name": "zcstratus122", "project_details": { "project_name": "Learn", "id": "6759000000014001", "project_type": "Live" }, "created_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "created_time": "Mar 26, 2024 12:44 PM", "modified_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "modified_time": "Mar 30, 2024 11:38 AM", "bucket_meta": { "versioning": "False", "caching": { "status": "Enabled", "delivery_point_id": "01ht6zj7k536c29ymsgfeky1mg" }, "encryption": "False", "audit_consent": "False" }, "bucket_url": "https://zcstratus122-development.zohostratus.com" }, { "bucket_name": "zcstratus12345", "project_details": { "project_name": "Learn", "id": "6759000000014001", "project_type": "Live" }, "created_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "created_time": "Mar 13, 2024 05:51 PM", "modified_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "modified_time": "Apr 18, 2024 12:44 PM", "bucket_meta": { "versioning": "True", "caching": { "status": "Enabled", "delivery_point_id": "01hrxy25tv1vex73qhm85g88bf" }, "encryption": "False", "audit_consent": "False" }, "bucket_url": "https://zcstratus12345-development.zohostratus.com" } ] -------------------------------------------------------------------------------- title: "Crear instancia de bucket" description: "Esta página enumera el método del SDK de Python para crear una instancia de bucket." last_updated: "2026-07-02T09:34:15.912Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/create-bucket-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Create a Bucket Help Documentation (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-bucket-instance/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de bucket Para realizar operaciones a nivel de bucket, necesitas crear una instancia de bucket. Nos referiremos a esta instancia del componente en varios fragmentos de código para trabajar con Buckets en Stratus. La referencia stratus utilizada en el siguiente fragmento de código es la instancia del componente. bucket = stratus.bucket('bucket_name') -------------------------------------------------------------------------------- title: "Obtener detalles del bucket" description: "Esta página enumera el método del SDK de Python para obtener los detalles de un bucket." last_updated: "2026-07-02T09:34:15.912Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/get-bucket-details/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Create a Bucket Help Documentation (/es/cloud-scale/help/stratus/buckets/create-bucket/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-bucket-instance/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-bucket-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Obtener detalles del bucket El siguiente método del SDK te permitirá obtener todos los detalles disponibles de un bucket en particular. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. bucket_details = bucket.get_details() print(bucket_details) #### Respuesta de ejemplo { "bucket_name": "zcstratus122", "project_details": { "project_name": "Learn", "id": "6759000000014001", "project_type": "Live" }, "created_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "created_time": "Mar 26, 2024 12:44 PM", "modified_by": { "zuid": "74660608", "is_confirmed": "False", "email_id": "emmy@zylker.com", "first_name": "Amelia Burrows", "last_name": "C", "user_type": "Admin", "user_id": "6759000000009004" }, "modified_time": "Mar 30, 2024 11:38 AM", "bucket_meta": { "versioning": "False", "caching": { "status": "Enabled", "delivery_point_id": "01ht6zj7k536c29ymsgfeky1mg" }, "encryption": "False", "audit_consent": "False" }, "bucket_url": "https://zcstratus122-development.lzstratus.com", "caching_url": "https://zcstratus122-development.nimbuslocaledge.com", "objects_count": "74", "size_in_bytes": "925906411" } -------------------------------------------------------------------------------- title: "Obtener CORS del bucket" description: "Esta página enumera el método del SDK de Python para obtener la configuración CORS actual del bucket." last_updated: "2026-07-02T09:34:15.912Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/get-bucket-cors/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Stratus Bucket CORS Help Documentation (/es/cloud-scale/help/stratus/stratus-config/bucket-cors/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/get-bucket-cors/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/get-bucket-cors/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Obtener CORS del bucket El método del SDK get_cors() devolverá la configuración CORS actual de un bucket específico en Stratus. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección El CORS de un bucket puede ser editado por cualquier usuario que tenga o al que se le haya otorgado el permiso Write para el componente Stratus en el proyecto, utilizando la sección Profiles & Permissions. Note: Puedes obtener más información sobre el CORS de Bucket en esta sección de ayuda. res = bucket.get_cors() print(res) -------------------------------------------------------------------------------- title: "Listar objetos en un bucket" description: "Esta página enumera el método del SDK de Python para listar todos los objetos almacenados en un bucket." last_updated: "2026-07-02T09:34:15.912Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/list-objects/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/list-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/list-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Listar objetos en un bucket ### Listar todos los objetos por paginación Este método del SDK te permitirá obtener todos los objetos presentes en un bucket en particular mediante paginación. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección Para cada llamada, se devolverá un número limitado de objetos, y la siguiente llamada se iniciará solo si se devuelve un token de continuación. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>max_keys</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el límite máximo de objetos que se pueden listar por paginación.</td> </tr> <tr> <td>continuation_token</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el token para obtener el siguiente conjunto de objetos.</td> </tr> <tr> <td>prefix</td> <td>String</td> <td>Un parámetro opcional. Para listar objetos que coincidan con el valor del prefijo.</td> </tr> <tr> <td>order_by</td> <td>String</td> <td>Un parámetro opcional. Para listar objetos en orden ascendente o descendente. Valor predeterminado: asc</td> </tr> <tr> <td>folder_listing</td> <td>String</td> <td>Un parámetro opcional. Para elegir listar solo los objetos del nivel raíz en el bucket o listar todos los objetos presentes en todas las rutas del bucket. Valor predeterminado: false<br />Por ejemplo, si estableces el valor como true; solo se listarán los objetos del nivel raíz. Si estableces el valor como false; se listarán todos los objetos presentes en todas las rutas del bucket </td> </tr> </tbody> </table> En el siguiente método del SDK, se establece un valor máximo de paginación usando max_keys. Usando prefix, puedes listar objetos que solo coincidan con el prefix:. La respuesta que obtenemos contendrá las siguientes propiedades del bucket, que se almacenarán en moreOptions: * key count: Contendrá el valor del número de objetos que se están devolviendo * max_key: El límite máximo de objetos que se pueden devolver * Truncated: Contendrá el estado para notificar si un bucket está truncado o no. * contents: Lista de detalles de objetos * next_token: Si la respuesta fue truncada, el valor de esta clave debe pasarse como next_token al mismo método para recuperar el siguiente conjunto de objetos. Con cada iteración, listaremos el número de objetos max_keys y verificaremos si se ha creado next_token. Usando next_token continuaremos la iteración hasta que todos los objetos hayan sido listados. # Definir una función recursiva para listar objetos del bucket usando paginación def list_my_paged_objects(max_keys=None, prefix=None, next_token=None): # Obtener una lista paginada de objetos del bucket con las opciones especificadas data = bucket.list_paged_objects( max_keys, # Número máximo de objetos a obtener en esta llamada prefix, # Filtrar objetos que comienzan con este prefijo next_token, # Token de continuación para obtener la siguiente página de resultados folder_listing=True, # Listar objetos en una estructura tipo carpeta order_by='desc' # Ordenar objetos en orden descendente (más recientes primero) ) # Imprimir la lista de objetos obtenidos print(data['contents']) # Verificar si hay más objetos disponibles (la paginación aún no está completa) if data['truncated']: # Llamar recursivamente a la función para obtener la siguiente página de objetos list_my_paged_objects(max_keys, prefix, data['next_continuation_token']) #Iniciar la lista de objetos con un tamaño de página de 2 list_my_paged_objects(2, 'sam') #### Respuesta de ejemplo { "prefix": "sam", "key_count": "5", "max_keys": "5", "truncated": "True", "next_continuation_token": "47VrqTzR9ukMF9gr8YcziVVzdRP5GCjq1NfM5fMBpMfvw5qcXFRSueuqCTRUCzNd9dHfquXHi2afDanLH6MbyJo6", "contents": [ { "key_type": "file", "key": "sam1s2ww.mp4", "size": "427160684", "content_type": "video/mp4", "etag": "78c2b173b56cd944e9c79abd601f6073", "last_modified": "May 21, 2024 01:00 PM" }, { "key_type": "file", "key": "samdm.txt", "size": "23", "content_type": "text/plain; charset=utf-8", "etag": "c0122754f465e42eb97b5af174663c29", "last_modified": "May 14, 2024 01:30 PM" }, { "key_type": "file", "key": "samplvbse1.json", "size": "8", "content_type": "application/json", "etag": "499e7dbaee453352a9c17407a676dbda", "last_modified": "May 13, 2024 10:05 AM" }, { "key_type": "file", "key": "samplse1.json", "size": "8", "content_type": "application/json", "etag": "499e7dbaee453352a9c17407a676dbda", "last_modified": "May 13, 2024 09:20 AM" }, { "key_type": "file", "key": "sampjkhdldbed.mp4", "size": "0", "content_type": "video/mp4", "etag": "d41d8cd98f00b204e9800998ecf8427e", "last_modified": "May 12, 2024 10:54 PM" } ] } ### Listar objetos mediante iteración Usando este método del SDK, puedes obtener todos los objetos presentes en un bucket en una sola llamada API, utilizando la técnica de iteración. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección # Listar objetos del bucket usando paginación iterable con las opciones especificadas objects = bucket.list_iterable_objects( max_keys=5, # Número máximo de objetos a obtener por lote (predeterminado es 1000) prefix='sam', # Filtrar objetos que comienzan con este prefijo folder_listing=True, # Listar objetos en una estructura tipo carpeta (predeterminado es False) order_by='desc' # Ordenar objetos en orden descendente (predeterminado es 'asc') ) #Iterar e imprimir cada clave de objeto for key in objects: print(key) #### Respuesta de ejemplo { "key_type": "file", "key": "ssdgs.mp4", "size": "3145728", "content_type": "video/mp4", "etag": "9685b8d5b8b719274bac854b897d95ec", "last_modified": "May 21, 2024 03:49 PM" } { "key_type": "file", "key": "Sasss.mp4", "size": "2674", "content_type": "video/mp4", "etag": "24c1122087e9be930ff1e957e83f5224", "last_modified": "May 21, 2024 02:55 PM" } { "key_type": "file", "key": "Samfplessss.mp4", "size": "2674", "content_type": "video/mp4", "etag": "24c1122087e9be930ff1e957e83f5224", "last_modified": "May 21, 2024 02:52 PM" } { "key_type": "file", "key": "demo.mp4", "size": "3400", "content_type": "video/mp4", "etag": "24e957e83f5224c1122087e9be930ff1", "last_modified": "May 21, 2024 02:52 PM" } { "key_type": "file", "key": "performance.mp4", "size": "1454", "content_type": "video/mp4", "etag": "087e9be930ff124c1122e957e83f5224", "last_modified": "May 21, 2024 02:52 PM" } -------------------------------------------------------------------------------- title: "Descargar objeto" description: "Esta página enumera el método del SDK de Python para descargar objetos de un bucket." last_updated: "2026-07-02T09:34:15.912Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/download-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/download-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/download-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/download-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/download-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/download-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/download-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Descargar objeto ### Descargar un objeto Los SDKs presentes en esta sección te permitirán descargar un objeto particular, múltiples objetos o una versión del objeto. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. 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 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 versión más reciente del objeto. Si *Versioning* fue habilitado para un bucket y luego deshabilitado. Por defecto, se descargará el objeto principal original. Para asegurarte de descargar la versión más reciente de este objeto, necesitas pasar el parámetro versionId con el valor "topVersion". res = bucket.get_object("sam/out/sample.txt") # descarga el objeto a la máquina local file = open('file_path','wb') file.write(res) ### Descargar una porción del objeto El siguiente método del SDK se usa con el parámetro range. El parámetro range te permite descargar un range específico de bytes de un objeto. options = { 'version_id': '01hx66f1383jm48w9sa4z20kve', # descargar el objeto con el Id de versión dado 'range': '0-200' # rango de inicio y fin de un objeto } res = bucket.get_object('"sam/out/sample.txt", options) # descarga el objeto a la máquina local file = open('file_path','wb') file.write(res) ### Descargar un objeto usando 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 de **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 a tu sistema local. #### Obtener instancia de Transfer Manager Para realizar operaciones de transfer manager, necesitas obtener una instancia de objeto de transfer manager. Nos referiremos a esta instancia del componente en varios fragmentos de código donde trabajamos con operaciones de transfer manager realizadas en objetos almacenados en un bucket en Stratus. **Parámetro utilizado** bucket: Esta es la instancia de bucket que necesitas haber inicializado anteriormente usando este método del SDK. **Asegúrate de que los siguientes paquetes estén importados** from zcatalyst_sdk.stratus.transfer_manager import TransferManager transfer_manager = TranferManager(bucket) #### Obtener objeto iterable Devuelve las partes iterables del objeto. El usuario puede escribir estas partes en su máquina local usando un iterador. Note: Usa un solo archivo para escribir porque devuelve partes iterables, no el objeto completo. Si escribes en archivos individuales, necesitarás combinarlos en uno solo. Info: Asegúrate de proporcionar part_size en Mb. res = transfer_manager.get_iterable_object("sam/out/sample.txt", 20) file = open('file_path','wb') # almacenar el objeto en la máquina local for chunk in res: file.write(chunk) #### Generar descargadores de partes del objeto Cuando un usuario necesita descargar un archivo grande (ejemplo: archivo de 10 GB), usar el método get_object() no es práctico. En su lugar, el usuario puede optar por este método del SDK. Al llamar al método generate_part_downloaders() con los parámetros key(str) y part_size(Long), el usuario puede obtener funciones del transfer manager. Estas funciones, devueltas en orden ascendente, cada una descarga una parte específica del objeto. Las partes se determinan según el tamaño de parte especificado. res = transfer_manager.generate_part_downloaders("sam/out/sample.txt",20) file = open('file_path','wb') for part in res: file.write(part()) Info: El archivo debe ser subido a través de la API o el SDK para habilitar descargas parciales. El part_size debe ser mayor que 5 MB y menor que 100 MB. ### Generar URL prefirmada para descargar un objeto 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 los objetos. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>url_action</td> <td>Request Method</td> <td>Un parámetro obligatorio. Este es el parámetro que te permitirá generar una URL prefirmada para una acción de descarga (GET). <ul> <li>**GET**: Para descargar un objeto</li> </ul> </td> </tr> <tr> <td>expiry</td> <td>String</td> <td>Este es un parámetro opcional. El tiempo de validez de la URL en segundos. <ul> <li>Valor predeterminado: 3600 segundos</li> <li>Valor mínimo: 30 segundos</li> <li>Valor máximo: 7 días</li> </ul> </td> </tr> <tr> <td>active_from</td> <td>String</td> <td>Este es un parámetro opcional. Este parámetro contendrá el tiempo después 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.</td> </tr> </tbody> </table> pre_signed_url_res = bucket.generate_presigned_url("sam/out/sample.txt",url_action='GET',expiry_in_sec='300', active_from='1023453725828', version_id='jdery748tfge78') print(pre_signed_url_res) **Respuesta de ejemplo para generar una URL prefirmada para descarga** { "signature": "https://zcstratus123-development.zohostratus.com/_signed/sam/out/sample.txt?organizationId=83963316&stsCredential=74660608-83963316&stsDate=1726492859577&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=_G8mnq-03vKgPlnJPmqBvzEnT3Hk-SnECuG-cgURyDs", "expiry_in_seconds": "300", "active_from": "1726492859577" } **Fragmento de ejemplo que ilustra el uso de URL prefirmada para descargar un objeto** import requests #URL prefirmada para descargar el archivo url = "https://sadi-development.zohostratus.com/_signed/code.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747899927592&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=-l10AlSsbZzkq6t8HHgDfNkEiiDWFaaU9M3-hPBz0M8" #Ruta donde se guardará el archivo descargado localmente file_path = "file_path" # Reemplazar con la ruta real del archivo #Enviar una solicitud GET para descargar el archivo response = requests.get(url, stream=True) #Verificar si la solicitud fue exitosa if response.status_code == 200: #Abrir el archivo de destino en modo de escritura binaria with open(file_path, "wb") as f: #Escribir datos en bloques para manejar archivos grandes for chunk in response.iter_content(chunk_size=8192): if chunk: f.write(chunk) print("Download completed successfully.") else: print("Object download failed. Status code:", response.status_code) -------------------------------------------------------------------------------- title: "Verificar disponibilidad del objeto" description: "Esta página enumera el método del SDK de Python para verificar si un objeto está presente en un bucket." last_updated: "2026-07-02T09:34:15.916Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/check-object-availability/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/check-object-availability/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/check-object-availability/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Verificar disponibilidad del objeto Usando este método del SDK, puedes verificar si un objeto particular está presente en el bucket y si el usuario tiene los permisos necesarios para acceder al objeto. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Si has habilitado Versioning para tu bucket, entonces necesitas pasar el version_id como parámetro, para verificar si una versión particular del objeto está disponible. Cuando uses este método del SDK, obtendrás una de las siguientes respuestas: - **true**: Si el objeto está disponible, la versión especificada está disponible y si el usuario tiene los permisos relevantes para acceder a los objetos. - **false**: - Si el objeto o la versión particular del objeto no está disponible en el bucket. - Si el usuario no tiene los permisos necesarios para acceder al objeto. - Si el bucket no existe. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto.</td> </tr> <tr> <td>version_id</td> <td>String</td> <td>Un parámetro opcional. Contendrá el ID de versión único del objeto, si Versioning está habilitado.</td> </tr> <tr> <td>throw_err</td> <td>Boolean</td> <td>Un parámetro opcional. Si estableces este parámetro como "true", entonces lanzará un error cuando el bucket no se encuentre en el proyecto. El valor predeterminado es "false"</td> </tr> </tbody> </table> head_object_res = bucket.head_object( "sam/out/sample.txt", 'version_id', throw_err=False) print(head_object_res) #### Posibles errores Note: Si usas el SDK con el parámetro throw_err, y el objeto no existe, o si no tienes permisos suficientes, puedes encontrar cualquiera de los errores listados a continuación. <table class="content-table"> <thead> <tr> <th class="w30p">Código de error</th> <th class="w70p">Significado</th> </tr> </thead> <tbody> <tr> <td>404</td> <td>No encontrado. Objeto no encontrado en Stratus.</td> </tr> <tr> <td>401</td> <td>No autorizado/Acceso denegado - El usuario no tiene permiso para realizar la operación en particular.</td> </tr> <tr> <td>403</td> <td>Permiso denegado - El usuario no tiene permiso para acceder al objeto en particular.</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Subir objeto" description: "Esta página enumera el método del SDK de Python para subir objetos a un bucket." last_updated: "2026-07-02T09:34:15.917Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/upload-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Upload an Object Help Documentation (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/upload-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/upload-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/upload-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/upload-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/upload-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/upload-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Subir objeto Los métodos del SDK listados en esta sección te permitirán subir objetos al bucket de diversas maneras. Puedes subir objetos como un **string** o como un **stream**. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Si no tienes Versioning habilitado para tu objeto, y si Stratus recibe múltiples solicitudes de escritura para el mismo objeto, el objeto será sobrescrito continuamente. La última subida del objeto será el único objeto que se almacene. Sin embargo, con Versioning habilitado, cada subida se considerará una versión del objeto, y todas se almacenarán en el bucket, cada una con un version_id único. Note: Los siguientes caracteres, incluido el espacio, no son compatibles cuando creas una ruta o un objeto: comillas dobles, ambos corchetes angulares, hashtag, barra invertida y símbolo de barra vertical. ### Subir objeto como stream Usando este método del SDK, puedes subir objetos a un bucket como un stream. Almacena el stream en una variable y luego pasa esa variable en el método de subida. file = open('file_path','rb') res = bucket.put_object("sam/out/sample.txt",file) print(res) ### Subir objeto como string Usando este método del SDK, puedes subir el objeto como un string. Pasarás el nombre del objeto y los datos a almacenar en el objeto en formato string en el método de subida; put_object() res = bucket.put_object("sam/out/sample.txt",'content of the file') print(res) ### Subir objeto con opciones Usando este método del SDK, puedes utilizar las siguientes opciones mientras subes un objeto. * **overwrite**: Esta es una opción que puedes usar si *Versioning* para tu bucket no está habilitado. Sin versioning, necesitas usar esta opción si deseas sobrescribir un recurso. El valor predeterminado es '**false**'. * **ttl**: Esta es una opción que puedes usar para establecer el **Time-to-Live** (TTL) en segundos para un objeto. El valor debe ser mayor o igual a **60 segundos**. * **meta_data**: Esta es una opción que puedes usar para subir detalles de metadatos del objeto que se está subiendo. * **content_type**: Esta es una opción que puedes proporcionar si necesitas establecer el tipo MIME del objeto. options = { 'overwrite': 'true', 'ttl': '300', #especificar el tiempo de vida en segundos 'meta_data': { 'author': 'John' } } file = open('file_path','rb') res = bucket.put_object("sam/out/sample.txt",file, options) print(res) ### Subir objeto con opción de extracción Cuando subes un archivo zip usando el siguiente método, el archivo zip se extraerá y los objetos se subirán al bucket. # Definir opciones de subida incluyendo extract_upload options = { # Sobrescribir el objeto si ya existe 'overwrite': 'true', # Tiempo de vida en segundos después del cual el objeto expirará 'ttl': '300', # Extraer automáticamente el contenido del archivo ZIP 'extract_upload': 'true', # Tipo MIME del objeto 'content-type': 'application/zip', # Metadatos personalizados asociados al objeto 'meta_data': { 'author': 'Sam' } } #Abrir el archivo en modo binario file = open('sam.zip', 'rb') #Subir y extraer el contenido del ZIP res = bucket.put_object('sam/sample.zip', file, options) Este método del SDK devolverá un task_id. Puedes usar este task_id en este método del SDK para conocer el estado de la extracción. **Respuesta de ejemplo** { 'task_id': '1234263749' } ### Subir objeto usando Multipart En esta sección vamos a revisar los métodos del SDK que te permitirán subir exitosamente un objeto grande a un bucket en Stratus. La función de subida multipart subirá un archivo grande al bucket en múltiples solicitudes HTTPS. Todas estas solicitudes se combinarán en un solo objeto una vez que todas las partes individuales hayan sido subidas. Note: Se recomienda que consideres Multipart Upload como el método preferido para subir objetos que sean de 100 MB o más. #### Iniciar subida Multipart Para realizar operaciones multipart, necesitas obtener una instancia de objeto multipart. Nos referiremos a esta instancia del componente en varios fragmentos de código donde trabajamos con operaciones multipart realizadas en objetos almacenados en un bucket en Stratus. **Parámetro utilizado** bucket: Esta es la instancia de bucket que necesitas haber inicializado anteriormente usando este método del SDK. init_res = bucket.initiate_multipart_upload(key="") print(init_res) **Respuesta de ejemplo** { bucket: 'zcstratus123-development', key: 'objectName.txt', upload_id: '01j7xbm4vm5750zbedxqgc4q6m', status: 'PENDING' } #### Subir partes del objeto En el siguiente método del SDK, vamos a realizar subidas de las partes individuales del objeto. Cada parte tendrá un partNumber distinto que varía entre 1 y 1000. Aunque esto representa el orden de las partes, estas partes no necesariamente se subirán en secuencia. Estas partes se combinarán en secuencia una vez que la subida de todas las partes de los objetos esté completa. upload_res = bucket.upload_part(key="",upload_id="", part_number=3, body=open('file_path','rb')) print(upload_res) #### Obtener resumen de subida Multipart El siguiente método del SDK se puede usar para obtener un resumen operativo de todas las partes subidas. Para ver el resumen, usaremos el método get_multipart_upload_summary(). summary_res = bucket.get_multipart_upload_summary(key="", upload_id="") print(summary_res) **Respuesta de ejemplo** { "bucket": "zcstratus12345-development", "key": "sasm.txt", "upload_id": "01hyfyeazrrstmt7k5fa7ej726", "status": "PENDING", "parts": [ { "part_number": 1, "size": 0, "uploaded_at": 1716374678999 }, { "part_number": 2, "size": 2797094, "uploaded_at": 1716374678576 }, { "part_number": 4, "size": 0, "uploaded_at": 1716374679136 } ] } #### Completar subida Multipart del objeto El siguiente método nos permite terminar el proceso multipart una vez que todas las partes se han subido exitosamente. Para completar el proceso pasaremos el uploadId al método complete_multipart_upload(). complete_res = bucket.complete_multipart_upload(key="", upload_id="") print(complete_res) **Implementación de ejemplo del SDK** from concurrent.futures import ThreadPoolExecutor import zcatalyst_sdk def handler(request: Request): app = zcatalyst_sdk.initialize() if request.path == "/": # instancia de stratus stratus = app.stratus() # instancia del bucket bucket = stratus.bucket('bucket_name') # subida multiparte key = "sam/out/sample.txt" file_path = '/sam/smple.mp4' initiate_res = bucket.initiate_multipart_upload(key) part_number = 1 part_size = 50 * 1024 * 1024 futures = [] try: with open(file_path, 'rb') as file: with ThreadPoolExecutor(max_workers=3) as executor: while True: chunk = file.read(part_size) if not chunk: break futures.append(executor.submit( bucket.upload_part, key, initiate_res['upload_id'], chunk, part_number ) ) part_number += 1 for future in futures: future.result() except Exception as err: raise err multipart_upload_res = bucket.complete_multipart_upload(key, initiate_res['upload_id']) return multipart_upload_res else: response = make_response('Unknown path') response.status_code = 400 return response ### Subir un objeto usando Transfer Manager Cuando el objeto que necesitas subir es demasiado grande para subirlo, puedes realizar una operación de transfer manager. La operación de transfer manager dividirá el objeto en múltiples partes y realizará una subida más rápida. En esta sección del SDK, vamos a revisar todos los métodos del SDK disponibles para subir objetos en Stratus usando Transfer Manager. #### Obtener instancia de Transfer Manager Para realizar operaciones de transfer manager, necesitas obtener una instancia de objeto de transfer manager. Nos referiremos a esta instancia del componente en varios fragmentos de código donde trabajamos con operaciones de transfer manager realizadas en objetos almacenados en un bucket en Stratus. **Parámetro utilizado** bucket: Esta es la instancia de bucket que necesitas haber inicializado anteriormente usando este método del SDK. **Asegúrate de que los siguientes paquetes estén importados** from zcatalyst_sdk.stratus.transfer_manager import TransferManager transfer_manager = TranferManager(bucket) #### Subir un objeto usando Transfer Manager En esta sección vamos a revisar los métodos del SDK que te permitirán subir exitosamente un objeto grande a un bucket en Stratus. La función de subida multipart subirá un archivo grande al bucket en múltiples solicitudes HTTPS. Todas estas solicitudes se combinarán en un solo objeto una vez que todas las partes individuales hayan sido subidas. Note: Se recomienda que consideres Multipart Upload como el método preferido para subir objetos que sean de 100 MB o más. #### Crear instancia Multipart Usando el siguiente método del SDK, vamos a generar un upload_id. Usando este ID vamos a crear y devolver una instancia que te permita realizar operaciones multipart en el objeto. init_ins = transfer_manager.create_multipart_instance(key="") Si necesitas crear una instancia para una operación de subida multipart ya inicializada, entonces copia y usa el fragmento de código que se muestra a continuación. init_ins = transfer_manager.create_multipart_instance(key="", upload_id="") #### Realizar subida Multipart para partes del objeto En el siguiente método del SDK, vamos a realizar subidas de las partes individuales del objeto. Cada parte tendrá un part_number distinto que varía entre **1 y 1000**. Aunque esto representa el orden de las partes, estas partes no necesariamente se subirán en secuencia. Estas partes se combinarán en secuencia una vez que la subida de todas las partes de los objetos esté completa. **Parámetros utilizados** * part_number: Tendrá el orden de las partes que se están subiendo. * body: Contendrá los datos/contenido del objeto. upload_res = init_ins.upload_part(body=open('file_path','rb'), part_number=3) print(upload_res) #### Obtener resumen de subida Multipart El siguiente método del SDK se puede usar para obtener un resumen operativo de todas las partes subidas. Para ver el resumen, usaremos el método get_upload_summary(). summary_res = init_ins.get_upload_summary() print(summary_res) #### Completar subida Multipart del objeto El siguiente método nos permite terminar el proceso multipart una vez que todas las partes se han subido exitosamente. Para completar el proceso pasaremos el upload_id al método complete_upload(). complete_res = init_ins.complete_upload() print(complete_res) #### Subir un objeto envolviendo toda la funcionalidad de Transfer Manager El siguiente método del SDK actúa como un envoltorio, donde toda la operación de subida del transfer manager se lleva a cabo sin emplear múltiples pasos. Usando este método, el objeto se divide en múltiples partes, se sube al bucket en múltiples partes y luego se combina una vez que todas las partes están subidas. Note: Para objetos que sean más grandes de 2GB, recomendamos que uses los métodos individuales del SDK para llevar a cabo la operación de subida multipart exitosamente.<br /> upload_res = transfer_res.put_object_as_parts(key='', body=open('file_path', 'rb'), part_size=50) print(upload_res) ### Generar URL prefirmada para subir un objeto 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 los objetos. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>url_action</td> <td>Request Method</td> <td>Un parámetro obligatorio. Este es el parámetro que te permitirá generar una URL prefirmada para una acción de subida (PUT). <ul> <li>**PUT**: Para subir un objeto</li> </ul> </td> </tr> <tr> <td>expiry</td> <td>String</td> <td>Este es un parámetro opcional. El tiempo de validez de la URL en segundos. <ul> <li>Valor predeterminado: 3600 segundos</li> <li>Valor mínimo: 30 segundos</li> <li>Valor máximo: 7 días</li> </ul> </td> </tr> <tr> <td>active_from</td> <td>String</td> <td>Este es un parámetro opcional. Este parámetro contendrá el tiempo después 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.</td> </tr> </tbody> </table> pre_signed_url_res = bucket.generate_presigned_url("sam/out/sample.txt",url_action='PUT',expiry_in_sec='300', active_from='1023453725828') print(pre_signed_url_res) **Respuesta de ejemplo para generar una URL prefirmada para subida** { "signature": "https://sadi-development.zohostratus.com/_signed/code.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747899245773&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=YBPoNE9txCIUWWX3ntdgVd95VTt1jGFlSuvnTRFbCMQ" file_path = "/Users/ranjitha-18338/Documents/Pyhton-SDK/filestore2.0/output.txt", "expiry_in_seconds": "300", "active_from": "1726492859577" } **Fragmento de ejemplo que ilustra el uso de URL prefirmada para subir un objeto** import requests #Reemplazar con tu URL prefirmada real url = "https://sadi-development.zohostratus.com/_signed/code.txt?organizationId=96862383&stsCredential=96858154-96862383&stsDate=1747899245773&stsExpiresAfter=300&stsSignedHeaders=host&stsSignature=YBPoNE9txCIUWWX3ntdgVd95VTt1jGFlSuvnTRFbCMQ" #Ruta al archivo local que deseas subir file_path = "file_path" #Establecer los encabezados requeridos headers = { # 'Content-Type': 'text/plain', # Especificar el tipo de contenido del archivo # 'overwrite': 'true', # Encabezado personalizado opcional para indicar sobrescritura (si lo requiere el servidor) } #Abrir el archivo en modo de lectura binaria y enviar una solicitud PUT para subirlo with open(file_path, 'rb') as f: files = {'file': f} #Crear un payload de archivo response = requests.put(url, headers=headers, files=files) #Verificar el estado de la respuesta if response.status == 200: print('Object uploaded successfully') else: print('Object upload failed') -------------------------------------------------------------------------------- title: "Extraer un objeto comprimido" description: "Esta página enumera el método del SDK de Python para extraer un objeto comprimido." last_updated: "2026-07-02T09:34:15.917Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/extract-zipped-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/extract-zipped-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/extract-zipped-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Extraer un objeto comprimido El siguiente método del SDK te permitirá extraer un archivo zip dentro de Stratus, y cada contenido individual presente en el archivo zip se considerará como un objeto individual y se subirá a Stratus en el mismo bucket. Todo este proceso ocurrirá de forma *asíncrona*. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección Note: Dado que el proceso de extracción ocurre de forma asíncrona, el tiempo en el que se completa todo el proceso depende del tamaño del archivo zip que se está extrayendo. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Será el nombre del archivo zip que necesitas extraer</td> </tr> <tr> <td>destination</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá la información de ruta completa del destino, donde los objetos extraídos se almacenarán en el bucket.</td> </tr> </tbody> </table> unzip_res = bucket.unzip_object("sam/out/sample.zip","output/") print(unzip_res) #### Respuesta de ejemplo { "key": "sam/out/sample.zip", "destination": "output/", "task_id": "6963000000272049", "message": "Zip extract scheduled" } ### Obtener estado de la extracción zip El proceso de extracción zip ocurre de forma asíncrona, y el tiempo que tarda en completarse el proceso de extracción depende en gran medida del tamaño del archivo zip. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección Usando el parámetro task_id, en el siguiente método del SDK, podemos determinar el estado de la extracción. El task_id se devuelve en la respuesta del método unzip_object(). res = bucket.get_unzip_status("sam/out/sample.zip", 'task_id') print(res) #### Respuesta de ejemplo { "task_id": "6963000000272049", "status": "SUCCESS" } -------------------------------------------------------------------------------- title: "Copiar objeto" description: "Esta página enumera el método del SDK de Python para hacer una copia de un objeto dentro de su propio bucket." last_updated: "2026-07-02T09:34:15.917Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/copy-objects/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/copy-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/copy-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Copiar objeto Usando este método del SDK, puedes copiar un objeto y pegarlo dentro de un bucket. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección El key será el objeto que vas a copiar, y el destination contendrá el nuevo nombre del objeto copiado. Para pegar el objeto copiado en una ruta diferente, necesitas proporcionar el nombre de ruta completo como dest_object. Note: * Necesitas proporcionar el nombre completo del objeto, junto con la ruta para ambos valores key y destination. * Por ejemplo, si tienes un archivo llamado "kitten.png" en la ruta pictures/puppy, y necesitas copiar el archivo a la ruta pictures/kitten, entonces: <br /> El valor de key será 'pictures/puppy/kitten.png'<br /> El valor de destination será 'pictures/kitten/kitten.png'<br /> res = bucket.copy_object("sam/out/sample.txt","output/sample.txt") print(res) #### Respuesta de ejemplo { "copy_to": "output/sample.txt", "object_key": "sam/out/sample.txt", "message": "Object copied successfully." } -------------------------------------------------------------------------------- title: "Operaciones de renombrar y mover en un objeto" description: "Esta página enumera el método del SDK de Python para realizar operaciones de renombrar y mover en un objeto." last_updated: "2026-07-02T09:34:15.917Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/rename-move-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/rename-move-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/rename-move-object/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Operaciones de renombrar y mover en un objeto Para renombrar y mover un objeto, usaremos el mismo método del SDK rename_object(). La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>El nombre original del objeto que necesitas renombrar</td> </tr> <tr> <td>destination</td> <td>String</td> <td>El nuevo nombre con el que renombras el objeto</td> </tr> </tbody> </table> Note: * Necesitas proporcionar el nombre completo del objeto, junto con la ruta para ambos valores sourceObject y destObject. * Por ejemplo, si tienes un archivo llamado "kitten.png" en la ruta pictures/puppy, y necesitas mover o renombrar el archivo a la ruta pictures/kitten, entonces: <br /> El valor de key será 'pictures/puppy/kitten.png'<br /> El valor de destination será 'pictures/kitten/kitten.png'<br /> ### Renombrar un objeto Usando el método del SDK rename_object() puedes renombrar objetos presentes en un bucket. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección Note: * No puedes renombrar objetos en un bucket que tenga Versioning habilitado. * Los siguientes caracteres, incluido el espacio, no son compatibles cuando creas una ruta o un objeto: comillas dobles, ambos corchetes angulares, hashtag, barra invertida y símbolo de barra vertical. rename_res = bucket.rename_object("sam/out/sample.txt","sam/out/update_sample.txt") print(rename_res)<br /> #### Respuesta de ejemplo { "current_key": "sam/out/sample.txt", "message": "Rename successful", "rename_to": "sam/out/update_sample.txt" } ### Mover un objeto Usando el método del SDK rename_object(), podemos mover el objeto de una ruta a otra dentro de un bucket. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección rename_res = bucket.rename_object("sam/out/sample.txt","output/sample.txt") print(rename_res)<br /> Note: No puedes realizar operaciones de mover en un bucket que tenga Versioning habilitado. #### Respuesta de ejemplo { "current_key": "sam/out/sample.txt", "message": "Rename successful", "rename_to": "sutput/sample.txt" } -------------------------------------------------------------------------------- title: "Eliminar objetos" description: "Esta página enumera el método del SDK de Python para eliminar objetos almacenados en un bucket." last_updated: "2026-07-02T09:34:15.918Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/delete-objects/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/delete-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/delete-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/delete-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/delete-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Eliminar objetos Los siguientes métodos del SDK te permitirán realizar operaciones de eliminación en Stratus. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>version_id</td> <td>String</td> <td>Un parámetro opcional. Si Versioning está habilitado para tu bucket, este parámetro te ayudará a referirte a una versión particular usando su ID de versión único.</td> </tr> <tr> <td>ttl</td> <td>int</td> <td>Un parámetro opcional. Te permite programar tus operaciones de eliminación. Por ejemplo, si proporcionas el valor de ttl como 60, la operación de eliminación solo ocurrirá después de 60 segundos. El valor de ttl debe ser >= 60 segundos.</td> </tr> </tbody> </table> ### Eliminar un solo objeto Usando este método del SDK, puedes eliminar un objeto particular pasando el nombre del objeto al método delete_object(). delete_res = bucket.delete_object("sam/out/sample.txt") print(delete_res) Note: Si Versioning está habilitado en el bucket y no se proporciona un version_id específico, eliminar un objeto eliminará todas las versiones de ese objeto de forma predeterminada. ### Eliminar una versión específica de un objeto después de un tiempo específico Asegúrate de proporcionar el versionId del objeto si habilitaste Versioning para tu bucket. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección También puedes programar tu operación de eliminación usando la variable ttl. Por ejemplo, si proporcionas el valor de ttl como **100**, la operación de eliminación solo ocurrirá después de **100 segundos**. Siempre asegúrate de que el valor de ttl sea mayor o igual a **60 segundos**. delete_res = bucket.delete_object("sam/out/sample.txt", 'version_id', ttl=300) print(delete_res) ### Eliminar múltiples objetos Usando este método del SDK, puedes eliminar múltiples objetos pasando los nombres de los objetos que necesitan ser eliminados como un array. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección Asegúrate de proporcionar el versionId del objeto si habilitaste Versioning para tu bucket. También puedes programar tu operación de eliminación usando la variable ttl. Por ejemplo, si proporcionas el valor de ttl como **100**, la operación de eliminación solo ocurrirá después de **100 segundos**. Siempre asegúrate de que el valor de ttl sea mayor o igual a **60 segundos**. delete_objects_res = bucket.delete_objects([ { 'key' : "sam/out/sample.txt", 'version_id':'01hj6ackcxpha9151n7mj0cq6g' }, { 'key' :"sam/out/sample1.txt", 'version_id':'01hj68v1tmb33wa7zchb1vtbjn' }],ttl=300) print(delete_objects_res) #### Respuesta de ejemplo para la operación de eliminación {'message': 'Object Deletion successful.'} ### Truncar bucket Usando este método del SDK podrás eliminar esencialmente cada uno de los objetos presentes en el bucket. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección # eliminar todos los objetos del bucket truncate_res = bucket.truncate() print(truncate_res) ### Eliminar una ruta en el bucket Usando este SDK, podrás eliminar todos los objetos presentes en una ruta. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección Necesitas pasar la ruta completa al método delete_path(). path_res = bucket.delete_path("sam/") print(path_res)<br /> Note: Asegúrate de proporcionar la ruta exacta. Si se proporciona una ruta incorrecta, la acción de eliminación se programará, pero resultará en un error. #### Respuesta de ejemplo { "path": "sam/", "message": "Path deletion scheduled" } -------------------------------------------------------------------------------- title: "Crear instancia de objeto" description: "Esta página enumera el método del SDK de Python para crear una instancia de objeto." last_updated: "2026-07-02T09:34:15.918Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/create-object-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-object-instance/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-object-instance/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de objeto Utiliza el siguiente método para obtener una instancia de objeto y realizar operaciones relacionadas con objetos. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente. object_ins = bucket.object("sam/out/sample.txt") -------------------------------------------------------------------------------- title: "Listar versiones de objetos" description: "Esta página enumera el método del SDK de Python para obtener las versiones de un objeto." last_updated: "2026-07-02T09:34:15.918Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/list-object-versions/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/get-object-versions/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/get-object-versions/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Listar versiones de objetos ### Listar todas las versiones de un objeto mediante paginación Habilitar Versioning en un bucket te permite almacenar múltiples versiones del mismo objeto en el bucket. Cada versión del objeto tendrá su propio versionId. Este método del SDK te permite obtener todas las versiones existentes de un objeto presente en un bucket mediante paginación. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>next_token</td> <td>String</td> <td>Contendrá el valor para determinar el siguiente conjunto de versiones.</td> </tr> <tr> <td>max_versions</td> <td>int</td> <td>Un parámetro opcional. Contendrá el valor del número máximo de versiones del objeto que se pueden listar por iteración.</td> </tr> </tbody> </table> def list_my_paged_versions(max_versions = None, next_token= None): res = object_ins.list_paged_versions(max_versions, next_token) print(res) if not res['is_truncated']: # devuelve 'true' si hay más versiones disponibles para el objeto. Devuelve 'false' si no hay más versiones disponibles return list_my_paged_versions(max_versions, next_token) list_my_paged_versions(2) #### Respuesta de ejemplo { "key": "downloaded_file.json", "versions_count": 2, "max_versions": "2", "is_truncated": "False", "next_continuation_token": "4YpUdkktt2UeWp6MwEK1LZXELnuVhunHLnGgX29uvszwtJEQE2gVDJYyRiLdUmhNst", "version": [ { "version_id": "01hyfh12njtpyvzwq6p1fd2d8s", "is_latest": "True", "last_modified": "May 22, 2024 12:20 PM", "size": 1, "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" }, { "version_id": "01hyfh0xkvwkxxsjfceef201xa", "is_latest": "False", "last_modified": "May 22, 2024 12:20 PM", "size": "1", "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" } ] } ### Listar todas las versiones del objeto mediante iteración Puedes usar el siguiente método del SDK para obtener todas las versiones disponibles del objeto en una sola llamada. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección versions = object_ins.list_iterable_versions(2) for key in versions: print(key) #### Respuesta de ejemplo { "version_id": "01hyfh12njtpyvzwq6p1fd2d8s", "is_latest": "True", "last_modified": "May 22,2024 12:20 PM", "size": "1", "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" } { "version_id": "01hyfh0xkvwkxxsjfceef201xa", "is_latest": "False", "last_modified": "May 22, 2024 12:20 PM", "size": "1", "etag": "9af7c117d9de9a06fba7a5f1ea5fcc2d" } -------------------------------------------------------------------------------- title: "Obtener detalles del objeto" description: "Esta página enumera el método del SDK de Python para obtener los detalles de los objetos almacenados en un bucket." last_updated: "2026-07-02T09:34:15.918Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/object-details/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/object-details/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/object-details/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Obtener detalles del objeto ### Obtener detalles de un objeto Usa el siguiente método del SDK para obtener los detalles de un objeto almacenado en el bucket. La referencia de Object utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección res = object_ins.get_details() print(res) Note: Si Versioning está habilitado, entonces usar este método del SDK solo devolverá los detalles del objeto de la versión más reciente. #### Respuesta de ejemplo { "key": "sam/out/sample.txt", "size": 1, "content_type": "text/plain", "last_modified": "May 22, 2024 12:25 PM", "meta_data": { "author": "John" }, "object_url": "https://zcstratus12345-development.zohostratus.com/sam/out/sample.txt", "cached_object_url": "https://zcstratus12345-development.nimbuslocaledge.com/sam/out/sample.txt" } ### Obtener detalles de una versión particular del objeto Usando este método del SDK, podrás obtener todos los detalles de una versión particular de un objeto. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>version_id</td> <td>String</td> <td>Un parámetro opcional. Si Versioning está habilitado para tu bucket, este parámetro te ayudará a referirte a una versión particular usando su ID de versión único.</td> </tr> </tbody> </table> Note: * Necesitas haber habilitado Versioning para tus objetos al menos una vez para usar este método. * Puedes obtener más información sobre Versioning en esta documentación de ayuda. res = object_ins.get_details('version_id') print(res) #### Respuesta de ejemplo { "key": "sample.txt", "version_id": "01j7xgnmv5dhpk45kn3pctkasp", "size": 16, "content_type": "text/plain", "etag": "ad6affccd08876ad9ae5f60b7848b2c7", "last_modified": "Sep 16, 2024 07:04 PM", "object_url": "https://zcstratus123-development.zohostratus.com/sample.txt", "cached_object_url": "https://zcstratus123-development.nimbuslocaledge.com/sample.txt", } -------------------------------------------------------------------------------- title: "Agregar metadatos del objeto" description: "Esta página enumera el método del SDK de Python para agregar metadatos a un objeto almacenado en el bucket." last_updated: "2026-07-02T09:34:15.918Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/cloud-scale/stratus/put-object-meta/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/put-object-meta/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/put-object-meta/) - Web SDK (/es/sdk/web/v4/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Agregar metadatos del objeto Usando el siguiente método del SDK, puedes agregar detalles de metadatos para un objeto particular almacenado en un bucket en Stratus. La referencia de Object utilizada en el siguiente fragmento de código es la instancia del componente. Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección Los detalles de metadatos se pasarán como pares clave-valor JSON. Por ejemplo, {"meta_key" : "meta_value"} res = object_ins.put_meta({'author': 'Amelia Burrows'}) print(res) Note: * Usar este método para pasar nuevos detalles de metadatos sin agregar los detalles existentes eliminará los detalles existentes y solo agregará los nuevos detalles. Para evitar esto, pasa los nuevos detalles de metadatos junto con los detalles de metadatos existentes. * Puedes usar caracteres alfanuméricos, guiones bajos o espacios en blanco, así como guiones, para escribir tus metadatos. No se permite ningún otro carácter especial aparte de los mencionados. * Puedes obtener los metadatos de un objeto usando el método de solicitud **HEAD**. En la respuesta, los metadatos se listarán en la clave 'x-user-meta'. * El límite máximo de tamaño de caracteres permitido para los metadatos generales es de **2047** caracteres. El conteo de caracteres utilizado para determinar el límite de tamaño también incluye el carácter especial dos puntos ":" utilizado para definir el par clave-valor. #### Respuesta de ejemplo { "message": "Metadata added successfully" } --- ## SDK — Web — Stratus -------------------------------------------------------------------------------- title: "Descripción general" description: "Esta página describe el método del Web SDK para realizar operaciones en Stratus." last_updated: "2026-07-02T09:34:15.919Z" source: "https://docs.catalyst.zoho.com/es/sdk/web/v4/cloud-scale/stratus/overview/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/overview/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/overview/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/overview/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Descripción general Cloud Scale Stratus es la solución de almacenamiento robusta y potente de Catalyst. Puedes almacenar datos de cualquier formato en forma de Objects en contenedores llamados Buckets. Cada Bucket y cada objeto individual en el bucket tiene una Object URL y una Bucket URL seguras. Puedes realizar operaciones de subida y descarga en objetos e incluso proporcionar permisos personalizados para cada objeto. Nota: * Se recomienda que habilites CORS para incluir en la lista blanca tu dominio de aplicación o servicio AppSail requerido y usar los siguientes SDKs. * Para usar los métodos del SDK de Stratus, debes asegurarte de actualizar tu Web SDK a v4.5.0-beta. * También necesitas actualizar el Catalyst CLI a v1.18.0-beta.5 La siguiente tabla contiene la lista de todos los SDKs de Catalyst que se pueden usar para realizar operaciones de Stratus a través de código. <table class="content-table"> <thead> <tr> <th class="w30p">Categoría</th> <th class="w70p">Método del SDK</th> </tr> </thead> <tbody> <tr> <td>Operaciones generales de Stratus</td> <td> <ul> <li>Create Stratus Instance <ul> <li>Initialize Bucket Instance</li> </ul> </li> </ul> </td> </tr> <tr> <td>Operaciones de Bucket</td> <td> <ul> <li>Check Object Availability <ul> <li>Check Object Availability Without VersionID</li> <li>Check Object Availability With VersionID</li> </ul> </li> <li>Download Object <ul> <li>Download Object Using Object Name</li> <li>Download a Particular Version of the Object</li> <li>Download Object With Process Callback</li> <li>Download a Particular Part of the Object</li> <li>Download Object Using a Signed URL <ul> <li>Using Asynchronous Functions</li> <li>Using Promises</li> <li>Using SignedURL with Options</li> </ul> </li> <li>Download a Cached Object Using Cached URL</li> </ul> </li> <li>Upload Object <ul> <li>Upload Object as File</li> <li>Upload Object as String</li> <li>Upload Object With Options</li> <li>Upload Object With Process Callback</li> <li>Upload Object With Its Meta Details</li> <li>Mutlipart Upload</li> <li>Upload an Object Wrapping all the Multipart Functionality</li> </ul> </li> <li>Delete Object <ul> <li>Delete Object With Object Name</li> <li>Delete Object With Object Name and VersionID</li> </ul> </li> </ul> </td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Crear instancia de Stratus" description: "Esta página describe el método del Web SDK para inicializar una instancia de Stratus." last_updated: "2026-07-02T09:34:15.919Z" source: "https://docs.catalyst.zoho.com/es/sdk/web/v4/cloud-scale/stratus/initialize-stratus-instance/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/create-stratus-instance/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/create-stratus-instance/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/create-stratus-instance/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/create-bucket-instance/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/create-bucket-instance/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/initialize-stratus/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Crear instancia de Stratus Puedes obtener la referencia del componente stratus como se muestra a continuación. Esto no realizará una llamada del lado del servidor. Haremos referencia a esta instancia del componente en varios fragmentos de código para trabajar con Stratus. const stratus = catalyst.stratus ### Inicializar instancia de Bucket Para realizar operaciones a nivel de bucket, necesitas inicializar una instancia de bucket. Haremos referencia a esta instancia del componente en varios fragmentos de código para trabajar con Buckets en Stratus. const bucket = stratus.bucket("bucketName") -------------------------------------------------------------------------------- title: "Verificar disponibilidad de objeto" description: "Esta página describe el método del Web SDK para verificar si un objeto está presente en un bucket." last_updated: "2026-07-02T09:34:15.919Z" source: "https://docs.catalyst.zoho.com/es/sdk/web/v4/cloud-scale/stratus/check-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/check-bucket/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/check-bucket/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/check-bucket/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/overview/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/overview/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/overview/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Verificar disponibilidad de objeto Usando el método del SDK headObject(), puedes verificar la existencia de un objeto en un bucket y, además, comprobar si el usuario tiene los permisos relevantes para acceder a los objetos presentes en el bucket. La referencia de Bucket utilizada en el fragmento de código a continuación es la instancia del componente. Respuestas posibles al usar este SDK: * Si el bucket existe y el usuario tiene los permisos relevantes para acceder a los objetos en él, se devolverá la respuesta '**true**'. * Si el bucket no existe, o si el usuario no tiene permiso para acceder a los objetos en él, se devolverá la respuesta '**false**'. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>options</td> <td>JSON Object</td> <td>Un parámetro opcional para contener los siguientes parámetros: <ul> <li>versionId: <ul> <li>Un parámetro String opcional.</li> <li>Si el Versionado está habilitado para tu bucket, este parámetro te ayudará a hacer referencia a una versión particular usando su Version ID único.</li> </ul> </li> <li>throwErr: <ul> <li>Un parámetro Boolean opcional.</li> <li>Si estableces este parámetro como "true", lanzará un error cuando el bucket no se encuentre en el proyecto.</li> <li>El valor por defecto es "false"</li> </ul> </li> </ul> </td> </tr> </tbody> </table> ### Verificar disponibilidad de objeto sin VersionID El siguiente método del SDK te proporcionará la topVersion (última versión) del objeto en el bucket. // Verificar si un objeto está disponible const checkObjectAvailability = await bucket.headObject("key") ### Verificar disponibilidad de objeto con VersionID El siguiente método del SDK verificará la disponibilidad de una versión específica del objeto. La versión requerida se referenciará por su versionId único. // Verificar si cierta versión de un objeto está disponible const options = { versionId: 'djkfhdiufy762', throwErr: false }; const checkObjectAvailability = await bucket.headObject("key", options) **Respuesta de ejemplo** { "status": 200, "content": true | false, "message": "OK" } -------------------------------------------------------------------------------- title: "Descargar objeto" description: "Esta página describe el método del Web SDK para recuperar un objeto de Stratus." last_updated: "2026-07-02T09:34:15.919Z" source: "https://docs.catalyst.zoho.com/es/sdk/web/v4/cloud-scale/stratus/download-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/download-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/download-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/download-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/download-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/download-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/download-object/) - REST API (/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. 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** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Contendrá el nombre del objeto</td> </tr> <tr> <td>options</td> <td>JSON Object</td> <td> <ul> <li>versionId: Este es un parámetro String opcional. Contendrá el version ID único de la versión del objeto requerido. </li> <li>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.</li> <li>cached: Este es un parámetro Boolean opcional. <ul> <li>Se usará para obtener la versión en caché del objeto</li> <li>Solo aceptará dos valores: "true" o "false"</li> <li>false será el valor si no se usa este parámetro</li> <li>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é.</li> </ul> </li> <li>signed: Este es un parámetro Boolean opcional. El valor por defecto es "false". Realizará una llamada API para obtener una URL firmada. </li> <li>signedUrlFn: <ul> <li>Este es un parámetro Function opcional.</li> <li>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.</li> <li>Esta función solo aceptará funciones asíncronas y promesas.</li> <li>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.</li> </ul> </li> </ul> </td> </tr> <tr> <td>processCallback</td> <td>Function</td> <td>Función de callback durante la descarga del archivo</td> </tr> </tbody> </table> ### 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 -------------------------------------------------------------------------------- title: "Subir objeto" description: "Esta página describe el método del Web SDK para subir un objeto a un bucket." last_updated: "2026-07-02T09:34:15.920Z" source: "https://docs.catalyst.zoho.com/es/sdk/web/v4/cloud-scale/stratus/upload-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Upload Object Help Documentation (/es/cloud-scale/help/stratus/objects/upload-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/upload-object/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/upload-object/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/upload-object/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/upload-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/upload-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/upload-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Subir objeto El método del SDK listado en esta sección te permitirá subir objetos al bucket. La referencia de Stratus utilizada en el fragmento de código a continuación es la instancia del componente. Si no tienes el Versionado habilitado para tu objeto, y si Stratus recibe múltiples solicitudes de escritura para el mismo objeto, el objeto se sobrescribirá continuamente. La última subida del objeto será el único objeto que se almacene. Sin embargo, con el Versionado habilitado, cada subida se considerará una versión del objeto, y todas se almacenarán en el bucket, cada una con un versionId único. Nota: Los siguientes caracteres, incluyendo el espacio, no son compatibles cuando creas una ruta o un objeto: comillas dobles, ambos paréntesis angulares, hashtag, barra invertida y símbolo de barra vertical. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>File</td> <td>File | String</td> <td>Un parámetro obligatorio. El objeto que necesita ser subido.</td> </tr> <tr> <td>options <td>JSON Object</td> <td> <ul> <li>overwrite: Este es un parámetro String opcional. <ul> <li>Si el Versionado para tu bucket no está habilitado, entonces necesitas usar esta opción si deseas sobrescribir un recurso.</li> <li>Valor por defecto: false</li> </ul> </li> <li>ttl: Este es un parámetro String | Number opcional. <ul> <li>Puedes establecer el Time-to-Live (ttl) en segundos para un objeto.</li> <li>El valor debe ser mayor o igual a 60 segundos.</li> </ul> </li> <li>type: Este es un parámetro String opcional. <ul> <li>Este parámetro se puede usar para sobrescribir el content-type del objeto.</li> <li>Si no pasas este parámetro, entonces por defecto el valor de type será application/octet-stream</li> </ul> </li> <li>meta: Este es un parámetro JSON Object opcional. Se usa para agregar los detalles de metadatos de un objeto que se está subiendo a un bucket. El valor por defecto es un objeto JSON vacío </li> </ul> </td> <tr> <td>processCallback</td> <td>Function</td> <td>Función de callback durante la descarga del archivo</td> </tr> </tbody> </table> ### Subir objeto como archivo El siguiente método del SDK te permitirá subir un archivo de objeto a un bucket en Stratus. // Subir objeto como File const file = document.getElementById("uploadedFiles").files[0] const putObject = await bucket.putObject("key", file); const putObjectStart = putObject.start(); // para iniciar la solicitud const putObjectAbort = putObject.abort(); // para cancelar la solicitud ### Subir objeto como string El siguiente método del SDK te permitirá subir un objeto de tipo string a un bucket en Stratus. // Subir objeto como String const putObject = await bucket.putObject("key", "Content of the file"); const putObjectStart = putObject.start(); // para iniciar la solicitud const putObjectAbort = putObject.abort(); // para cancelar la solicitud ### Subir objeto con opciones El siguiente método del SDK te permitirá subir cualquier objeto a un bucket en Stratus. Usando este método del SDK puedes implementar el parámetro options para proporcionar instrucciones de type, overwrite y ttl. // Subir objeto con opciones const options = { "overwrite": true, //To overwrite an existing object "ttl": 300, //After 300 seconds the object will be deleted from the bucket "type": "text/plain" // Tipo de archivo del objeto que se está subiendo } const putObject = await bucket.putObject("key", "Content of the file", options); const putObjectStart = putObject.start(); // para iniciar la solicitud const putObjectAbort = putObject.abort(); // para cancelar la solicitud ### Subir objeto con Process Callback El siguiente fragmento del SDK te permitirá subir un objeto particular a 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 subida. // Ejecutar una función mientras se sube el objeto const processCallback = () => { // Función a ejecutar mientras el objeto se está subiendo console.log("Uploading Object"); } const options = { "overwrite": true, "ttl": 300, "type": "text/plain" } const putObject = await bucket.putObject("key", "Content of the file", options, processCallback); const putObjectStart = putObject.start(); // para iniciar la solicitud const putObjectAbort = putObject.abort(); // para cancelar la solicitud ### Subir objeto con sus detalles de metadatos El siguiente fragmento del SDK te permitirá subir un objeto particular junto con sus metadatos a un bucket en Stratus. // Subir objeto con metadatos const options = { "overwrite": true, "ttl": 300, "type": "text/plain" // Tipo de archivo del objeto a subir "meta": { "object_meta_key" : "object_meta_value" } } const putObject = await bucket.putObject("key", "Content of the file", options); const putObjectStart = putObject.start(); // para iniciar la solicitud const putObjectAbort = putObject.abort(); // para cancelar la solicitud **Respuesta de ejemplo** { "status": 200, "content": true | false, //true: subido exitosamente y false: error en la subida "message": "OK" } ### Subida multiparte Cuando el objeto que necesitas subir es demasiado grande para subirlo, puedes realizar una operación multiparte. La operación multiparte dividirá el objeto en múltiples partes y realizará una subida más rápida. En esta sección del SDK, vamos a revisar todos los métodos del SDK disponibles para realizar la subida multiparte de objetos en Stratus. #### Crear instancia multiparte Para realizar operaciones multiparte, necesitas obtener una instancia de objeto multiparte. Haremos referencia a esta instancia del componente en varios fragmentos de código donde trabajamos con operaciones multiparte que se realizan en objetos almacenados en un bucket en Stratus. La referencia de Bucket utilizada en el fragmento de código a continuación es la instancia del componente. const multipart = bucket.getMultipartInstance("key"); #### Iniciar subida multiparte **Iniciar subida multiparte sin opciones** Usando el siguiente método del SDK, Stratus devolverá un uploadId. Este ID nos permitirá subir múltiples partes del objeto. // iniciar subida const initiateUpload = await multipart.initiateUpload(); **Iniciar subida multiparte con opciones** Usando el siguiente método del SDK, Stratus devolverá un uploadId. Este ID nos permitirá subir múltiples partes del objeto. Además, usando este método del SDK puedes implementar el parámetro options para proporcionar instrucciones de type. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>type</td> <td>String</td> <td> <ul> <li>Este parámetro es una clave en el parámetro options de tipo JSON Object. <li>Este parámetro se puede usar para sobrescribir el content-type del objeto.</li> <li>Si no pasas este parámetro, entonces por defecto el valor de type será application/octet-stream</li> </ul> </td> </tr> </tbody> </table> // iniciar subida con opciones const options = { type: "application/json" } const initiateUpload = await multipart.initiateUpload(options); **Respuesta de ejemplo** { "status": 200, "content": { "bucket": "llm-development", "key": "a/cv", "upload_id": "01hyj639a9zfbg8j7q86nsrj6r" }, "message": "OK" } #### Subir una parte del objeto En el siguiente método del SDK, vamos a realizar subidas de las partes individuales del objeto. Cada parte tendrá un part distinto que va desde **1 hasta 1000**. Aunque esto representa el orden de las partes, estas partes no necesariamente se subirán en secuencia. Estas partes se combinarán en secuencia una vez que se complete la subida de todas las partes de los objetos. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>file</td> <td>File</td> <td>El objeto que necesita ser subido.</td> </tr> <tr> <td>part</td> <td>Number</td> <td>Contendrá el orden de las partes que se están subiendo.</td> </tr> </tbody> </table> const partNumber = 1; const file = document.getElementById("uploadedFiles").files[0] const uploadPart = await multipart.uploadPart(file, partNumber) const uploadPartStart = uploadPart.start(); // para iniciar la solicitud const uploadPartAbort = uploadPart.abort(); // para cancelar la solicitud **Respuesta de ejemplo** { "status": 200, "content": true | false, //true: subido exitosamente y false: error en la subida "message": "OK" } #### Completar subida multiparte El siguiente método nos permite terminar el proceso multiparte una vez que todas las partes se han subido exitosamente. const completeUpload = await multipart.completeUpload() **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>options</td> <td>JSON Object</td> <td>meta: Este es un parámetro JSON Object opcional. Se usa para agregar los detalles de metadatos de un objeto que se está subiendo a un bucket. El valor por defecto es un objeto JSON vacío</td> </tr> </tbody> </table> **Respuesta de ejemplo** { "status": 200, "content": true | false, //true: subido exitosamente y false: error en la subida "message": "OK" } #### Obtener resumen de subida El siguiente método del SDK se puede usar para obtener un resumen operativo de todas las partes subidas. Para ver el resumen, usaremos el método getUploadSummary(). const getUploadSummary = await multipart.getUploadSummary(); **Respuesta de ejemplo** { "bucket": "zcstratus12345-development", "key": "sasm.txt", "upload_id": "01hyfyeazrrstmt7k5fa7ej726", "status": "PENDING", "parts": [ { "part_number": 1, "size": 0, "uploaded_at": 1716374678999 }, { "part_number": 2, "size": 2797094, "uploaded_at": 1716374678576 }, { "part_number": 4, "size": 0, "uploaded_at": 1716374679136 } ] } ### Subir un objeto envolviendo toda la funcionalidad multiparte El siguiente método del SDK actúa como un envoltorio, donde toda la operación de subida multiparte se lleva a cabo sin emplear múltiples pasos. Usando este método, el objeto se divide en múltiples partes, se sube al bucket en múltiples partes y luego se combina una vez que todas las partes se suben. Sin embargo, el siguiente método solo se recomienda usar en las siguientes condiciones: * El max_part_size del objeto puede ser el tamaño completo del archivo. Sin embargo, para asegurar una subida más rápida, te recomendamos mantener el max_part_size en **100MB** o menos. * El min_part_size del objeto debe ser **5MB** o más. * El tamaño total del objeto debe ser **10GB** o menos. Nota: Para objetos que son mayores de 10GB, recomendamos que uses los métodos individuales del SDK para llevar a cabo la operación de subida multiparte exitosamente.<br /> **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>file</td> <td>File</td> <td>El objeto que necesita ser subido.</td> </tr> <tr> <td>partSize</td> <td>Number</td> <td>Contendrá el tamaño de cada parte del objeto que se está subiendo.</td> </tr> <tr> <td>options</td> <td>JSON Object</td> <td> type: Este parámetro es una clave en este objeto JSON. <ul> <li>Es un parámetro String.</li> Este parámetro se puede usar para sobrescribir el content-type del objeto.</li> <li>Si no pasas este parámetro, entonces se tomará el tipo del archivo por defecto. Si el archivo en sí no tiene un tipo, entonces por defecto el valor de type será application/octet-stream</li> <li>meta: Este es un parámetro JSON Object opcional. Se usa para agregar los detalles de metadatos de un objeto que se está subiendo a un bucket. El valor por defecto es un objeto JSON vacío </li> </ul> </td> </tr> </tbody> </table> **Subir un objeto envolviendo toda la funcionalidad multiparte sin opciones** // subir objeto const partSize = 10; // en MB const file = document.getElementById("uploadedFiles").files[0] const uploadObject = await multipart.uploadObject(file, partSize); **Subir un objeto envolviendo toda la funcionalidad multiparte con opciones** // subir objeto con opciones const partSize = 10; // en MB const file = document.getElementById("uploadedFiles").files[0] const options = { type: "application/json" // tipo de contenido del objeto a sobrescribir } const uploadObject = await multipart.uploadObject(file, partSize, options); **Respuesta de ejemplo** { "status": 200, "content": true | false, //true: subido exitosamente y false: error en la subida "message": "OK" } -------------------------------------------------------------------------------- title: "Eliminar objeto" description: "Esta página describe el método del Web SDK para eliminar un objeto." last_updated: "2026-07-02T09:34:15.921Z" source: "https://docs.catalyst.zoho.com/es/sdk/web/v4/cloud-scale/stratus/delete-object/" service: "Cloud Scale" related: - Stratus Component Help Documentation (/es/cloud-scale/help/stratus/introduction) - Delete an Object Help Documentation (/es/cloud-scale/help/stratus/objects/manage-object/delete-object/) - Java SDK (/es/sdk/java/v1/cloud-scale/stratus/delete-objects/) - Node.js SDK (/es/sdk/nodejs/v2/cloud-scale/stratus/delete-objects/) - Python SDK (/es/sdk/python/v1/cloud-scale/stratus/delete-objects/) - iOS SDK (/es/sdk/ios/v2/cloud-scale/stratus/delete-object/) - Android SDK (/es/sdk/android/v2/cloud-scale/stratus/delete-object/) - Flutter SDK (/es/sdk/flutter/v2/cloud-scale/stratus/delete-object/) - REST API (/es/api/code-reference/cloud-scale/stratus/get-all-buckets/#GetAllBuckets) -------------------------------------------------------------------------------- # Eliminar objeto Usando este método del SDK, puedes eliminar un objeto particular pasando el nombre completo del objeto al método deleteObject(). La referencia de Bucket utilizada en el fragmento de código a continuación es la instancia del componente. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w20p">Tipo de dato</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>key</td> <td>String</td> <td>Un parámetro obligatorio. Contendrá el nombre completo del objeto junto con su ruta.</td> </tr> <tr> <td>options</td> <td>JSON Object</td> <td> <ul> <li>versionId: Un parámetro String opcional. Si el Versionado está habilitado para tu bucket, este parámetro te ayudará a hacer referencia a una versión particular usando su Version ID único. </li> <li>ttl: Un parámetro String | Number opcional. Puedes establecer el Time-to-Live (TTL) en segundos para un objeto. El valor debe ser mayor o igual a 60 segundos. </li> </ul> </td> </tr> </tbody> </table> ### Eliminar objeto con nombre de objeto Usando el siguiente método del SDK se eliminará el objeto requerido y todas sus versiones del bucket. // Eliminar un objeto const deleteObject = await bucket.deleteObject("key"); ### Eliminar objeto con nombre de objeto y VersionID Usando el siguiente método del SDK se eliminará una versión específica del objeto. // Eliminar una versión específica de un objeto después del tiempo ttl const options = { versionId: "01hthq82gwxtfyz6d9j8eg6k2f", // Eliminar un objeto con el versionId dado ttl: 100 // Tiempo de vida en segundos }; const deleteObject = await bucket.deleteObject("key", options); **Respuesta de ejemplo** { "status": 200, "content": {}, "message": "Object deleted successfully." } **Excepción posible** * **404**: Objeto o Bucket no encontrado