Use Node SDK instead of REST API (#199)
* Use Node SDK instead of REST API * Upgrade @types/node npm
This commit is contained in:
Родитель
4bfff9cb24
Коммит
2695555179
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "azure-iot-toolkit",
|
||||
"version": "1.2.0",
|
||||
"version": "1.6.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -20,9 +20,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "6.0.116",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.116.tgz",
|
||||
"integrity": "sha512-vToa8YEeulfyYg1gSOeHjvvIRqrokng62VMSj2hoZrwZNcYrp2h3AWo6KeBVuymIklQUaY5zgVJvVsC4KiiLkQ==",
|
||||
"version": "10.12.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.3.tgz",
|
||||
"integrity": "sha512-sfGmOtSMSbQ/AKG8V9xD1gmjquC9awIIZ/Kj309pHb2n3bcRAcGMQv5nJ6gCXZVsneGE4+ve8DXKRCsrg3TFzg==",
|
||||
"dev": true
|
||||
},
|
||||
"adal-node": {
|
||||
|
@ -84,14 +84,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"amqp10-transport-ws": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/amqp10-transport-ws/-/amqp10-transport-ws-0.0.5.tgz",
|
||||
"integrity": "sha1-sPgnwkrU4YFSi8uy3s63H0oTKZk=",
|
||||
"requires": {
|
||||
"nodejs-websocket": "^1.7.0"
|
||||
}
|
||||
},
|
||||
"ansi-align": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
|
||||
|
@ -255,15 +247,6 @@
|
|||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
|
||||
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
|
||||
},
|
||||
"axios": {
|
||||
"version": "0.16.2",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.16.2.tgz",
|
||||
"integrity": "sha1-uk+S8XFn37q0CYN4VFS5rBScPG0=",
|
||||
"requires": {
|
||||
"follow-redirects": "^1.2.3",
|
||||
"is-buffer": "^1.1.5"
|
||||
}
|
||||
},
|
||||
"azure-arm-iothub": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-arm-iothub/-/azure-arm-iothub-2.0.1.tgz",
|
||||
|
@ -304,115 +287,179 @@
|
|||
}
|
||||
},
|
||||
"azure-iot-amqp-base": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-amqp-base/-/azure-iot-amqp-base-1.7.3.tgz",
|
||||
"integrity": "sha512-O8KeLOi+SnG9YYEgGLepvj3xiTvggyvw51PKG9E5cF4O3SkdSmN8Fhv/DOaZUZjaMhxF1fagVPW0RYf+0Vwrpw==",
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-amqp-base/-/azure-iot-amqp-base-2.1.1.tgz",
|
||||
"integrity": "sha512-qZlRNvjCuOI9ptdXmq7ZPwXmrXc6rtEFE3BiuWVtEIMb21qd0EpGNE0c6gEs/dTM9OsQeVetKBVV0ZCffBomUw==",
|
||||
"requires": {
|
||||
"amqp10": "^3.6.0",
|
||||
"amqp10-transport-ws": "^0.0.5",
|
||||
"async": "^2.5.0",
|
||||
"azure-iot-common": "1.7.3",
|
||||
"bluebird": "^3.5.0",
|
||||
"azure-iot-common": "1.8.1",
|
||||
"debug": "^3.0.1",
|
||||
"lodash.merge": "^4.6.1",
|
||||
"machina": "^2.0.1",
|
||||
"uuid": "^3.0.1"
|
||||
"machina": "^4.0.1",
|
||||
"rhea": "^0.2.18",
|
||||
"uuid": "^3.0.1",
|
||||
"ws": "^6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"amqp10": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/amqp10/-/amqp10-3.6.0.tgz",
|
||||
"integrity": "sha512-o8Agnjuf4ve+aT1IExkTLeL5/rAqxvL4gqDkO06AfRlL9SRSklMMMzKqmPsVjcV5ySOVEQqyFUOAhI3wm3KT1A==",
|
||||
"ws": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-6.1.0.tgz",
|
||||
"integrity": "sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg==",
|
||||
"requires": {
|
||||
"bl": "^1.1.2",
|
||||
"bluebird": "^3.4.6",
|
||||
"buffer-builder": "^0.2.0",
|
||||
"debug": "^2.3.3",
|
||||
"lodash": "^4.17.2",
|
||||
"node-int64": "^0.4.0",
|
||||
"stately.js": "^1.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
}
|
||||
"async-limiter": "~1.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"azure-iot-common": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-common/-/azure-iot-common-1.7.3.tgz",
|
||||
"integrity": "sha512-JMa9Hvmb5xkvHupcHDUP3kX+JMobZ/VW4YiPhrsH6cVJfh9+WM+PptKZBL2VngL5q0zHMeUlmrGvvKjqPh7a7g==",
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-common/-/azure-iot-common-1.8.1.tgz",
|
||||
"integrity": "sha512-4xu4dsz3fLjM1aP0tBgv7/aYNoJ8sUJ5FJXi+s/OpK8gS6TcnKFGwJgFbHVS7VmL0zYxdsJisRVfWWinP+RSGw==",
|
||||
"requires": {
|
||||
"getos": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"azure-iot-device": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-device/-/azure-iot-device-1.7.3.tgz",
|
||||
"integrity": "sha512-Q6bl8BJWubNIxiRNOXQ8fkC24iwPQjcRyJ+PEobPxs3BekVrWfeQSfrWbYB4eZXp2DS464RirizFpiNGYVsZcA==",
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-device/-/azure-iot-device-1.8.1.tgz",
|
||||
"integrity": "sha512-sKsXuICF9MqbcwaLtXcrrqUMu9m6CO7gV5eBsnmqfsYYF1cXJdp6fXdfn7EgPLg9fvwgXQz4dTHEoMwv8mu/gA==",
|
||||
"requires": {
|
||||
"azure-iot-common": "1.7.3",
|
||||
"azure-iot-http-base": "1.7.3",
|
||||
"azure-iot-common": "1.8.1",
|
||||
"azure-iot-http-base": "1.8.1",
|
||||
"azure-storage": "^2.8.1",
|
||||
"debug": "^3.1.0",
|
||||
"lodash": "^4.17.10",
|
||||
"machina": "^2.0.1",
|
||||
"machina": "^4.0.1",
|
||||
"traverse": "^0.6.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"azure-iot-http-base": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-http-base/-/azure-iot-http-base-1.8.1.tgz",
|
||||
"integrity": "sha512-Vzs87Yo0CReih9VBsXuUO0BcFzG6dwbAEZkUN8Yu9NplB4WHqDV4SYp08E0qoey9Mitb6Qhkxq4e96cc3XcM1w==",
|
||||
"requires": {
|
||||
"azure-iot-common": "1.8.1",
|
||||
"debug": "^3.1.0",
|
||||
"uuid": "^3.2.1"
|
||||
}
|
||||
},
|
||||
"machina": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/machina/-/machina-4.0.2.tgz",
|
||||
"integrity": "sha512-OOlFrW1rd783S6tF36v5Ie/TM64gfvSl9kYLWL2cPA31J71HHWW3XrgSe1BZSFAPkh8532CMJMLv/s9L2aopiA==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"azure-iot-device-mqtt": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-device-mqtt/-/azure-iot-device-mqtt-1.7.3.tgz",
|
||||
"integrity": "sha512-tIOjjXrDYl5yc3dORclxppQla+vaoGaDFr1xZvHn7JsmughVuxm7OO0hHqNWYN7AhB5J9HSW9N9r8tc4A1fNDw==",
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-device-mqtt/-/azure-iot-device-mqtt-1.8.1.tgz",
|
||||
"integrity": "sha512-NEZxKj2+YxwP0TwC7IXMi/Gx/gqp3h6agLgc62ipW1vBzaajT9rvRKYMFm/yjUZHGbyH7mXgOQo+SN6YLCPx4g==",
|
||||
"requires": {
|
||||
"azure-iot-common": "1.7.3",
|
||||
"azure-iot-device": "1.7.3",
|
||||
"azure-iot-mqtt-base": "1.7.3",
|
||||
"azure-iot-common": "1.8.1",
|
||||
"azure-iot-device": "1.8.1",
|
||||
"azure-iot-mqtt-base": "1.8.1",
|
||||
"debug": "^3.0.1",
|
||||
"machina": "^2.0.1",
|
||||
"machina": "^4.0.1",
|
||||
"uuid": "^3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"azure-iot-common": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-common/-/azure-iot-common-1.8.1.tgz",
|
||||
"integrity": "sha512-4xu4dsz3fLjM1aP0tBgv7/aYNoJ8sUJ5FJXi+s/OpK8gS6TcnKFGwJgFbHVS7VmL0zYxdsJisRVfWWinP+RSGw==",
|
||||
"requires": {
|
||||
"getos": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"azure-iot-device": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-device/-/azure-iot-device-1.8.1.tgz",
|
||||
"integrity": "sha512-sKsXuICF9MqbcwaLtXcrrqUMu9m6CO7gV5eBsnmqfsYYF1cXJdp6fXdfn7EgPLg9fvwgXQz4dTHEoMwv8mu/gA==",
|
||||
"requires": {
|
||||
"azure-iot-common": "1.8.1",
|
||||
"azure-iot-http-base": "1.8.1",
|
||||
"azure-storage": "^2.8.1",
|
||||
"debug": "^3.1.0",
|
||||
"lodash": "^4.17.10",
|
||||
"machina": "^4.0.1",
|
||||
"traverse": "^0.6.6"
|
||||
}
|
||||
},
|
||||
"azure-iot-http-base": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-http-base/-/azure-iot-http-base-1.8.1.tgz",
|
||||
"integrity": "sha512-Vzs87Yo0CReih9VBsXuUO0BcFzG6dwbAEZkUN8Yu9NplB4WHqDV4SYp08E0qoey9Mitb6Qhkxq4e96cc3XcM1w==",
|
||||
"requires": {
|
||||
"azure-iot-common": "1.8.1",
|
||||
"debug": "^3.1.0",
|
||||
"uuid": "^3.2.1"
|
||||
}
|
||||
},
|
||||
"machina": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/machina/-/machina-4.0.2.tgz",
|
||||
"integrity": "sha512-OOlFrW1rd783S6tF36v5Ie/TM64gfvSl9kYLWL2cPA31J71HHWW3XrgSe1BZSFAPkh8532CMJMLv/s9L2aopiA==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"azure-iot-http-base": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-http-base/-/azure-iot-http-base-1.7.3.tgz",
|
||||
"integrity": "sha512-vwkfQMbakf3qNTaYBZqaJyO6rgoju1iqOpdzwhej5RdCkR27PZRp2Tu0xaPUZVmtAVXPzVkuq5uldJpaBYfeDA==",
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-http-base/-/azure-iot-http-base-1.8.1.tgz",
|
||||
"integrity": "sha512-Vzs87Yo0CReih9VBsXuUO0BcFzG6dwbAEZkUN8Yu9NplB4WHqDV4SYp08E0qoey9Mitb6Qhkxq4e96cc3XcM1w==",
|
||||
"requires": {
|
||||
"azure-iot-common": "1.7.3",
|
||||
"azure-iot-common": "1.8.1",
|
||||
"debug": "^3.1.0",
|
||||
"uuid": "^3.2.1"
|
||||
}
|
||||
},
|
||||
"azure-iot-mqtt-base": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-mqtt-base/-/azure-iot-mqtt-base-1.7.3.tgz",
|
||||
"integrity": "sha512-DFadJx01x3aWbqO3OjBhkctm8x+99aRC+vXhbzf3eJprD5kYp5ima3zl/NPME3km+KfBV9xOUyBANVUOnNlUkw==",
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-mqtt-base/-/azure-iot-mqtt-base-1.8.1.tgz",
|
||||
"integrity": "sha512-peMs8eX4JnwCgNzuJ6Mq8crYodybrO5iO6bzXnuXQG5pdoQchOuZ2Fs5t5f9mdblLpV4iu2WwyJriHoAYfEN+Q==",
|
||||
"requires": {
|
||||
"azure-iot-common": "1.7.3",
|
||||
"azure-iot-common": "1.8.1",
|
||||
"debug": "^3.1.0",
|
||||
"machina": "^2.0.1",
|
||||
"mqtt": "^2.15.2"
|
||||
"machina": "^4.0.1",
|
||||
"mqtt": "^2.18.8"
|
||||
},
|
||||
"dependencies": {
|
||||
"azure-iot-common": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iot-common/-/azure-iot-common-1.8.1.tgz",
|
||||
"integrity": "sha512-4xu4dsz3fLjM1aP0tBgv7/aYNoJ8sUJ5FJXi+s/OpK8gS6TcnKFGwJgFbHVS7VmL0zYxdsJisRVfWWinP+RSGw==",
|
||||
"requires": {
|
||||
"getos": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"machina": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/machina/-/machina-4.0.2.tgz",
|
||||
"integrity": "sha512-OOlFrW1rd783S6tF36v5Ie/TM64gfvSl9kYLWL2cPA31J71HHWW3XrgSe1BZSFAPkh8532CMJMLv/s9L2aopiA==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"azure-iothub": {
|
||||
"version": "1.7.3",
|
||||
"resolved": "https://registry.npmjs.org/azure-iothub/-/azure-iothub-1.7.3.tgz",
|
||||
"integrity": "sha512-3MAsrm4vCBcYLso13ENxtIN1iY8ziQmadu3hzczhpbzsUPrque3NSQ4IpBMeqRYN278pYOKeCBBipgNNnSXflA==",
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/azure-iothub/-/azure-iothub-1.8.1.tgz",
|
||||
"integrity": "sha512-KqAHTXrrtPIYHQvynpLGl2vBoz85eJELqlhSRJGRm2dyOk0U2Ba7v4HkCdV+IUoUDqWYdxrpDs66ay6VtMXUyA==",
|
||||
"requires": {
|
||||
"async": "^2.6.1",
|
||||
"azure-iot-amqp-base": "1.7.3",
|
||||
"azure-iot-common": "1.7.3",
|
||||
"azure-iot-http-base": "1.7.3",
|
||||
"azure-iot-amqp-base": "2.1.1",
|
||||
"azure-iot-common": "1.8.1",
|
||||
"azure-iot-http-base": "1.8.1",
|
||||
"debug": "^3.1.0",
|
||||
"lodash": "^4.17.10",
|
||||
"machina": "^2.0.1"
|
||||
"machina": "^4.0.1",
|
||||
"rhea": "^0.2.17"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": {
|
||||
|
@ -853,6 +900,14 @@
|
|||
"integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
|
||||
"dev": true
|
||||
},
|
||||
"d": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz",
|
||||
"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
|
||||
"requires": {
|
||||
"es5-ext": "^0.10.9"
|
||||
}
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
|
@ -978,6 +1033,60 @@
|
|||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"es5-ext": {
|
||||
"version": "0.10.46",
|
||||
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz",
|
||||
"integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==",
|
||||
"requires": {
|
||||
"es6-iterator": "~2.0.3",
|
||||
"es6-symbol": "~3.1.1",
|
||||
"next-tick": "1"
|
||||
}
|
||||
},
|
||||
"es6-iterator": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
|
||||
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
|
||||
"requires": {
|
||||
"d": "1",
|
||||
"es5-ext": "^0.10.35",
|
||||
"es6-symbol": "^3.1.1"
|
||||
}
|
||||
},
|
||||
"es6-map": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
|
||||
"integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
|
||||
"requires": {
|
||||
"d": "1",
|
||||
"es5-ext": "~0.10.14",
|
||||
"es6-iterator": "~2.0.1",
|
||||
"es6-set": "~0.1.5",
|
||||
"es6-symbol": "~3.1.1",
|
||||
"event-emitter": "~0.3.5"
|
||||
}
|
||||
},
|
||||
"es6-set": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
|
||||
"integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
|
||||
"requires": {
|
||||
"d": "1",
|
||||
"es5-ext": "~0.10.14",
|
||||
"es6-iterator": "~2.0.1",
|
||||
"es6-symbol": "3.1.1",
|
||||
"event-emitter": "~0.3.5"
|
||||
}
|
||||
},
|
||||
"es6-symbol": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
|
||||
"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
|
||||
"requires": {
|
||||
"d": "1",
|
||||
"es5-ext": "~0.10.14"
|
||||
}
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
|
@ -989,6 +1098,15 @@
|
|||
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
|
||||
"dev": true
|
||||
},
|
||||
"event-emitter": {
|
||||
"version": "0.3.5",
|
||||
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
|
||||
"integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
|
||||
"requires": {
|
||||
"d": "1",
|
||||
"es5-ext": "~0.10.14"
|
||||
}
|
||||
},
|
||||
"event-stream": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
|
||||
|
@ -1148,14 +1266,6 @@
|
|||
"integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
|
||||
"dev": true
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "1.5.5",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.5.tgz",
|
||||
"integrity": "sha512-GHjtHDlY/ehslqv0Gr5N0PUJppgg/q0rOBvX0na1s7y1A3LWxPqCYU76s3Z1bM4+UZB4QF0usaXLT5wFpof5PA==",
|
||||
"requires": {
|
||||
"debug": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"for-in": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
|
||||
|
@ -2111,18 +2221,11 @@
|
|||
}
|
||||
},
|
||||
"machina": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/machina/-/machina-2.0.2.tgz",
|
||||
"integrity": "sha512-9U9g4eQjQ2JARX7h/051r65EQEfFfpPxoSjVmUMJG6gnfjVjM+rjwVLoq7Z9NovjYm7AR3oTWWPtHVlgeSZzYw==",
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/machina/-/machina-4.0.2.tgz",
|
||||
"integrity": "sha512-OOlFrW1rd783S6tF36v5Ie/TM64gfvSl9kYLWL2cPA31J71HHWW3XrgSe1BZSFAPkh8532CMJMLv/s9L2aopiA==",
|
||||
"requires": {
|
||||
"lodash": "3.x"
|
||||
},
|
||||
"dependencies": {
|
||||
"lodash": {
|
||||
"version": "3.10.1",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
|
||||
"integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
|
||||
}
|
||||
"lodash": "^4.17.5"
|
||||
}
|
||||
},
|
||||
"make-dir": {
|
||||
|
@ -2312,13 +2415,14 @@
|
|||
"integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y="
|
||||
},
|
||||
"mqtt": {
|
||||
"version": "2.18.3",
|
||||
"resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.18.3.tgz",
|
||||
"integrity": "sha512-BXCUugFgA6FOWJGxhvUWtVLOdt6hYTmiMGPksEyKuuF1FQ0ji7UJBJ/0kVRMUtUWCAtPGnt4mZZZgJpzNLcuQg==",
|
||||
"version": "2.18.8",
|
||||
"resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.18.8.tgz",
|
||||
"integrity": "sha512-3h6oHlPY/yWwtC2J3geraYRtVVoRM6wdI+uchF4nvSSafXPZnaKqF8xnX+S22SU/FcgEAgockVIlOaAX3fkMpA==",
|
||||
"requires": {
|
||||
"commist": "^1.0.0",
|
||||
"concat-stream": "^1.6.2",
|
||||
"end-of-stream": "^1.4.1",
|
||||
"es6-map": "^0.1.5",
|
||||
"help-me": "^1.0.1",
|
||||
"inherits": "^2.0.3",
|
||||
"minimist": "^1.2.0",
|
||||
|
@ -2386,6 +2490,11 @@
|
|||
"minimatch": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"next-tick": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
|
||||
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
|
||||
},
|
||||
"node-amqp-encoder": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/node-amqp-encoder/-/node-amqp-encoder-0.0.2.tgz",
|
||||
|
@ -2408,11 +2517,6 @@
|
|||
"is": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"nodejs-websocket": {
|
||||
"version": "1.7.1",
|
||||
"resolved": "https://registry.npmjs.org/nodejs-websocket/-/nodejs-websocket-1.7.1.tgz",
|
||||
"integrity": "sha1-zM+7qCO/HPqWgPFoq3q1MSHkhBA="
|
||||
},
|
||||
"normalize-path": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
|
||||
|
@ -2905,6 +3009,14 @@
|
|||
"path-parse": "^1.0.5"
|
||||
}
|
||||
},
|
||||
"rhea": {
|
||||
"version": "0.2.20",
|
||||
"resolved": "https://registry.npmjs.org/rhea/-/rhea-0.2.20.tgz",
|
||||
"integrity": "sha512-BQUUsPfNwJCoAwJ9xr6a8Ci9VCgLTs7CN09P3WAA0TNQPeLms5SbAXMcFIHKQGo64tUCR8i+iFnPGEei3UTBgg==",
|
||||
"requires": {
|
||||
"debug": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
|
||||
|
|
11
package.json
11
package.json
|
@ -607,21 +607,20 @@
|
|||
"devDependencies": {
|
||||
"@types/fs-extra": "^5.0.4",
|
||||
"@types/mocha": "^2.2.32",
|
||||
"@types/node": "^6.0.40",
|
||||
"@types/node": "^10.12.3",
|
||||
"mocha": "^5.1.1",
|
||||
"tslint": "^4.5.1",
|
||||
"typescript": "^2.2.1",
|
||||
"vscode": "^1.1.17"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.16.2",
|
||||
"azure-arm-iothub": "^2.0.1",
|
||||
"azure-arm-resource": "^2.0.0-preview",
|
||||
"azure-event-hubs": "0.0.6",
|
||||
"azure-iot-common": "^1.7.1",
|
||||
"azure-iot-device": "^1.7.1",
|
||||
"azure-iot-device-mqtt": "^1.7.1",
|
||||
"azure-iothub": "^1.7.1",
|
||||
"azure-iot-common": "^1.8.1",
|
||||
"azure-iot-device": "^1.8.1",
|
||||
"azure-iot-device-mqtt": "^1.8.1",
|
||||
"azure-iothub": "^1.8.1",
|
||||
"clipboardy": "^1.1.4",
|
||||
"fs-extra": "^7.0.0",
|
||||
"ms-rest": "^2.3.2",
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
// Licensed under the MIT license.
|
||||
|
||||
"use strict";
|
||||
import axios from "axios";
|
||||
import * as iothub from "azure-iothub";
|
||||
import * as fs from "fs";
|
||||
import * as path from "path";
|
||||
|
@ -163,27 +162,27 @@ export class IoTEdgeExplorer extends BaseExplorer {
|
|||
return content;
|
||||
}
|
||||
|
||||
private deploy(iotHubConnectionString: string, deviceId: string, deploymentJson: string, from: string) {
|
||||
private async deploy(iotHubConnectionString: string, deviceId: string, deploymentJson: string, from: string) {
|
||||
const label = "Edge";
|
||||
this._outputChannel.show();
|
||||
this.outputLine(label, `Start deployment to device [${deviceId}]`);
|
||||
|
||||
const url = `/devices/${encodeURIComponent(deviceId)}/applyConfigurationContent?api-version=${Constants.IoTHubApiVersion}`;
|
||||
const config = Utility.generateIoTHubAxiosRequestConfig(iotHubConnectionString, url, "post", deploymentJson);
|
||||
const entry = from === "none" ? "commandPalette" : "contextMenu";
|
||||
|
||||
axios.request(config)
|
||||
.then((response) => {
|
||||
this.outputLine(label, "Deployment succeeded.");
|
||||
TelemetryClient.sendEvent(Constants.IoTHubAIEdgeDeployDoneEvent, { Result: "Success", entry, from });
|
||||
})
|
||||
.catch((err) => {
|
||||
this.outputLine(label, `Deployment failed. ${err}`);
|
||||
if (err && err.response && err.response.data && err.response.data.Message) {
|
||||
this.outputLine(label, err.response.data.Message);
|
||||
}
|
||||
TelemetryClient.sendEvent(Constants.IoTHubAIEdgeDeployDoneEvent, { Result: "Fail", Message: err, entry, from });
|
||||
});
|
||||
try {
|
||||
const registry = iothub.Registry.fromConnectionString(iotHubConnectionString);
|
||||
const deploymentJsonObject = JSON.parse(deploymentJson);
|
||||
await registry.applyConfigurationContentOnDevice(deviceId, deploymentJsonObject);
|
||||
this.outputLine(label, "Deployment succeeded.");
|
||||
TelemetryClient.sendEvent(Constants.IoTHubAIEdgeDeployDoneEvent, { Result: "Success", entry, from });
|
||||
} catch (err) {
|
||||
this.outputLine(label, `Deployment failed. ${err}`);
|
||||
let detailedMessage = "";
|
||||
if (err && err.responseBody) {
|
||||
detailedMessage = err.responseBody;
|
||||
this.outputLine(label, err.responseBody);
|
||||
}
|
||||
TelemetryClient.sendEvent(Constants.IoTHubAIEdgeDeployDoneEvent, { Result: "Fail", Message: err, detailedMessage, entry, from });
|
||||
}
|
||||
}
|
||||
|
||||
private async deployAtScale(iotHubConnectionString: string, deploymentJson: string) {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
"use strict";
|
||||
import { Client as ServiceClient, DeviceMethodParams } from "azure-iothub";
|
||||
import { Callback } from "azure-iothub/lib/interfaces";
|
||||
import { IncomingMessageCallback } from "azure-iothub/lib/interfaces";
|
||||
import * as vscode from "vscode";
|
||||
import { BaseExplorer } from "./baseExplorer";
|
||||
import { Constants } from "./constants";
|
||||
|
@ -79,7 +79,7 @@ export class IotHubDirectMethodExplorer extends BaseExplorer {
|
|||
});
|
||||
}
|
||||
|
||||
private invokeDirectMethodWithServiceClient(serviceClient: ServiceClient, deviceId: string, methodParams: DeviceMethodParams, done?: Callback<any>, moduleId?: string) {
|
||||
private invokeDirectMethodWithServiceClient(serviceClient: ServiceClient, deviceId: string, methodParams: DeviceMethodParams, done?: IncomingMessageCallback<any>, moduleId?: string) {
|
||||
if (moduleId) {
|
||||
serviceClient.invokeDeviceMethod(deviceId, moduleId, methodParams, done);
|
||||
} else {
|
||||
|
|
|
@ -2,9 +2,10 @@
|
|||
// Licensed under the MIT license.
|
||||
|
||||
"use strict";
|
||||
import axios, { AxiosRequestConfig } from "axios";
|
||||
import { ResultWithHttpResponse } from "azure-iot-common";
|
||||
import { ConnectionString as DeviceConnectionString, SharedAccessSignature as DeviceSharedAccessSignature } from "azure-iot-device";
|
||||
import { ConnectionString, Registry, SharedAccessSignature } from "azure-iothub";
|
||||
import { ConnectionString, Registry, SharedAccessSignature, Twin } from "azure-iothub";
|
||||
import { ResultWithIncomingMessage } from "azure-iothub/lib/interfaces";
|
||||
import * as crypto from "crypto";
|
||||
import * as fs from "fs";
|
||||
import * as os from "os";
|
||||
|
@ -157,19 +158,6 @@ export class Utility {
|
|||
});
|
||||
}
|
||||
|
||||
public static generateIoTHubAxiosRequestConfig(iotHubConnectionString: string, url: string, method: string, data?: any): AxiosRequestConfig {
|
||||
return {
|
||||
url,
|
||||
method,
|
||||
baseURL: `https://${Utility.getHostName(iotHubConnectionString)}`,
|
||||
headers: {
|
||||
"Authorization": Utility.generateSasTokenForService(iotHubConnectionString),
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
data,
|
||||
};
|
||||
}
|
||||
|
||||
public static async getModuleItems(iotHubConnectionString: string, deviceItem: DeviceItem, context: vscode.ExtensionContext) {
|
||||
const modules = await Utility.getModules(iotHubConnectionString, deviceItem.deviceId);
|
||||
return modules.map((module) => {
|
||||
|
@ -239,18 +227,14 @@ export class Utility {
|
|||
});
|
||||
}
|
||||
|
||||
public static async getModuleTwin(iotHubConnectionString: string, deviceId: string, moduleId: string): Promise<string> {
|
||||
const url = `/twins/${encodeURIComponent(deviceId)}/modules/${moduleId}?api-version=${Constants.IoTHubApiVersion}`;
|
||||
const config = Utility.generateIoTHubAxiosRequestConfig(iotHubConnectionString, url, "get");
|
||||
|
||||
return (await axios.request(config)).data;
|
||||
public static async getModuleTwin(iotHubConnectionString: string, deviceId: string, moduleId: string): Promise<Twin> {
|
||||
const registry: Registry = Registry.fromConnectionString(iotHubConnectionString);
|
||||
return ((await registry.getModuleTwin(deviceId, moduleId)) as ResultWithHttpResponse<Twin>).responseBody;
|
||||
}
|
||||
|
||||
public static async updateModuleTwin(iotHubConnectionString: string, deviceId: string, moduleId: string, twin: any): Promise<string> {
|
||||
const url = `/twins/${encodeURIComponent(deviceId)}/modules/${moduleId}?api-version=${Constants.IoTHubApiVersion}`;
|
||||
const config = Utility.generateIoTHubAxiosRequestConfig(iotHubConnectionString, url, "put", twin);
|
||||
|
||||
return (await axios.request(config)).data;
|
||||
public static async updateModuleTwin(iotHubConnectionString: string, deviceId: string, moduleId: string, twin: any): Promise<void> {
|
||||
const registry: Registry = Registry.fromConnectionString(iotHubConnectionString);
|
||||
await registry.updateModuleTwin(deviceId, moduleId, twin, "*");
|
||||
}
|
||||
|
||||
public static async readFromActiveFile(fileName: string): Promise<string> {
|
||||
|
@ -376,14 +360,10 @@ export class Utility {
|
|||
return set;
|
||||
}
|
||||
|
||||
private static async getEdgeDeviceList(iotHubConnectionString: string): Promise<any[]> {
|
||||
const body = {
|
||||
query: "SELECT * FROM DEVICES where capabilities.iotEdge=true",
|
||||
};
|
||||
const url = `/devices/query?api-version=${Constants.IoTHubApiVersion}`;
|
||||
const config = Utility.generateIoTHubAxiosRequestConfig(iotHubConnectionString, url, "post", body);
|
||||
|
||||
return (await axios.request(config)).data;
|
||||
private static async getEdgeDeviceList(iotHubConnectionString: string): Promise<Twin[]> {
|
||||
const registry: Registry = Registry.fromConnectionString(iotHubConnectionString);
|
||||
const query = registry.createQuery("SELECT * FROM DEVICES where capabilities.iotEdge=true");
|
||||
return ((await query.nextAsTwin(null)) as ResultWithIncomingMessage<Twin[]>).result;
|
||||
}
|
||||
|
||||
private static showIoTHubInformationMessage(): void {
|
||||
|
|
Загрузка…
Ссылка в новой задаче