Acquisizione di dati tramite l'API AWS IoT SiteWise - AWS IoT SiteWise

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à.

Acquisizione di dati tramite l'API AWS IoT SiteWise

Utilizza l' AWS IoT SiteWise API per inviare dati industriali con data e ora alle proprietà degli attributi e di misurazione degli asset. L'API accetta un payload che contiene strutture (TQV). timestamp-quality-value

Usa l'BatchPutAssetPropertyValueoperazione per caricare i tuoi dati. Con questa operazione, puoi caricare più immissioni di dati alla volta per raccogliere dati da più dispositivi e inviarli tutti in un'unica richiesta.

Importante

L'BatchPutAssetPropertyValueoperazione è soggetta alle seguenti quote:

  • Fino a 10 iscrizioni per richiesta.

  • Fino a 10 valori di proprietà (punti dati TQV) per ingresso.

  • AWS IoT SiteWise rifiuta tutti i dati con un timestamp datato a più di 7 giorni nel passato o a più di 10 minuti nel futuro.

Per ulteriori informazioni su queste quote, consulta l'API Reference BatchPutAssetPropertyValue.AWS IoT SiteWise

Per identificare la proprietà di una risorsa, specificate una delle seguenti opzioni:

  • La proprietà assetId e propertyId della risorsa a cui vengono inviati i dati.

  • IlpropertyAlias, che è un alias del flusso di dati (ad esempio,/company/windfarm/3/turbine/7/temperature). Per utilizzare questa opzione, è necessario prima impostare l'alias della proprietà dell'asset. Per impostare gli alias delle proprietà, vedere. Mappatura dei flussi di dati industriali alle proprietà degli asset

L'esempio seguente illustra come inviare le letture della temperatura e delle rotazioni al minuto (RPM) di una turbina eolica da un payload archiviato in un file JSON.

aws iotsitewise batch-put-asset-property-value --cli-input-json file://batch-put-payload.json

Il payload di esempio in batch-put-payload.json contiene quanto segue.

{ "entries": [ { "entryId": "unique entry ID", "propertyAlias": "/company/windfarm/3/turbine/7/temperature", "propertyValues": [ { "value": { "integerValue": 38 }, "timestamp": { "timeInSeconds": 1575691200 } } ] }, { "entryId": "unique entry ID", "propertyAlias": "/company/windfarm/3/turbine/7/rpm", "propertyValues": [ { "value": { "doubleValue": 15.09 }, "timestamp": { "timeInSeconds": 1575691200 }, "quality": "GOOD" } ] } ] }

Ogni voce nel payload contiene un entryId che è possibile definire come una qualsiasi stringa univoca. Se una richiesta non riesce, ciascun errore conterrà l'entryId della richiesta corrispondente in modo che sia possibile sapere quale richiesta riprovare.

Ogni struttura nell'elenco di propertyValues è una struttura timestamp-quality-value (TQV) che contiene avalue, a e facoltativamente atimestamp. quality

  • value— Una struttura che contiene uno dei seguenti campi, a seconda del tipo di proprietà impostata:

    • booleanValue

    • doubleValue

    • integerValue

    • stringValue

  • timestamp— Una struttura che contiene l'ora attuale dell'epoca Unix in secondi,. timeInSeconds È inoltre possibile impostare la offsetInNanos chiave nella timestamp struttura se si dispone di dati temporalmente precisi. AWS IoT SiteWise rifiuta tutti i punti dati con timestamp più vecchi di 7 giorni nel passato o più recenti di 10 minuti nelle future.

  • quality— (Facoltativo) Una delle seguenti stringhe di qualità:

    • GOOD— (Impostazione predefinita) I dati non sono interessati da alcun problema.

    • BAD— I dati sono interessati da un problema, ad esempio un guasto del sensore.

    • UNCERTAIN— I dati sono influenzati da un problema come l'imprecisione del sensore.

    Per ulteriori informazioni su come AWS IoT SiteWise gestisce la qualità dei dati nei calcoli, vedi Qualità dei dati nelle espressioni di formule.