【问题标题】:ElasticsearchDelivery failed to parseElasticsearchDelivery 解析失败
【发布时间】:2019-07-22 23:55:06
【问题描述】:

我正在使用 lambda 函数将数据发送到 kinesis-firehose,然后发送到 elasticsearch。在我的 ElasticsearchDelivery 日志中,我收到以下错误:

{"type":"mapper_parsing_exception","re​​ason":"失败 parse","caused_by":{"type":"not_x_content_exception","re​​ason":"Compressor 检测只能在某些 xcontent 字节上调用或压缩 xcontent 字节"}}

我正在努力寻找在线解决方案。我怀疑我在 lambda 函数中返回数据的方式有问题,但不确定如何修复它。

这是我的 lambda 函数:

exports.handler = async (event) => {
        var output = [];
        var records = event.records;
        records.map(function (record) {
            output.push({
                'recordId': record['recordId'],
                'result': 'Ok',
                'data':new Buffer(record.data).toString('base64') 
            })
        });

        console.log("OUTPUT!!!!:", output)
        return {'records': output};
    };

【问题讨论】:

  • 你可以尝试在“数据”部分发送一个 json 吗?

标签: amazon-web-services elasticsearch aws-lambda amazon-kinesis-firehose


【解决方案1】:

我不得不将数据更改为:

'data': record.data.toString('base64')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2014-04-05
    • 2011-03-28
    • 2019-09-27
    • 2012-10-23
    • 1970-01-01
    相关资源
    最近更新 更多