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 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'BatchPutAssetPropertyValueoperazione. 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 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 è nuovo. UUID

Supporta 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