我在NodeJs12(AWS lambda)中有以下代码,可以很好地与
iot.createKeysAndCertificate
功能:
const createCertificates = (params) =>
new Promise((resolve, reject) =>
iot.createKeysAndCertificate(params, (err, res) => resolve(res)))
...
module.exports.createThing = async (event, context, callback) => {
...
const { certificateArn, certificateId, certificatePem, keyPair } = await createCertificates({ setAsActive: true })
...
遵循
documentation
在AWS中,他们建议使用以下方法:
var params = {
setAsActive: true || false
};
iot.createKeysAndCertificate(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
这就是我在代码中所做的:
async function test (params) {
console.log('Inside createKeysAndCertificate')
const res = iot.createKeysAndCertificate(params, function (err, data) {
console.log('inside iot.createKeysAndCertificate')
if (err) {
console.log('err, err.stack')
console.log(err, err.stack)
}
else {
console.log('data')
console.log(data)
}
})
console.log('res')
console.log(res)
return res
}
...
const { certificateArn, certificateId, certificatePem, keyPair } = await test({ setAsActive: true })
...
前面的代码不起作用。在调试会话中,我看不到消息
console.log('inside iot.createKeysAndCertificate')
.这意味着
很多。createKeysAndCertificate
没有被触发。
我搞不懂怎么了。我使用的是AWS的相同建议。