使用 API 擷取資料 AWS IoT SiteWise - AWS IoT SiteWise

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 API 擷取資料 AWS IoT SiteWise

您可以使用 AWS IoT SiteWise API 將時間戳記的產業資料傳送至資產的屬性和測量屬性。該 API 接受包含 timestamp-quality-value(TQV)結構的有效負載。

使用此 BatchPutAssetPropertyValue 操作上傳您的資料。透過此操作,您可以一次上傳多個資料項目,以便從多個裝置收集資料,並透過單一要求傳送所有資料。

重要

BatchPutAssetPropertyValue操作受以下配額限制:

  • 每個請求最多 10 個項目

  • 每個項目最多 10 個屬性值 (TQV 資料點)。

  • AWS IoT SiteWise 拒絕任何時間戳記為過去 7 天以上或 future 超過 10 分鐘的資料。

如需這些配額的詳細資訊,請參閱 AWS IoT SiteWise API 參考BatchPutAssetPropertyValue中的。

若要識別資產性質,您可以指定下列其中一項:

  • 您要傳送propertyId資料的目標資產屬性的assetId和。

  • propertyAlias,它是一個數據流別名(例如,/company/windfarm/3/turbine/7/temperature)。若要使用這個選項,您必須先設定您的資產屬性別名。若要了解如何設定屬性別名,請參閱將工業資料串流對應到資產屬性

以下範例示範如何從儲存在 JSON 檔案的承載中,設定風力渦輪機的溫度和每分鐘旋轉 (RPM) 讀數。

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

batch-put-payload.json 中的範例裝載包含以下內容。

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

承載中的每個項目都包含 entryId,您可以將其定義為任何獨特的字串。如果有任何請求項目失敗,每個錯誤都會包含對應請求的 entryId,這樣您就可以知道要重試哪些請求。

的清單中的每個結構都propertyValues是一個 timestamp-quality-value (TQV) 結構,其中包含valuetimestamp、a 和選擇性的。quality

  • value— 包含下列其中一個欄位的結構,視所設定的屬性類型而定:

    • booleanValue

    • doubleValue

    • integerValue

    • stringValue

  • timestamp— 包含目前 Unix 紀元時間 (以秒為單位) 的結構。timeInSeconds如果您有臨時精確的數據,也可以在timestamp結構中設置密offsetInNanos鑰。 AWS IoT SiteWise 拒絕任何時間戳記早於過去 7 天或 future 10 分鐘以上的資料點。

  • quality— (選用) 下列其中一個品質字串:

    • GOOD— (預設) 資料不會受到任何問題的影響。

    • BAD— 數據受到諸如傳感器故障等問題的影響。

    • UNCERTAIN— 數據受到傳感器不准確等問題的影響。

    如需有關如何在計算中 AWS IoT SiteWise 處理資料品質的詳細資訊,請參閱公式運算式中的資料品質