Amazon AppFlow
Servicio para construir flujos de datos entre aplicaciones SaaS (Salesforce, Slack, SAP, etc.) y servicios AWS
Descripción general
Amazon AppFlow es un servicio de integración totalmente gestionado que transfiere datos de forma segura entre aplicaciones SaaS y servicios AWS. Cuenta con más de 50 conectores estándar para Salesforce, SAP, Slack, Google Analytics, ServiceNow y más, permitiendo construir flujos de datos sin escribir código. Puede aplicar transformaciones como filtrado, mapeo, enmascaramiento y validación a los datos en tránsito, funcionando también como preprocesamiento para pipelines ETL. Soporta conexiones privadas a través de PrivateLink, permitiendo la integración de datos con SaaS sin pasar por internet.
Diseño de flujos y mapeo de transformación de datos
Un flujo de AppFlow se compone de 3 elementos: fuente (origen de datos), destino (destino de envío) y reglas de transformación. A los registros obtenidos de la fuente se les puede aplicar mapeo de campos (renombrado, conversión de tipos), filtrado (transferir solo registros que cumplan condiciones), enmascaramiento (ocultación de información personal) y validación (verificación de rangos de valores). Un caso de uso típico es exportar datos de oportunidades de Salesforce a S3 en formato Parquet y analizarlos con Athena. En el mapeo de campos, existe la funcionalidad de expandir estructuras JSON anidadas del lado fuente a columnas planas, permitiendo transformar modelos de datos SaaS complejos a formatos adecuados para data lakes. No hay límite en el número de registros transferibles por ejecución de flujo, pero las limitaciones de la API de consultas masivas de Salesforce (número de llamadas API por día) deben considerarse como restricciones del lado fuente. Al seleccionar S3 como destino, se puede especificar el tamaño de división de archivos y la estructura de particiones (prefijos basados en fecha), manteniendo la coherencia con la infraestructura de análisis downstream.
Perfiles de conexión y gestión de autenticación OAuth
Los perfiles de conexión de AppFlow son un mecanismo para gestionar de forma segura las credenciales de autenticación hacia aplicaciones SaaS. Para conectores basados en OAuth 2.0 (Salesforce, Slack, Google Analytics, etc.), se completa el flujo de autorización en el navegador durante la conexión inicial y el refresh token se guarda automáticamente en AWS Secrets Manager. La actualización de tokens es procesada automáticamente por AppFlow, por lo que los operadores no necesitan gestionar manualmente la expiración de tokens. Sin embargo, si ocurre un cambio de contraseña o reautorización de la aplicación en el lado SaaS, se requiere reautenticación del perfil de conexión. Para conectores que usan autenticación Basic o claves API (SAP, ServiceNow, etc.), las credenciales se almacenan en Secrets Manager y se referencian desde el perfil de conexión. Al usar conectores compatibles con PrivateLink (Salesforce, Snowflake, etc.), la transferencia de datos se completa dentro de la red privada de la VPC sin pasar por internet. Los perfiles de conexión pueden compartirse entre múltiples flujos, permitiendo reutilizar un solo perfil de conexión en múltiples flujos que obtienen diferentes objetos de la misma organización Salesforce.
Ejecución programada y triggers dirigidos por eventos
La ejecución de flujos en AppFlow tiene 3 modos de trigger: bajo demanda, programado y dirigido por eventos. La ejecución programada puede configurarse con intervalos mínimos de 1 minuto, soportando transferencia diferencial (obtener solo registros modificados desde la última ejecución). La transferencia diferencial funciona basándose en campos de timestamp del lado fuente, detectando automáticamente SystemModstamp o LastModifiedDate de Salesforce. Los triggers dirigidos por eventos se integran con Change Data Capture (CDC) o Platform Events de Salesforce, detectando en tiempo real la creación, actualización o eliminación de registros para iniciar el flujo. Esto permite la sincronización de datos en tiempo casi real. Los resultados de ejecución del flujo se notifican automáticamente a EventBridge, permitiendo construir procesamiento posterior según éxito o fracaso (inicio de funciones Lambda, notificaciones SNS, inicio de workflows Step Functions). La tarificación se basa en el número de registros procesados por ejecución de flujo con pago por uso, aproximadamente 0,001 USD por cada 1.000 registros. Para cargas iniciales de grandes volúmenes de datos los costos pueden aumentar, por lo que filtrar para reducir a los registros necesarios es la base de la optimización de costos.