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'LateDataRuleConfiguration
oggetto rappresenta le ultime impostazioni delle regole di dati di un set di dati. Questo oggetto fa parte dell'Dataset
oggetto associato alle operazioni dell'UpdateDataset
APICreateDataset
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 utilizzare
timeoutInMinutes
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
-
Accedi alla console AWS IoT Analytics
. -
Nel riquadro di navigazione, seleziona Set di dati.
-
In Set di dati, scegli il set di dati di destinazione.
-
Nel riquadro di navigazione, seleziona Dettagli.
-
Nella sezione della finestra Delta, scegli Modifica.
-
In Configura il filtro di selezione dati, effettua le operazioni seguenti:
-
Per la finestra di selezione dei dati, scegli Delta time.
-
Per Offset, inserisci un periodo di tempo, quindi scegli un'unità.
-
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. -
Per la notifica tardiva dei dati, scegli Attivo.
-
Per Delta time, inserisci un numero intero. L'intervallo valido è compreso tra 1 e 60.
-
Seleziona Salva.
-
Configurazione delle regole aggiornate sui dati (CLI)
Nell'AWS IoT AnalyticsAPI, l'LateDataRuleConfiguration
oggetto rappresenta le ultime impostazioni delle regole di dati di un set di dati. Questo oggetto fa parte dell'Dataset
oggetto 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 * FROMdemo_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
-
Accedi alla CloudWatchconsole Amazon
. -
Nel pannello di navigazione, in Events (Eventi), scegli Rules (Regole).
-
Nella pagina Regole, scegli Crea regola.
-
In Origine evento, scegli Event Pattern.
-
Nella sezione Crea modello di eventi per abbinare gli eventi per servizio, procedi come segue:
-
Per il nome del servizio, scegli IoT Analytics
-
Per Tipo di evento, scegli IoT Analytics Dataset Lifecycle Notification.
-
Scegli Nomi specifici del set di dati, quindi inserisci il nome del set di dati di destinazione.
-
-
In Obiettivi, scegli Aggiungi target*.
-
Scegliete la coda SQS, quindi effettuate le seguenti operazioni:
-
In Coda*, scegli la coda di destinazione.
-
-
Scegli Configure details (Configura dettagli).
-
Nella pagina Passaggio 2: Configurazione dei dettagli della regola, inserisci un nome e una descrizione.
-
Scegli Create rule (Crea regola).