【发布时间】:2020-08-15 07:47:08
【问题描述】:
我需要使用带有 NodeJS 的 lambda 函数来检索 IoT 证书状态。
在documentation 之后,我应该使用describeCertificate() 来完成这项任务。
这是我目前的代码(用于睾丸):
const AWS = require('aws-sdk')
const iot = new AWS.Iot()
let cert = {}
async function descCert (params) {
console.log("start descCert")
console.log("params")
console.log(params)
await iot.describeCertificate(params, function(err, data) {
console.log('describeCertificate - Fn')
if (err) {
console.log('describeCertificate - Error')
console.log(err, err.stack)
}else{
console.log('describeCertificate - data')
cert = data
console.log(data)
}
console.log("end describeCertificate - Fn")
})
console.log("end descCert")
}
module.exports.testFn = async (event, context, callback) => {
var zzz = {
certificateId: 'xxxx8c0891f8xxxxxx'
}
await descCert(zzz)
console.log("after descCert")
console.log(cert)
...
}
我的猜测是我没有访问函数await iot.describeCertificate( ...,因为我在CloudWatch 中看不到日志。
我应该收到这个序列:
- 开始 descCert
- 参数
- {certificateId: 'xxxx8c0891f8xxxxxx'}
- describeCertificate - Fn
- 或 describeCertificate - 错误或 describeCertificate - 数据
- 实际数据响应
- 结束 describeCertificate - Fn
- 结束 descCert
- descCert 之后
- 实际数据响应
但这就是我得到的:
- 开始 descCert
- 参数
- {certificateId: 'xxxx8c0891f8xxxxxx'}
- (8) 结束 descCert
- (9) 在 descCert 之后
- (10) os dados mesmo //{}
我在日志信息中看不到步骤 4-7。所以结论是函数没有被调用。
我错过了什么?
【问题讨论】:
标签: node.js async-await certificate aws-iot