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à.
AWS IoT SiteWise
L'azione AWS IoT SiteWise (iotSiteWise
) invia i dati da un MQTT messaggio alle proprietà della risorsa in AWS IoT SiteWise.
Puoi seguire un tutorial che mostra come importare dati dagli AWS IoT oggetti. Per ulteriori informazioni, consulta il tutorial Ingesting data to AWS IoT SiteWise from AWS IoT things o la sezione Ingesting data using AWS IoT Core rules nella Guida per l'utente.AWS IoT SiteWise
Requisiti
Questa operazione della regola presenta i seguenti requisiti:
-
Un IAM ruolo che AWS IoT può assumere per eseguire l'operazione.
iotsitewise:BatchPutAssetPropertyValue
Per ulteriori informazioni, consulta Concedere a qualsiasi AWS IoT regola l'accesso richiesto.È possibile collegare al ruolo la seguente policy di fiducia di esempio.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*" } ] }
Per migliorare la sicurezza, è possibile specificare un percorso di gerarchia AWS IoT SiteWise degli asset nella
Condition
proprietà. L'esempio seguente è una policy di attendibilità che specifica un percorso della gerarchia di un asset.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/
root node asset ID
", "/root node asset ID
/*" ] } } } ] } -
Quando si inviano dati a AWS IoT SiteWise con questa azione, i dati devono soddisfare i requisiti dell'
BatchPutAssetPropertyValue
operazione. Per ulteriori informazioni, consulta BatchPutAssetPropertyValue nella documentazione di riferimento AWS IoT SiteWise API.
Parametri
Quando si crea una AWS IoT regola con questa azione, è necessario specificare le seguenti informazioni:
putAssetPropertyValueEntries
-
Un elenco di voci del valore della proprietà dell'asset che contengono ciascuna le seguenti informazioni:
propertyAlias
-
(Facoltativo) L'alias di proprietà associato alla proprietà dell'asset. Specifica un
propertyAlias
o unassetId
e unpropertyId
insieme. Per ulteriori informazioni sugli alias di proprietà, consulta Mappatura dei flussi di dati industriali alle proprietà degli asset nella Guida per l'utente AWS IoT SiteWise .Supporta modelli di sostituzione: sì
assetId
-
(Facoltativo) L'ID della AWS IoT SiteWise risorsa. Specifica un
propertyAlias
o unassetId
e unpropertyId
insieme.Supporta modelli di sostituzione: sì
propertyId
-
(Facoltativo) L'ID di una proprietà di asset. Specifica un
propertyAlias
o unassetId
e unpropertyId
insieme.Supporta modelli di sostituzione: sì
entryId
-
(Facoltativo) Un identificatore univoco per questa voce. Definisci
entryId
per monitorare meglio il messaggio che ha causato un errore, se del caso. Il valore predefinito è nuovo. UUIDSupporta modelli di sostituzione: sì
propertyValues
-
Un elenco di valori di proprietà da inserire, ciascuno contenente timestamp, quality e value (TQV) nel seguente formato:
timestamp
-
Una struttura timestamp contenente le seguenti informazioni:
timeInSeconds
-
Una stringa che contiene il tempo in secondi nel tempo di epoca Unix. Se il payload del messaggio non ha un timestamp, è possibile utilizzare timestamp(), che restituisce l'ora corrente in millisecondi. Per convertire il tempo in secondi, è possibile utilizzare il seguente modello di sostituzione:
${floor(timestamp() / 1E3)}
.Supporta modelli di sostituzione: sì
offsetInNanos
-
(Facoltativo) Una stringa che contiene l'offset del tempo in nanosecondi dal tempo espresso in secondi. Se il payload del messaggio non ha un timestamp, è possibile utilizzare timestamp(), che restituisce l'ora corrente in millisecondi. Per calcolare l'offset del nanosecondo da quel momento, è possibile utilizzare il seguente modello di sostituzione:
${(timestamp() % 1E3) * 1E6}
.Supporta modelli di sostituzione: sì
Per quanto riguarda Unix epoch time, AWS IoT SiteWise accetta solo le voci che hanno un timestamp che va da un massimo di 7 giorni nel passato fino a 5 minuti nel futuro.
quality
-
(Facoltativo) Una stringa che descrive la qualità del valore. Valori validi:
GOOD
,BAD
,UNCERTAIN
.Supporta modelli di sostituzione: sì
value
-
Una struttura di valori che contiene uno dei seguenti campi valore, a seconda del tipo di dati della proprietà dell'asset:
booleanValue
-
(Facoltativo) Una stringa che contiene il valore booleano della voce di valore.
Supporta modelli di sostituzione: sì
doubleValue
-
(Facoltativo) Una stringa che contiene il doppio valore della voce di valore.
Supporta modelli di sostituzione: sì
integerValue
-
(Facoltativo) Una stringa che contiene il valore intero della voce di valore.
Supporta modelli di sostituzione: sì
stringValue
-
(Facoltativo) Il valore stringa della voce valore.
Supporta modelli di sostituzione: sì
roleArn
-
Il ARN IAM ruolo che concede l' AWS IoT autorizzazione a inviare il valore della proprietà di un asset a. AWS IoT SiteWise Per ulteriori informazioni, consulta Requisiti.
Supporta modelli di sostituzione: no
Esempi
L'JSONesempio seguente definisce un' SiteWise azione IoT di base in una AWS IoT regola.
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotSiteWise": { "putAssetPropertyValueEntries": [ { "propertyAlias": "/some/property/alias", "propertyValues": [ { "timestamp": { "timeInSeconds": "${my.payload.timeInSeconds}" }, "value": { "integerValue": "${my.payload.value}" } } ] } ], "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sitewise" } } ] } }
L'JSONesempio seguente definisce un' SiteWise azione IoT in una AWS IoT regola. In questo esempio vengono utilizzati l'argomento come alias di proprietà e la funzione timestamp()
. Ad esempio, se si pubblicano i dati su /company/windfarm/3/turbine/7/rpm
, questa operazione invia i dati alla proprietà dell'asset con un alias di proprietà uguale all'argomento specificato.
{ "topicRulePayload": { "sql": "SELECT * FROM '/company/windfarm/+/turbine/+/+'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotSiteWise": { "putAssetPropertyValueEntries": [ { "propertyAlias": "${topic()}", "propertyValues": [ { "timestamp": { "timeInSeconds": "${floor(timestamp() / 1E3)}", "offsetInNanos": "${(timestamp() % 1E3) * 1E6}" }, "value": { "doubleValue": "${my.payload.value}" } } ] } ], "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sitewise" } } ] } }
Consulta anche
-
Cos'è AWS IoT SiteWise? nella Guida per l'utente di AWS IoT SiteWise
-
Inserimento di dati utilizzando AWS IoT Core le regole della Guida per l'AWS IoT SiteWise utente
-
Inserimento di dati AWS IoT SiteWise da AWS IoT elementi contenuti nella Guida per l'utente AWS IoT SiteWise
-
Risoluzione dei problemi relativi a un'azione AWS IoT SiteWise relativa alle regole nella Guida per l'utente AWS IoT SiteWise