Ricevere notifiche di dati in ritardo tramite Amazon CloudWatch Events - AWS IoT Analytics

Per funzionalità simili a AWS IoT Analytics, esplora Amazon Kinesis, Amazon S3 e Amazon Athena. Questi servizi offrono scalabilità e flessibilità aggiuntive per soddisfare i requisiti di analisi in continua evoluzione. Scopri come fare qui.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ricevere notifiche di dati in ritardo tramite Amazon CloudWatch Events

Quando si creano contenuti di set di dati utilizzando dati provenienti da un periodo di tempo specificato, alcuni dati potrebbero non arrivare in tempo per l'elaborazione. Per consentire un ritardo, è possibile specificare undeltaTime offset per ilQueryFilter momento in cui si crea un set di dati applicando unaqueryAction (una query SQL). AWS IoT Analyticselabora ancora i dati che arrivano entro il tempo delta e il contenuto del set di dati presenta un ritardo temporale. La funzione di notificaAWS IoT Analytics tardiva dei dati consente di inviare notifiche tramite Amazon CloudWatch Events quando i dati arrivano dopo il delta time.

È possibile utilizzare laAWS IoT Analytics console, l'API, AWS Command Line Interface(AWS CLI) o l'AWSSDK per specificare regole di dati aggiornate per un set di dati.

Nell'AWS IoT AnalyticsAPI, l'LateDataRuleConfigurationoggetto rappresenta le ultime impostazioni delle regole di dati di un set di dati. Questo oggetto fa parte dell'Datasetoggetto associato alle operazioni dell'UpdateDatasetAPICreateDataset e dell'API.

Parametri

Quando crei una regola dati in ritardo per un set di dati conAWS IoT Analytics, devi specificare le informazioni seguenti:

ruleConfiguration (LateDataRuleConfiguration)

Una struttura che contiene le informazioni di configurazione di una regola dati in ritardo.

deltaTimeSessionWindowConfiguration

Una struttura che contiene le informazioni di configurazione di una finestra di sessione delta time.

DeltaTime specifica un intervallo di tempo. Puoi utilizzare DeltaTime per creare il contenuto del set di dati con i dati che sono arrivati nel datastore dall'ultima esecuzione. Per un esempio diDeltaTime, consulta Creazione di un set di dati SQL con una finestra delta (CLI).

timeoutInMinutes

Un intervallo di tempo. È possibile utilizzaretimeoutInMinutes in modoAWS IoT Analytics da eseguire il batch delle notifiche dati in ritardo generate dall'ultima esecuzione. AWS IoT Analyticsinvia un batch di notifiche a CloudWatch Events in una sola volta.

Tipo: integer

Intervallo valido: 1-60

ruleName

Il nome della regola dati in ritardo.

Tipo: String

Importante

Per specificarelateDataRules, il set di dati deve utilizzare unDeltaTime filtro.

Configurazione di regole dati in ritardo (console)

La procedura seguente illustra come configurare la regola dati in ritardo di un set di dati nellaAWS IoT Analytics console.

Per configurare regole aggiornate sui dati
  1. Accedi alla console AWS IoT Analytics.

  2. Nel riquadro di navigazione, seleziona Set di dati.

  3. In Set di dati, scegli il set di dati di destinazione.

  4. Nel riquadro di navigazione, seleziona Dettagli.

  5. Nella sezione della finestra Delta, scegli Modifica.

  6. In Configura il filtro di selezione dati, effettua le operazioni seguenti:

    1. Per la finestra di selezione dei dati, scegli Delta time.

    2. Per Offset, inserisci un periodo di tempo, quindi scegli un'unità.

    3. Per l'espressione Timestamp, inserisci un'espressione. Può essere il nome di un campo del timestamp o un'espressione SQL che può ricavare l'orario, ad esempio from_unixtime (time).

      Per ulteriori informazioni su come scrivere un'espressione timestamp, consulta Funzioni e operatori di data e ora nella Documentazione di Presto 0.172.

    4. Per la notifica tardiva dei dati, scegli Attivo.

    5. Per Delta time, inserisci un numero intero. L'intervallo valido è compreso tra 1 e 60.

    6. Seleziona Salva.

    Configura il filtro di selezione dei dati nellaAWS IoT Analytics console.

Configurazione delle regole aggiornate sui dati (CLI)

Nell'AWS IoT AnalyticsAPI, l'LateDataRuleConfigurationoggetto rappresenta le ultime impostazioni delle regole di dati di un set di dati. Questo oggetto fa parte dell'Datasetoggetto associato aCreateDataset eUpdateDataset. Puoi utilizzare l'API o l'AWSSDK per specificare regole di dati aggiornate per un set di dati. AWS CLI Gli esempi seguenti utilizzano AWS CLI.

Per creare il set di dati con regole dati in ritardo specificate, esegui il comando seguente. Il comando presuppone che ildataset.json file sia nella directory corrente.

