# Conexiones Una conexión permite que Nexus lea datos donde están, en un bucket de Amazon S3 de su organización. Usted nunca le entrega un secreto a Klarety: una política en su bucket da acceso de lectura, y puede retirarla cuando quiera. Úsela cuando los datos son demasiado grandes para subirlos, cambian en su lugar o deben quedarse en su cuenta. Para otros servicios (un CRM, una base de datos, una herramienta SaaS), vea [Conectores](/docs/es/connectors). ## Antes de empezar [#antes-de-empezar] - **Usted es Propietario o Administrador del espacio de trabajo.** Solo ellos agregan conexiones; los demás miembros usan las que se les dieron. - **Puede cambiar la política del bucket** en su cuenta de AWS, o pedírselo a quien pueda. - Conoce el nombre y la región del bucket y, opcionalmente, la carpeta (prefijo) que Nexus puede leer. ## Conecte un bucket [#conecte-un-bucket] ### Cree la conexión [#cree-la-conexión] ```python from klarety import Nexus, RefusedError with Nexus.connect() as nexus: try: connection = nexus.connections.create( "sales-exports", bucket="acme-sales-exports", region="us-east-1", prefix="exports/", ) except RefusedError as refused: raise SystemExit(f"Could not add the connection: {refused}") connection_id = connection["connection_id"] print(connection_id) ``` `prefix` limita la conexión a una carpeta del bucket. `writable=True` permite que Nexus también escriba; está desactivado por defecto, y la política de su bucket también debe permitirlo. ### Agregue la política del bucket [#agregue-la-política-del-bucket] ```python grant = nexus.connections.grant_policy(connection_id) print(grant["policy"]) ``` Agregue la política al bucket en su cuenta de AWS. Permite a Klarety leer solo este bucket y prefijo. ### Pruébela [#pruébela] ```python check = nexus.connections.test(connection_id) print(check["reachable"], check["reason"]) ``` `test()` nunca lanza un error si el bucket no es accesible. Responde `reachable` y, cuando es `False`, un `reason` para actuar, como una política faltante o una región equivocada. ## Explore y cargue [#explore-y-cargue] ```python for entry in nexus.connections.browse(connection_id, "exports/2026/"): kind = "folder" if entry["is_prefix"] else entry["format_name"] print(entry["key"], kind, entry["size_bytes"]) result = nexus.connections.read( connection_id, "exports/2026/11.parquet", into="sales", key=["order_id"] ) print(result) ``` `browse()` lista un nivel a la vez, hasta 200 entradas, y nunca sube por encima del prefijo de la conexión. `read()` carga un archivo con la misma carga que una subida, leyéndolo en su lugar sin copiarlo. Siga la carga como en [Cargar datos](/docs/es/developers/ingest). ## Escriba de vuelta en su bucket [#escriba-de-vuelta-en-su-bucket] Para una conexión con escritura, `plan_write()` muestra dónde quedarían las filas y qué debe permitir aún su política, antes de escribir: ```python plan = nexus.connections.plan_write(connection_id, "exports/summaries/") print(plan) ``` ## Administre conexiones [#administre-conexiones] ```python for one in nexus.connections.list(): print(one["connection_id"], one["name"], one["kind"]) print(nexus.connections.describe(connection_id)) nexus.connections.delete(connection_id) ``` Eliminar una conexión la quita de Klarety. Para cortar el acceso también desde su lado, retire la política del bucket. Los propietarios y administradores llegan a todas las conexiones. Dé acceso a otras personas en **Acceso a datos**, en ; quien no tiene acceso recibe `NotFoundError`, como si la conexión no existiera. ## Qué puede salir mal [#qué-puede-salir-mal] | Problema | Causa | Solución | | --- | --- | --- | | `RefusedError` en `create()` | Usted no es propietario ni administrador, o los datos del bucket no son válidos. El mensaje dice cuál. | Pida a un administrador, o corrija los datos. | | `test()` responde `reachable: False` | Falta la política o la región es incorrecta. | Lea `reason`, corríjalo y pruebe de nuevo. | | `NotFoundError` | No existe esa conexión, o no tiene acceso. | Revise el ID, o pida acceso. | | Se rechaza una escritura | La conexión no permite escritura, o la política del bucket no lo permite. | Créela con `writable=True` y actualice la política. | ## Próximos pasos [#próximos-pasos] - [Cargar datos](/docs/es/developers/ingest) para modos de carga y claves. - [Archivos y carpetas](/docs/es/developers/files) para archivos que guarda en Klarety. - [Ejecutar SQL](/docs/es/developers/sql) para consultar lo que cargó.