poz*_*gno 1 amazon-web-services iot aws-iot
我刚开始玩 AWS IoT。我创建了一个东西并使用 mqtt-spy 连接到 AWS 服务器。一切正常。
现在我想在网络控制台中检查每件事的状态,但是我在设备附近找不到这样有用的信息。
小智 7
通过启用AWS IoT Fleet Indexing Service,您可以获得事物的连接状态。此外,您可以查询当前连接/断开的设备。
首先,您必须通过 aws-cli 或通过控制台启用索引 (thingConnectivityIndexingMode)。
aws iot update-indexing-configuration --thing-indexing-configuration thingIndexingMode=REGISTRY_AND_SHADOW,thingConnectivityIndexingMode=STATUS
Run Code Online (Sandbox Code Playgroud)
然后您可以查询事物的连接状态,如下所示
aws iot search-index --index-name "AWS_Things" --query-string "thingName:mything1"
{
"things":[{
"thingName":"mything1",
"thingGroupNames":[
"mygroup1"
],
"thingId":"a4b9f759-b0f2-4857-8a4b-967745ed9f4e",
"attributes":{
"attribute1":"abc"
},
"connectivity": {
"connected":false,
"timestamp":1641508937
}
}
}
Run Code Online (Sandbox Code Playgroud)
注意:Fleet Indexing Service 索引连接数据与设备生命周期事件 ($aws/events/presence/connected/)。在某些情况下,在发生连接或断开连接事件后,服务可能需要一分钟左右的时间来更新索引。
编辑:这个 javascript 版本:
var iot = new AWS.Iot({
apiVersion: "2015-05-28"
});
...
var params = {
queryString: "thingName:" + data.Item.thingName, // using result from DynamoDB
indexName: 'AWS_Things'
// maxResults: 'NUMBER_VALUE',
// nextToken: 'STRING_VALUE',
// queryVersion: 'STRING_VALUE'
};
iot.searchIndex(params, function(err, data) {
if (err) {
console.log("error from iot.searchIndex");
console.log(err, err.stack); // an error occurred
} else {
console.log("success from iot.searchIndex");
console.log(data.things[0].connectivity.connected); // t/f
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3659 次 |
| 最近记录: |