Nota

È possibile utilizzare l'UpdateDatasetAPI per aggiornare un set di dati esistente.

aws iotanalytics create-dataset --cli-input-json file://dataset.json

Ildataset.json file dovrebbe contenere le informazioni seguenti:

  • Sostituisci demo_dataset con il nome del set di dati di destinazione.

  • Sostituisci demo_datastore con il nome del data store di destinazione.

  • Sostituisci from_unixtime (time) con il nome di un campo del timestamp o un'espressione SQL che può ricavare l'orario.

    Per ulteriori informazioni su come scrivere un'espressione timestamp, consulta Funzioni e operatori di data e ora nella Documentazione di Presto 0.172.

  • Sostituisci il timeout con un numero intero compreso tra 1 e 60.

  • Sostituisci demo_rule con qualsiasi nome.

{ "datasetName": "demo_dataset", "actions": [ { "actionName": "myDatasetAction", "queryAction": { "filters": [ { "deltaTime": { "offsetSeconds": -180, "timeExpression": "from_unixtime(time)" } } ], "sqlQuery": "SELECT * FROM demo_datastore" } } ], "retentionPeriod": { "unlimited": false, "numberOfDays": 90 }, "lateDataRules": [ { "ruleConfiguration": { "deltaTimeSessionWindowConfiguration": { "timeoutInMinutes": timeout } }, "ruleName": "demo_rule" } ] }

Sottoscrizione ai dati in ritardo

Puoi creare regole in CloudWatch Eventi che definiscano come elaborare le notifiche di dati inviate in ritardo daAWS IoT Analytics. Quando CloudWatch Events riceve le notifiche, richiama le azioni target specificate nelle regole.

Prerequisiti per la creazione di regole per CloudWatch gli eventi

Prima di creare una regola CloudWatch Eventi perAWS IoT Analytics, dovresti assicurarti di:

  • Acquisire familiarità con eventi, regole e destinazioni in CloudWatch Eventi.

  • Crea e configura gli obiettivi richiamati dalle tue regole CloudWatch degli eventi. Le regole possono richiamare molti tipi di target, ad esempio:

    • Flussi Amazon Kinesis

    • Funzioni AWS Lambda

    • Argomenti su Amazon Simple Notification Service (Amazon SNS)

    • Code di Amazon Simple Queue Service (Amazon SQS)

    I tuoi CloudWatch eventi sono la regola e gli obiettivi associati devono trovarsi nellaAWS regione in cui hai creatoAWS IoT Analytics le tue risorse. Per ulteriori informazioni, vedere Endpoint e quote di servizio in Riferimenti generali di AWS.

Per ulteriori informazioni, consulta la pagina Che cos'è un CloudWatch evento? e Guida introduttiva ad Amazon CloudWatch Events nella Guida per l'utente di Amazon CloudWatch Events.

Evento di notifica tardiva dei dati

L'evento per le notifiche tardive dei dati utilizza il seguente formato.

{ "version": "0", "id": "7f51dfa7-ffef-97a5-c625-abddbac5eadd", "detail-type": "IoT Analytics Dataset Lifecycle Notification", "source": "aws.iotanalytics", "account": "123456789012", "time": "2020-05-14T02:38:46Z", "region": "us-east-2", "resources": ["arn:aws:iotanalytics:us-east-2:123456789012:dataset/demo_dataset"], "detail": { "event-detail-version": "1.0", "dataset-name": "demo_dataset", "late-data-rule-name": "demo_rule", "version-ids": ["78244852-8737-4650-aa4d-3071a01338fa"], "message": null } }

Crea una regola CloudWatch Eventi per ricevere notifiche di dati in ritardo

La procedura seguente illustra come creare una regola che invia notifiche di dati inAWS IoT Analytics ritardo a una coda Amazon SQS.

Per creare una regola CloudWatch Eventi
  1. Accedi alla CloudWatchconsole Amazon.

  2. Nel pannello di navigazione, in Events (Eventi), scegli Rules (Regole).

  3. Nella pagina Regole, scegli Crea regola.

  4. In Origine evento, scegli Event Pattern.

  5. Nella sezione Crea modello di eventi per abbinare gli eventi per servizio, procedi come segue:

    1. Per il nome del servizio, scegli IoT Analytics

    2. Per Tipo di evento, scegli IoT Analytics Dataset Lifecycle Notification.

    3. Scegli Nomi specifici del set di dati, quindi inserisci il nome del set di dati di destinazione.

  6. In Obiettivi, scegli Aggiungi target*.

  7. Scegliete la coda SQS, quindi effettuate le seguenti operazioni:

    1. In Coda*, scegli la coda di destinazione.

  8. Scegli Configure details (Configura dettagli).

  9. Nella pagina Passaggio 2: Configurazione dei dettagli della regola, inserisci un nome e una descrizione.

  10. Scegli Create rule (Crea regola).