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ía datos al flujo de Firehose, se envían automáticamente al destino que elija. 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 Service y OpenSearch sin servidor Para la entrega de datos en OpenSearch Service y OpenSearch sin servidor, Amazon Data Firehose almacena los registros de entrada en el búfer en función de la configuración de almacenamiento en búfer del flujo Firehose. A continuación, genera una solicitud masiva de OpenSearch Service u OpenSearch sin servidor para indexar varios registros en su clúster de OpenSearch Service o su colección de OpenSearch sin servidor. 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 opción rest.action.multi.allow_explicit_index del clúster de OpenSearch Service se debe establecer en true (valor predeterminado) para poder aceptar solicitudes masivas con un índice explícito que se establece para cada registro. Para obtener más información, consulte OpenSearch Service Configure Advanced Options 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 métrica de CloudWatch 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 una semántica de procesamiento de tipo “al menos una vez” 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 destino que admite Amazon Data Firehose, excepto los de destinos de Amazon S3, tablas de Apache Iceberg y destinos de Snowflake.