View a markdown version of this page

AWS IoT SiteWise - AWS IoT Core

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 messaggio MQTT alle proprietà degli asset in. AWS IoT SiteWise

Puoi seguire un tutorial che ti mostra come importare dati dalle cose. AWS IoT Per ulteriori informazioni, consulta il tutorial Immissione di dati AWS IoT SiteWise da AWS IoT oggetti o la sezione Acquisizione di dati utilizzando le regole di AWS IoT base della Guida per l'utente. AWS IoT SiteWise

Requisiti

Questa operazione della regola presenta i seguenti requisiti:

  • Un ruolo IAM che AWS IoT può assumere l'esecuzione dell'operazione. iotsitewise:BatchPutAssetPropertyValue Per ulteriori informazioni, consulta Concessione di un AWS IoT regola l'accesso che richiede.

    È 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, puoi specificare un percorso gerarchico 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 invii dati a AWS IoT SiteWise con questa azione, i tuoi dati devono soddisfare i requisiti dell'BatchPutAssetPropertyValueoperazione. Per ulteriori informazioni, consulta BatchPutAssetPropertyValue nella documentazione di riferimento dell’API AWS IoT SiteWise .

Parameters

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 un assetId e un propertyId 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 un assetId e un propertyId insieme.

Supporta modelli di sostituzione: sì

propertyId

(Facoltativo) L'ID di una proprietà di asset. Specifica un propertyAlias o un assetId e un propertyId 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 è un nuovo UUID.

Supporta modelli di sostituzione: sì

propertyValues

Un elenco di valori di proprietà da inserire che contengono timestamp, quality e value (TQV) nel formato seguente:

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 l'ora dell'epoca Unix, AWS IoT SiteWise accetta solo voci con un timestamp fino a 7 giorni nel passato e 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

L'ARN del ruolo IAM che concede il AWS IoT permesso di inviare il valore di una proprietà dell'asset a. AWS IoT SiteWise Per ulteriori informazioni, consulta Requisiti.

Supporta modelli di sostituzione: no

Esempi

Il seguente esempio JSON definisce un' SiteWise azione IoT di base in una regola. AWS IoT

{ "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" } } ] } }

Il seguente esempio JSON 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