Servicios Node.js

Servicio: s3-manager-ms

Información General


Propósito de Negocio

Los archivos IFC (modelos BIM) pueden llegar a 1+ GB. Este servicio maneja: - Upload de archivos IFC grandes a AWS S3 - Descarga de archivos para procesamiento - Organización de archivos por proyecto en buckets S3 - Creación de estructura de directorios por proyecto


Endpoints Expuestos

PathDescripción
GET /api/healthHealth check del servicio
GET /s3-manager/list-filesLista archivos en bucket S3
GET /s3-manager/get-fileDescarga archivo desde S3
GET /s3-manager/check-project-existsVerifica si proyecto existe en S3
POST /s3-manager/create-base-directoriesCrea estructura de carpetas del proyecto
POST /s3-manager/upload-ifcUpload de archivo IFC (multipart, máx 1.2 GB)

Infraestructura AWS

Estructura S3

{bucket}
  └── {projectId}/
        ├── models/          ← archivos IFC
        └── processed/       ← archivos procesados

Variables de Entorno

Variable Descripción
PORT Puerto HTTP (default: 3002)
AWS_REGION Región AWS (ej: us-east-1)
AWS_ACCESS_KEY_ID Credencial AWS (sensible)
AWS_SECRET_ACCESS_KEY Credencial AWS (sensible)
AWS_BUCKET_NAME Nombre del bucket S3

Validación de Archivos


Dependencias NPM

Paquete Versión Uso
@aws-sdk/client-s3 3.810.0 Operaciones S3
@aws-sdk/lib-storage 3.816.0 Upload multipart para archivos grandes
@aws-sdk/s3-request-presigner 3.810.0 URLs pre-firmadas
express 4.18.2 Framework HTTP
multer 2.0.0 Manejo de multipart/form-data
axios 1.9.0 Cliente HTTP
cors 2.8.5 CORS middleware

CORS


Rol en Casos de Uso

Caso de Uso Rol
CU-02: Carga de Modelo IFC Servicio principal — primer paso antes de llamar a ifc