Almacenamiento de datos exportados en Amazon S3 - Amazon Monitron

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.

Almacenamiento de datos exportados en Amazon S3

Uso de una plantilla predefinida CloudFormation

Amazon Monitron proporciona una AWS CloudFormation plantilla predefinida que ayuda a configurar rápidamente la Firehose para entregar datos desde una transmisión de datos de Kinesis al bucket de Amazon S3. Esta plantilla habilita el particionamiento dinámico y los objetos de Amazon S3 entregados utilizarán el siguiente formato de clave recomendado por Amazon Monitron: /project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}

  1. Inicie sesión en su cuenta de AWS.

  2. Abra una nueva pestaña del navegador con el siguiente URL:

    https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?templateURL=https://s3.us-east-1.amazonaws.com/monitron-cloudformation-templates-us-east-1/monitron_kinesis_data_export.yaml&stackName=monitron-kinesis-live-data-export
  3. En la página AWS CloudFormation que se abre, en la esquina superior derecha, seleccione la región en la que utiliza Amazon Monitron.

  4. De forma predeterminada, la plantilla crea un nuevo flujo de datos de Kinesis y un bucket de S3 junto con otros recursos necesarios para entregar datos a Amazon S3. Puede cambiar los parámetros a fin de utilizar los recursos existentes.

  5. Marque la casilla donde dice Reconozco que AWS CloudFormation podría crear recursos de IAM.

  6. Seleccione Crear pila.

  7. En la página siguiente, elija el icono de actualización tantas veces como desee hasta que el estado de la pila sea CREATE_COMPLETE.

Configuración manual de Kinesis en la consola

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Kinesis en https://console.aws.amazon.com/kinesis.

  2. En el panel de navegación, elija Flujos de entrega.

  3. Elija Crear flujo de entrega.

  4. En Origen, elija Amazon Kinesis Data Streams.

  5. En Destino, elija Amazon S3.

  6. En Configuración de origen, flujo de datos de Kinesis, introduzca el ARN de su flujo de datos de Kinesis.

  7. En Nombre del flujo de datos, introduzca el nombre de su flujo de datos de Kinesis.

  8. En Configuración de destino, elija un bucket de Amazon S3 o introduzca un URI de bucket.

  9. (opcional) Habilite el particionamiento dinámico mediante el análisis sintáctico en línea para JSON. Esta opción es apropiada si desea particionar los datos de medición en flujo continuo en función de la información de origen y la fecha y hora. Por ejemplo:

    • En Partición dinámica, elija Habilitado.

    • En Nuevo delimitador de línea, elija Habilitado.

    • En Análisis sintáctico en línea para JSON, elija Habilitado.

    • En Claves de partición dinámica, añada:

      Nombre de la clave Expresión JQ

      project

      . projectDisplayName| «proyecto=\ (.)»

      site

      . siteDisplayName| «sitio=\ (.)»

      hora

      .timestamp| sub("[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}$"; "00:00:00")| "time=\(.)"

  10. Elija Aplicar claves de partición dinámica y confirme que el prefijo del bucket de Amazon S3 generado sea !{partitionKeyFromQuery:project}/!{partitionKeyFromQuery:site}/!{partitionKeyFromQuery:time}/.

  11. En Amazon S3, los objetos utilizan el siguiente formato de clave: /project={projectName}/site={siteName}/time={yyyy-mm-dd 00:00:00}/{filename}.

  12. Elija Crear flujo de entrega.

  13. (opcional) Utilice una ruta más granular.

    Si ha elegido una partición dinámica, utilice el formato de clave de Amazon S3 anterior si tiene previsto utilizar AWS Glue y Athena para consultar los datos. También puede elegir un formato de clave más fino, pero la consulta de Amazon Athena no será eficiente. En este ejemplo se muestra cómo configurar una ruta de clave de Amazon S3 más fina.

    En Claves de partición dinámica, añada:

    Nombre de la clave Expresión JQ

    project

    . projectDisplayName| «proyecto=\ (.)»

    site

    . siteDisplayName| «sitio=\ (.)»

    asset

    . assetDisplayName| «asset=\ (.)»

    position

    . sensorPositionDisplayNombre | «position=\ (.)»

    sensor

    .sensor.physicalId | "sensor=\(.)"

    date

    .timestamp| sub(" [0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{3}$"; "")| "date=\(.)"

    En Amazon S3, los objetos utilizan el siguiente formato de clave: /project={projectName}/site={siteName}/asset={assetName}/position={positionName}/sensor={sensorId}/date={yyyy-mm-dd}/time={HH:MM:SS}/{filename}