Paso 2: exporte los datos previamente ingeridos - AWS IoT Analytics

Aviso de fin del soporte: el 15 de diciembre de 2025 AWS finalizará el soporte para AWS IoT Analytics. Después del 15 de diciembre de 2025, ya no podrás acceder a la AWS IoT Analytics consola ni a AWS IoT Analytics los recursos. Para obtener más información, consulta AWS IoT Analytics el fin del soporte.

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.

Paso 2: exporte los datos previamente ingeridos

En el caso de los datos previamente ingeridos y almacenados en AWS IoT Analytics, tendrá que exportarlos a Amazon S3. Para simplificar este proceso, puede usar una AWS CloudFormation plantilla para automatizar todo el flujo de trabajo de exportación de datos. Puede utilizar el script para la extracción parcial de datos (basada en intervalos de tiempo).

Arquitectura para exportar datos previamente ingeridos mediante CloudFormation

AWS CloudFormation plantilla para exportar datos a Amazon S3

El diagrama anterior ilustra el proceso de usar una AWS CloudFormation plantilla para crear un conjunto de datos dentro del mismo AWS IoT Analytics almacén de datos, lo que permite la selección en función de una marca de tiempo. Esto permite a los usuarios recuperar puntos de datos específicos dentro del período de tiempo deseado. Además, se crea una regla de entrega de contenido para exportar los datos a un bucket de Amazon S3.

El siguiente procedimiento ilustra los pasos.

  1. Prepare la AWS CloudFormation plantilla y guárdela como un archivo YAML. Por ejemplo, migrate-datasource.yaml.

    # Cloudformation Template to migrate an AWS IoT Analytics datastore to an external dataset AWSTemplateFormatVersion: 2010-09-09 Description: Migrate an AWS IoT Analytics datastore to an external dataset Parameters: DatastoreName: Type: String Description: The name of the datastore to migrate. AllowedPattern: ^[a-zA-Z0-9_]+$ TimeRange: Type: String Description: | This is an optional argument to split the source data into multiple files. The value should follow the SQL syntax of WHERE clause. E.g. WHERE DATE(Item_TimeStamp) BETWEEN '09/16/2010 05:00:00' and '09/21/2010 09:00:00'. Default: '' MigrationS3Bucket: Type: String Description: The S3 Bucket where the datastore will be migrated to. AllowedPattern: (?!(^xn--|.+-s3alias$))^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$ MigrationS3BucketPrefix: Type: String Description: The prefix of the S3 Bucket where the datastore will be migrated to. Default: '' AllowedPattern: (^([a-zA-Z0-9.\-_]*\/)*$)|(^$) Resources: # IAM Role to be assumed by the AWS IoT Analytics service to access the external dataset DatastoreMigrationRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: iotanalytics.amazonaws.com Action: sts:AssumeRole Policies: - PolicyName: AllowAccessToExternalDataset PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - s3:GetBucketLocation - s3:GetObject - s3:ListBucket - s3:ListBucketMultipartUploads - s3:ListMultipartUploadParts - s3:AbortMultipartUpload - s3:PutObject - s3:DeleteObject Resource: - !Sub arn:aws:s3:::${MigrationS3Bucket} - !Sub arn:aws:s3:::${MigrationS3Bucket}/${MigrationS3BucketPrefix}* # This dataset that will be created in the external S3 Export MigratedDataset: Type: AWS::IoTAnalytics::Dataset Properties: DatasetName: !Sub ${DatastoreName}_generated Actions: - ActionName: SqlAction QueryAction: SqlQuery: !Sub SELECT * FROM ${DatastoreName} ${TimeRange} ContentDeliveryRules: - Destination: S3DestinationConfiguration: Bucket: !Ref MigrationS3Bucket Key: !Sub ${MigrationS3BucketPrefix}${DatastoreName}/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv RoleArn: !GetAtt DatastoreMigrationRole.Arn RetentionPeriod: Unlimited: true VersioningConfiguration: Unlimited: true
  2. Determine el AWS IoT Analytics almacén de datos que requiere la exportación de los datos. Para esta guía, utilizaremos un almacén de datos de ejemplo denominado. iot_analytics_datastore

    Identifique el almacén de AWS IoT Analytics datos:
  3. Cree o identifique un bucket de Amazon S3 al que se exportarán los datos. Para esta guía, utilizaremos el iot-analytics-export bucket.

    Crear o identificar un bucket de Amazon S3
  4. Cree la AWS CloudFormation pila.

    Sube a la consola CFN
  5. Introduzca un nombre de pila y proporcione los siguientes parámetros:

    • DatastoreName: el nombre del AWS IoT Analytics almacén de datos que desea migrar.

    • Migrations3bucket: el bucket de Amazon S3 donde se almacenan los datos migrados.

    • MigrationS3 BucketPrefix (opcional): el prefijo del bucket de Amazon S3.

    • TimeRange(Opcional): SQL WHERE cláusula para filtrar los datos que se están exportando, lo que permite dividir los datos de origen en varios archivos según el intervalo de tiempo especificado.

    Detalles de la pila de consolas CFN
  6. Haga clic en Siguiente en la pantalla Configurar opciones de pila.

  7. Seleccione la casilla de verificación para confirmar la creación de recursos de IAM y haga clic en Enviar.

    Detalles de la pila de consolas CFN
  8. Revisa la creación de la pila en la pestaña Eventos para completarla.

    Pestaña de eventos
  9. Al completar correctamente la pila, vaya a AWS IoT Analytics → Conjuntos de datos para ver el conjunto de datos migrado.

    Ver conjuntos de datos
  10. Seleccione el conjunto de datos generado y haga clic en Ejecutar ahora para exportar el conjunto de datos.

    Ejecute conjuntos de datos
  11. El contenido se puede ver en la pestaña Contenido del conjunto de datos.

    Pestaña de conjuntos de datos de contenido
  12. Por último, revise el contenido exportado abriendo el iot-analytics-exportdepósito en la consola de Amazon S3.

    Pestaña de eventos