联系流中Check Contact Attributes取值问题(Lambda返回布尔值)
解决方案
1. 先调整Lambda返回格式(推荐)
你的Lambda当前直接返回true/false,Amazon Connect无法将其解析为结构化属性,建议修改为返回带键名的JSON对象,这样更清晰且便于维护:
try { var result = await dynamodb.query(params).promise() console.log(JSON.stringify(result.Items)) if (result.Items.length === 1) { return { isHoliday: true }; } else { console.log("Not holiday"); return { isHoliday: false }; } } catch (error) { console.error(error); return { isHoliday: false }; // 异常场景默认按非节假日处理 }
2. 联系流中配置Contact Attributes
在联系流的Contact Attributes(命名空间为external)里,填写键名isHoliday。后续条件判断步骤中,就可以用$.external.isHoliday来判断是否等于true或false。
3. 不修改Lambda的临时方案(不推荐)
如果暂时不想改Lambda代码,直接返回布尔值,那么在联系流中可以直接用$.external来引用这个返回结果,条件判断时直接判断$.external是否等于true/false。但这种方式可读性差,后续扩展属性会受影响,不建议长期使用。
内容的提问来源于stack exchange,提问作者aws demo
相关产品推荐
相关产品推荐

