微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nodejs Kinesis Client 失败,没有太多线索

如何解决Nodejs Kinesis Client 失败,没有太多线索

我正在编写一个简单的 nodejs kinesis 生产者客户端,它失败了,没有任何有用的信息。代码如下:

const { Kinesis,PutRecordsCommand } = require("@aws-sdk/client-kinesis");

const kinesis_client = new Kinesis({
    region: 'us-east-1'
});

/**
 * 
 * @param {*} streamName 
 */
async function kinesis_pushdata() {

    const params = {
        StreamName: "course-progress",Records: [
        {
            Data: JSON.stringify({
            'record' : 'sample record'
            }),ParitionKey: 1
        }
        ]
    };

    try {
        const data = await kinesis_client.send(new PutRecordsCommand(params));
        console.log(data);
      } catch (error) {
        console.log(error);
      }
      
}

kinesis_pushdata();

凭据被配置为从配置文件获取。当我运行它时,我得到一个 TypeError " TypeError: Cannot read property 'byteLength' of undefined " 对发生的事情没有太多线索。

任何指示都会非常有帮助。

谢谢

解决方法

AWS Kinesis 需要以下形式的数据

{
...
 {
  Data: Buffer.from( JSON.stringify({...}) )
 }
}

检查 AWS 文档 docs

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。