【发布时间】:2021-10-31 13:04:21
【问题描述】:
我在 Amazon Connect 上使用通话录音。
我正在尝试通过使用 S3 上记录对话的 .wav 文件的元数据值来获取 Amazon Connect 的联系人属性。
这是我的 Lambda 函数。
Object.defineProperty(exports, "__esModule", { value: true });
const AWS = require("aws-sdk");
const connect = new AWS.Connect();
const s3 = new AWS.S3();
exports.handler = async (event, context) => {
await Promise.all(event.Records.map(async (record) => {
const bucket = event.Records[0].s3.bucket.name;
const key = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' '));
var params = {
Bucket: bucket,
Key: key,
};
const metadata = await s3.headObject(params).promise();
console.log(metadata);
const contactid = metadata.Metadata['contact-id'];
const instanceid = metadata.Metadata['organization-id'];
var params = {
InitialContactId: contactid,
InstanceId: instanceid,
};
console.log(params);
const connectdata = await connect.getContactAttributes(params).promise();
console.log(connectdata);
}));
};
这是 .wav 文件的 JSON 值(我隐藏了我的个人信息)。
{
AcceptRanges: 'bytes',
LastModified: 2021-09-01TXX:XX:XX.000Z,
ContentLength: 809644,
ETag: '"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"',
ContentType: 'audio/wav',
ServerSideEncryption: 'aws:kms',
Metadata: {
'contact-id': 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
'aws-account-id': 'XXXXXXXXXXXX',
'organization-id': 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
},
SSEKMSKeyId: 'arn:aws:kms:ap-northeast-1:XXXXXXXXXXXX:key/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
}
但是,当我通过 aws-sdk 使用 Connect 的 getContactAttributes 方法时,获取的参数中没有任何值。 即使参数值肯定包括在内。
console.log(params)
{
InitialContactId: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
InstanceId: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
}
console.log(connectdata)
{ Attributes: {} }
我想知道 {Attributes: {}} 代表什么。 getContactAttributes方法的参数,或者console.log的输出方法有问题吗? 首先,我不能从.wav文件的元数据中获取联系人属性吗?
由于是初学者,可能会有很多错误,但我想对此提出建议。 谢谢。
【问题讨论】:
-
另外,getContactAttributes方法是基于这个文档的。 docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/… 我已经使用 Amazon Connect 实例注册了这个 Lambda 函数。但是,我还没有解决这个问题,所以我很感激任何建议。
标签: javascript amazon-web-services amazon-s3 aws-sdk amazon-connect