Comprensión de la entrega de datos en Amazon Data Firehose - Amazon Data Firehose

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Comprensión de la entrega de datos en Amazon Data Firehose

Cuando envías datos a tu transmisión de Firehose, se envían automáticamente al destino que elijas. En la siguiente tabla, se explica la entrega de datos a diferentes destinos.

Destino Detalles
Amazon S3

Para la entrega de datos a Amazon S3, Firehose concatena varios registros entrantes en función de la configuración de almacenamiento en búfer del flujo de Firehose. A continuación, entrega los registros en Amazon S3 como un objeto de Amazon S3. De forma predeterminada, Firehose concatena los datos sin ningún delimitador. Si desea tener nuevos delimitadores de línea entre los registros, puede añadirlos activando la característica en la configuración de la consola de Firehose o en el parámetro de la API. La entrega de datos entre Firehose y el destino de Amazon S3 se cifra con TLS (HTTPS).

Amazon Redshift

Para entregar datos en Amazon Redshift, Firehose envía primero los datos de entrada al bucket de S3 en el formato descrito anteriormente. A continuación, Firehose emite un comando COPY de Amazon Redshift para cargar los datos del bucket de S3 en el clúster aprovisionado de Amazon Redshift o el grupo de trabajo de Amazon Redshift sin servidor. Asegúrese de que, después de que Amazon Data Firehose haya concatenado varios registros de entrada a un objeto de Amazon S3, este objeto se pueda copiar en el clúster aprovisionado de Amazon Redshift o en el grupo de trabajo de Amazon Redshift sin servidor. Para obtener más información, consulte Amazon Redshift COPY Command Data Format Parameters.

OpenSearch Servicio y sin servidor OpenSearch Para la entrega de datos a OpenSearch Service y OpenSearch Serverless, Amazon Data Firehose almacena en búfer los registros entrantes en función de la configuración de almacenamiento en búfer de la transmisión de Firehose. A continuación, genera una solicitud masiva de OpenSearch Service o OpenSearch Serverless para indexar varios registros en su clúster de servicios o en su colección Serverless. OpenSearch OpenSearch Asegúrese de que el registro esté codificado en UTF-8 y aplanado en un objeto JSON de una sola línea antes de enviarlo a Amazon Data Firehose. Además, la rest.action.multi.allow_explicit_index opción del clúster de OpenSearch servicios debe estar establecida en true (valor predeterminado) para aceptar solicitudes masivas con un índice explícito que se establezca por registro. Para obtener más información, consulta las opciones avanzadas de configuración de OpenSearch servicios en la Guía para desarrolladores de Amazon OpenSearch Service.
Splunk

Para la entrega de datos en Splunk, Amazon Data Firehose concatena los bytes que se envían. Si desea delimitadores en los datos, como, por ejemplo, un carácter de nueva línea, debe insertarlos usted mismo. Asegúrese de que Splunk esté configurado para analizar dichos delimitadores. Para volver a enviar a Splunk los datos que se enviaron al bucket de errores de S3 (copia de seguridad de S3), siga los pasos que se mencionan en la documentación de Splunk.

Punto de conexión HTTP Para entregar datos en un punto de conexión HTTP que pertenece a un proveedor de servicios de terceros admitido, puede usar el servicio Amazon Lambda integrado para crear una función que transforme los registros de entrada en el formato que coincida con el formato que espera la integración del proveedor de servicios. Póngase en contacto con el proveedor de servicios de terceros cuyo punto de conexión HTTP haya elegido como destino para obtener más información sobre el formato de registro aceptado.
Snowflake

Para la entrega de datos a Snowflake, Amazon Data Firehose almacena internamente los datos en búfer durante un segundo y utiliza las operaciones de la API de streaming de Snowflake para insertar datos en Snowflake. De forma predeterminada, los registros que se insertan se vacían y se archivan en la tabla de Snowflake cada segundo. Tras realizar la llamada de inserción, Firehose emite una CloudWatch métrica que mide el tiempo que tardaron los datos en enviarse a Snowflake. Firehose actualmente solo admite un elemento JSON como carga útil de registro y no admite matrices JSON. Asegúrese de que la carga útil de entrada sea un objeto JSON válido y esté bien formada sin comillas dobles, comillas ni caracteres de escape adicionales.

Cada destino de Firehose tiene su propia frecuencia de entrega de datos. Para obtener más información, consulte Configuración de sugerencias de almacenamiento en búfer.

Registros duplicados

Amazon Data Firehose utiliza la at-least-once semántica para la entrega de datos. En algunas circunstancias, como cuando se agota el tiempo de espera de la entrega de datos, los reintentos de entrega que Amazon Data Firehose lleva a cabo pueden generar duplicados si la solicitud de entrega de datos finalmente se procesa. Esto se aplica a todos los tipos de destinos compatibles con Amazon Data Firehose, excepto a los destinos de Amazon S3, Apache Iceberg Tables y Snowflake.