继上一篇的AWS:获取所有 IoT 事物 -> Java 获取 aws-iot 所有事物
直接上 Java 代码:
public static void main(String[] args) {
AWSCredentials credentials = new AWSCredentials() {
@Override
public String getAWSSecretKey() {
return AWS_SECRET_KEY;
}
@Override
public String getAWSAccessKeyId() {
return AWS_ACCESS_KEY;
}
};
ListThingsRequest listThingsRequest = new ListThingsRequest();
listThingsRequest.setRequestCredentials(credentials);
ListThingsResult listThingsResult = iot.listThings(listThingsRequest);
List<ThingAttribute> listThings = listThingsResult.getThings();
ListIndicesRequest listIndicesRequest = new ListIndicesRequest();
listIndicesRequest.setRequestCredentials(credentials);
ListIndicesResult listIndicesResult = iot.listIndices(listIndicesRequest);
List<String> listIndicesNames = listIndicesResult.getIndexNames();
SearchIndexRequest searchIndexRequest = new SearchIndexRequest();
searchIndexRequest.setRequestCredentials(credentials);
for (int i = 0; i < listThings.size(); i++) {
ThingAttribute thing = listThings.get(i);
searchIndexRequest.setIndexName(listIndicesNames.get(0));
searchIndexRequest.setQueryString(thing.getThingName());
SearchIndexResult searchIndexResult = iot.searchIndex(searchIndexRequest);
List<ThingDocument> thingDocumentList = searchIndexResult.getThings();
ThingDocument thingDocument = thingDocumentList.get(0);
System.out.println(thing.getThingName() + " : " + thingDocument.getShadow());
}
}