QueryNamedPropertyHistory
説明
このサービスは、入力パラメータに基づいてログプロパティの履歴をクエリーします。
入力
パラメータ名
説明
ベースタイプ
propertyNames
Thing のログプロパティのリストが含まれているインフォテーブル。
インフォテーブルに必要なデータシェイプは EntityList です。
INFOTABLE
maxItems
結果セットで返すアイテムの最大数。デフォルト値は 500 です。このパラメータは、その他すべてのフィルタが適用された後で適用されます。
NUMBER
startDate
値が記録された後のタイムスタンプ。
DATETIME
endDate
値が記録される前のタイムスタンプ。
DATETIME
quality
プロパティのログエントリの品質。複数の値をパイプ (|) で区切ることができます。有効なオプションは GOODBAD、および UNKNOWN です。
STRING
fillOption
有効なオプションは Previous および None です。Previous がリクエストされた場合、指定されたプロパティは更新されていないがその他のプロパティは更新されているときには、以前の値がレポートされます。None がリクエストされた場合、指定されたプロパティは更新されていないがその他のプロパティは更新されているときには、値がレポートされません。
デフォルトは Previous です。
STRING
oldestFirst
最も古いレコードまたは最新のレコードから読み込みます。デフォルト値は False です。
BOOLEAN
query
データをフィルタするときの追加のクエリー基準。
詳細については、クエリーサービス用クエリーパラメータを参照してください。
QUERY
returnedMetadata
プロパティ名、タイムスタンプ、プロパティ値に加えてリクエスト可能な追加の列を定義します。
デフォルト値は Quality です。
STRING
出力
パラメータ名
説明
ベースタイプ
result
リクエストされたプロパティの履歴値のリストが含まれているインフォテーブルを返します。
INFOTABLE
次の例では、Thing1 にはプロパティ Prop1 および Prop2 があり、値が次の順序で入力されています。
エンティティ
Prop1
Prop2
Thing1
1
2
11
22
次のクエリーでは、結果のインフォテーブルにはタイムスタンプ、Prop1Prop1_QualityProp2、および Prop2_quality が含まれます。
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var prop1 = new Object();
prop1.name = "Prop1"; // STRING [Primary Key]
prop1.description = undefined; // STRING
var prop2 = new Object();
prop2.name = "Prop2"; // STRING [Primary Key]
prop2.description = undefined; // STRING
propertyNamesInfoTable.AddRow(prop1);
propertyNamesInfoTable.AddRow(prop2);

// result: INFOTABLE dataShape: ""
let result = Things["Thing1"].QueryNamedPropertyHistory({
propertyNames: propertyNamesInfoTable,
maxItems: 5,
startDate: new Date(new Date().setFullYear(new Date().getFullYear() - 1)),
endDate: Date.now(),
quality: 'GOOD|BAD',
fillOption: 'Previous',
oldestFirst: false,
query: "{ \"sorts\": [{\"fieldName\": \"Prop1\"}]}",
returnedMetadata: 'Quality'
});
次のクエリーでは、結果のインフォテーブルにはタイムスタンプ、Prop1、および Prop2 が含まれます。
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var prop1 = new Object();
prop1.name = "Prop1"; // STRING [Primary Key]
prop1.description = undefined; // STRING
var prop2 = new Object();
prop2.name = "Prop2"; // STRING [Primary Key]
prop2.description = undefined; // STRING
propertyNamesInfoTable.AddRow(prop1);
propertyNamesInfoTable.AddRow(prop2);

// result: INFOTABLE dataShape: ""
let result = Things["Thing1"].QueryNamedPropertyHistory({
propertyNames: propertyNamesInfoTable,
maxItems: 5,
startDate: new Date(new Date().setFullYear(new Date().getFullYear() - 1)),
endDate: Date.now(),
quality: 'GOOD|BAD',
fillOption: 'None',
oldestFirst: false,
query: "{ \"sorts\": [{\"fieldName\": \"Prop1\"}]}",
returnedMetadata: 'Quality'
});
これは役に立ちましたか?