Conexión Fuente AWS S3

Storage|15 min de lectura|Actualizado: 18 sept 2026

Requisitos Previos

Antes de configurar la conexión de origen AWS S3 en Crestone, asegúrese de contar con lo siguiente:

Requisito Principal: Un bucket de AWS S3 activo que contenga los archivos que desea extraer. Crestone se conecta mediante una clave de acceso de IAM (Access Key ID + Secret Access Key) — no se requieren roles de instancia EC2 ni tokens de sesión temporales.

Nota: Crestone utiliza el SDK boto3 en modo cliente estándar. No se requieren bibliotecas cliente adicionales ni una puerta de enlace (gateway) local.

Formatos de archivo admitidos:

FormatoExtensiónNotas
CSV.csvDelimitador y fila de encabezado configurables
TSV.tsvDelimitado por tabulaciones, mismas opciones que CSV
JSON.jsonArreglo de objetos planos
Parquet.parquetEl esquema se lee directamente del archivo
Excel (Open XML).xlsxLectura mediante openpyxl; nombre de hoja opcional
Excel (97-2003).xlsLectura mediante xlrd; nombre de hoja opcional

Otros tipos de archivos (ej. .txt, .zip, .gz) no se listan al explorar el bucket.

Información Requerida:

CampoDescripción
Bucket NameNombre del bucket de S3 (ej. my-data-lake)
RegionRegión de AWS donde se aloja el bucket (ej. us-east-1)
Access Key IDID de la clave de acceso del usuario IAM (ej. AKIAIOSFODNN7EXAMPLE)
Secret Access KeyClave de acceso secreta de IAM asociada al Access Key ID anterior

Consejo: Puede utilizar las mismas credenciales de AWS tanto para el origen (extracción de archivos) como para el destino (carga de archivos); Crestone los trata como tipos de conexión independientes al crearlos, pero aceptan el mismo formato de credenciales.


Paso de Pre-Verificación

Antes de configurar la conexión en Crestone, verifique sus credenciales y el acceso al bucket mediante la AWS CLI o la Consola de AWS:

  1. En la Consola de AWS, vaya a S3 y confirme que el bucket de destino exista y contenga los archivos que desea extraer.
  2. Vaya a IAM → Users → su usuario → Security credentials y confirme que la clave de acceso esté en estado Active.
  3. Verifique que el usuario IAM tenga al menos los siguientes permisos de S3 sobre el bucket:
    • s3:HeadBucket
    • s3:ListBucket
    • s3:GetObject

Una política IAM mínima para el acceso de origen en Crestone:

json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:HeadBucket",
        "s3:ListBucket",
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::my-data-lake",
        "arn:aws:s3:::my-data-lake/*"
      ]
    }
  ]
}

Pasos de Configuración

Siga estos pasos para crear una nueva conexión de origen AWS S3 en Crestone:

  1. Navegue a Connections en la barra de navegación superior.
  2. Seleccione la pestaña Source.
  3. Haga clic en el botón + para crear una nueva conexión.
  4. Complete el campo Connection Name con un nombre descriptivo (ej. AWS S3 - Data Lake).
  5. En el menú desplegable Source Type, seleccione AWS.
  6. Complete el formulario de credenciales:
    • Bucket Name — nombre del bucket de S3
    • Region — región de AWS donde se encuentra alojado el bucket
    • Access Key ID — ID de clave de acceso de IAM
    • Secret Access Key — clave de acceso secreta de IAM
  7. Haga clic en Test Connection para validar que Crestone pueda comunicarse con el bucket.
  8. Una vez superada la prueba, haga clic en Create Source para guardar la conexión.

Edición de una Conexión Existente

Para actualizar las credenciales de una conexión de origen AWS S3 existente:

  1. Navegue a Connections y localice su origen AWS S3.
  2. Haga clic en Edit.
  3. Modifique los campos deseados en el formulario de credenciales.
  4. Haga clic en Test Connection para verificar las nuevas credenciales.
  5. Haga clic en Confirm para guardar los cambios.

Uso de AWS S3 como Fuente en un Nodo de Extracción

