【问题标题】:Cannot get the contact attributes of Amazon Connect by aws-sdk Javascript无法通过 aws-sdk Javascript 获取 Amazon Connect 的联系人属性
【发布时间】: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


【解决方案1】:

这个问题已经自行解决了。

connect.getContactAttributes 方法似乎只能获取联系流中 Attributes 的值。我误解了,这是从联系流中获取 JSON 本身。

我发现 Attributes 的值是通过在 Amazon Connect 联系流的“设置联系人属性”块中发布一个键值对来设置的。

【讨论】:

    猜你喜欢
    • 2018-05-26
    • 2023-01-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    相关资源
    最近更新 更多