Saltearse al contenido

AWS S3

Este modulo permite realizar operaciones con Amazon S3 utilizando el SDK oficial de AWS (@aws-sdk/client-s3). Soporta las operaciones principales: listar buckets, listar objetos con prefijo y paginacion, descargar objetos (como texto o base64), subir objetos (texto, JSON, binarios), eliminar objetos, obtener informacion de metadata sin descargar (HEAD), copiar objetos entre buckets y generar URLs prefirmadas temporales para descarga.

La autenticacion se realiza mediante Access Key ID y Secret Access Key almacenados en las credenciales. La operacion se determina por el campo operation o por el nombre del nodo.

ParametroTipoRequeridoDescripcion
credentials_idcredentialsSiCuenta AWS S3
operationselectSiOperacion: listBuckets, listObjects, getObject, putObject, deleteObject, headObject, copyObject, getPresignedUrl
buckettextCondicionalNombre del bucket de S3
keytextCondicionalClave/ruta del objeto (ej: carpeta/archivo.pdf)
prefixtextNoPrefijo para filtrar objetos (ej: carpeta/)
maxKeysnumberNoMaximo de objetos a listar (1-1000, default: 100)
returnAsBase64booleanNoRetornar contenido como Base64 (para binarios)
bodyKeytextNoCampo en los datos de entrada con el contenido a subir (default: fileContent)
contentTypeselectNoTipo MIME: application/json, application/pdf, image/jpeg, text/csv, etc.
isBase64booleanNoIndicar si el contenido viene codificado en Base64
sourceKeytextCondicionalClave del objeto origen (para copiar)
destinationKeytextCondicionalClave de destino (para copiar)
destinationBuckettextNoBucket destino (vacio = mismo bucket)
expiresInselectNoExpiracion de URL prefirmada: 300 (5min) a 604800 (7 dias), default: 3600
outputKeytextNoClave donde almacenar el resultado

Tipo de servicio: aws_s3. Se almacenan en la tabla servicecredentials.

Campos de configuracion:

  • accessKeyId: Access Key ID de AWS
  • secretAccessKey: Secret Access Key de AWS
  • region: Region de AWS (default: us-east-1)
{
"nextModule": "siguiente_modulo",
"data": {
"objects": [
{
"key": "documentos/factura.pdf",
"size": 125432,
"lastModified": "2025-01-15T10:30:00.000Z",
"etag": "\"abc123\"",
"storageClass": "STANDARD"
}
],
"folders": ["documentos/", "imagenes/"],
"isTruncated": false
},
"_meta_": {
"operation": "listObjects",
"bucket": "mi-bucket",
"service": "aws_s3"
}
}
{
"credentials_id": 1,
"operation": "listObjects",
"bucket": "mi-bucket",
"prefix": "documentos/",
"maxKeys": 100
}
  • El delimitador por defecto es ”/” para separar objetos en carpetas virtuales
  • La descarga retorna texto UTF-8 por defecto; activar returnAsBase64 para archivos binarios
  • Las URLs prefirmadas permiten compartir acceso temporal a objetos privados
  • La copia de objetos se puede hacer entre diferentes buckets
  • El contenido a subir puede venir del campo especificado en bodyKey o directamente en config.body
  • El parametro continueOnError permite que el workflow continue incluso si la operacion falla
  • El listado de objetos soporta paginacion con nextContinuationToken
  • Manage S3 - Gestion simplificada de archivos en S3
  • S3 Compatible - Almacenamiento compatible con S3 (Linode, DigitalOcean, MinIO, etc.)