Una vez creada la conexión, puede utilizarla como origen de un Extraction Node. AWS S3 utiliza un modelo de bucket/objeto — no hay esquemas ni tablas.

  1. Abra o cree un Extraction Node y diríjase a la pestaña Source.
  2. En Select Source, elija su conexión AWS S3.
  3. El Bucket mostrado es el almacenado en las credenciales de la conexión; no se puede modificar aquí.
  4. (Opcional) Utilice el campo Folder / prefix filter para acotar la lista de archivos (ej. data/2026/) y haga clic en Filter.
  5. En File, elija el objeto a extraer. Solo se listan los archivos con una extensión admitida.
  6. El File format se detecta automáticamente a partir de la extensión del archivo, pero se puede anular:
    • Para CSV/TSV: configure el Delimiter y active/desactive File has header row.
    • Para Excel (.xlsx/.xls): opcionalmente configure el Sheet name (déjelo en blanco para usar la primera hoja).
    • JSON y Parquet no requieren opciones adicionales.
  7. La tarjeta de resumen muestra el archivo seleccionado, el formato detectado y las opciones elegidas.
  8. El panel de Preview muestra una muestra de los datos que se extraerán.

Nota: Los archivos de Excel se leen con pandas (motor openpyxl para .xlsx, motor xlrd para .xls). Todos los valores de celda se leen como cadenas de texto para evitar problemas de análisis de números y fechas dependientes de la configuración regional; la inferencia de tipos se realiza posteriormente en el destino.


Manejo de Tipos de Datos

El manejo de tipos depende del formato del archivo de origen:

FormatoComportamiento de tipos
CSV / TSVTodas las columnas se leen como tipos inferidos por Polars; cadenas vacías, NULL y null se tratan como valores ausentes
JSONTipos inferidos a partir de los valores JSON (string, number, boolean)
ParquetLos tipos de columna nativos se conservan tal como se almacenan en el archivo
Excel (.xlsx / .xls)Todas las celdas se leen como strings (dtype=str); las celdas en blanco se convierten en null

Los nombres de columna se sanitizan automáticamente antes de la extracción: los caracteres especiales se reemplazan por _, los nombres no pueden comenzar con un dígito y los nombres duplicados se desambiguan (ej. name, name_1). Esto garantiza la compatibilidad con todos los destinos admitidos (SQL Server, Snowflake, Oracle, PostgreSQL, etc.).


Problemas Frecuentes

ProblemaCausa PosibleSolución
Test connection fails con 403 ForbiddenEl usuario IAM carece del permiso s3:HeadBucketAdjunte la política IAM mínima descrita en la sección de Requisitos Previos
Test connection fails con NoSuchBucketNombre de bucket o región incorrectosVerifique el nombre del bucket y la región en la Consola de AWS
No se listan archivos en el bucketTodos los archivos tienen extensiones no admitidas, o el filtro de prefijo es demasiado restrictivoLimpie el filtro de prefijo; confirme que el bucket contenga archivos .csv, .tsv, .json, .parquet, .xlsx o .xls
La lista de archivos es muy extensa y tarda en cargarBucket grande con muchos objetosUtilice el filtro de prefijo para restringir el listado a una carpeta específica (ej. reports/2026/)
La vista previa muestra "No data found" para un archivo ExcelNombre de hoja incorrecto o discrepancia de formatoDeje Sheet name en blanco para usar la primera hoja, o verifique la ortografía del nombre de la hoja
Falla la ejecución del job tras una previsualización exitosaProblema transitorio de acceso a S3 u objeto eliminado entre la vista previa y la ejecuciónVuelva a ejecutar el job; verifique que el objeto aún exista en el bucket
InvalidAccessKeyId en Test ConnectionEl Access Key ID es incorrecto o la clave ha sido eliminadaRegenere la clave de acceso en IAM → Users → Security credentials
SignatureDoesNotMatch en Test ConnectionLa Secret Access Key es incorrectaVuelva a copiar la Secret Access Key exactamente como se mostró al crearla (no se puede recuperar nuevamente desde la consola de AWS)

Permisos Requeridos

Crestone solo realiza operaciones de lectura cuando utiliza S3 como fuente:

OperaciónLlamada a la API de AWS
Test connections3:HeadBucket
Listar objetos en el buckets3:ListBucket
Descargar un objeto para preview/extraccións3:GetObject

No se requieren permisos de escritura (s3:PutObject, s3:DeleteObject) para conexiones exclusivas de origen. Si también utiliza el mismo bucket como destino, agregue s3:PutObject a la política.

Consejo: Para mayor seguridad, cree un usuario de IAM dedicado con acceso de solo lectura al bucket específico utilizado por Crestone como origen, independiente del usuario de IAM utilizado para conexiones de destino S3.