Klarety

Conexiones

Conecte un bucket de Amazon S3 propio y lea sus archivos en Nexus sin copiarlos antes.

Para desarrolladores

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.

Acceso a datos en Configuración, dando acceso a una persona a una conexión de Amazon S3

Qué puede salir mal

ProblemaCausaSolució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: FalseFalta la política o la región es incorrecta.Lea reason, corríjalo y pruebe de nuevo.
NotFoundErrorNo existe esa conexión, o no tiene acceso.Revise el ID, o pida acceso.
Se rechaza una escrituraLa 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

En esta página