ElasticsearchDelivery 解析失败
ElasticsearchDelivery failed to parse
我正在使用 lambda 函数将数据发送到 kinesis-firehose,然后发送到 elasticsearch。在我的 ElasticsearchDelivery 日志中,出现以下错误:
{"type":"mapper_parsing_exception","reason":"failed to
parse","caused_by":{"type":"not_x_content_exception","reason":"Compressor
detection can only be called on some xcontent bytes or compressed
xcontent bytes"}}
我正在努力在线寻找解决此问题的方法。我怀疑我在 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};
};
我不得不将数据更改为:
'data': record.data.toString('base64')
我正在使用 lambda 函数将数据发送到 kinesis-firehose,然后发送到 elasticsearch。在我的 ElasticsearchDelivery 日志中,出现以下错误:
{"type":"mapper_parsing_exception","reason":"failed to parse","caused_by":{"type":"not_x_content_exception","reason":"Compressor detection can only be called on some xcontent bytes or compressed xcontent bytes"}}
我正在努力在线寻找解决此问题的方法。我怀疑我在 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};
};
我不得不将数据更改为:
'data': record.data.toString('base64')