# 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ó.