Conexiones
Conecte un bucket de Amazon S3 propio y lea sus archivos en Nexus sin copiarlos antes.
Una conexión permite que 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.
Antes de empezar
- Usted es Propietario o Administrador del . 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
Cree la conexión
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
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
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
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.
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:
plan = nexus.connections.plan_write(connection_id, "exports/summaries/")
print(plan)Administre conexiones
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.
Quién puede usar una conexión
Los propietarios y administradores llegan a todas las conexiones. Dé acceso a otras personas en Acceso a datos, en Configuración; quien no tiene acceso recibe NotFoundError, como si la conexión no existiera.

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
- Cargar datos para modos de carga y claves.
- Archivos y carpetas para archivos que guarda en Klarety.
- Ejecutar SQL para consultar lo que cargó.