本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS IoT SiteWise API 導入資料
您可以使用 AWS IoT SiteWise API 將時間戳記的工業資料傳送至資產屬性和衡量值屬性。API 接受包含timestamp-quality-value(TQV) 結構.
使用BatchPutAssetProperty數值操作上傳您的資料。透過此操作,您可以一次上傳多個資料項目,以便從多個裝置收集資料,並透過單一要求傳送所有資料。
所以此BatchPutAssetProperty數值操作會受限於每個要求的項目數量配額,以及每個項目的 TQV 資料點數量。AWS IoT SiteWise也會拒絕過去 7 天或超過未來 10 分鐘時間戳記的任何資料。如需這些配額的詳細資訊,請參BatchPutAssetProperty數值中的AWS IoT SiteWiseAPI 參考。
若要標識資產屬性,您可以指定下列其中一個選項:
-
所以此
assetId
和propertyId
您要向其發送資料的資產屬性。 -
所以此
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) 結構,其中包含value
, 一個timestamp
,並可以選擇一個quality
。
-
value
— 包含下列其中一個字段的結構,取決於要設定的屬性類型。-
booleanValue
-
doubleValue
-
integerValue
-
stringValue
-
-
timestamp
— 包含目前 Unix Epoch 時間的結構,以秒為單位,timeInSeconds
。您也可以設定offsetInNanos
項中的timestamp
結構(如果您有時間精確的數據)。AWS IoT SiteWise會拒絕過去 7 天或未來 10 分鐘時間戳記的任何資料點。 -
quality
— (選用) 下列其中一個品質字串:-
GOOD
— (默認) 資料不會被任何問題影響。 -
BAD
— 資料會被例如感應器失敗的問題影響。 -
UNCERTAIN
— 資料會被例如感應器不準確的問題影響。
如需 AWS IoT SiteWise 如何運算處理資料品質的詳細資訊,請參閱資料品質的公式表達式。
-