写Lambda,我正在从S3抓取一个文件,并将其发送到Elasticsearch。当我使用管道连接附加文件时,它可以正确附加,但是会覆盖我的所有字段。如何在响应中保留先前字段的同时将文件附加到记录中?找不到此操作的文档。
我正在使用Elasticsearch.index最初附加文件,该文件可以工作,但会覆盖所有其他字段。我已经尝试过Elasticsearch.update,但是无法正常工作。
s3.getObject({Bucket: bucket, Key: key}, function (err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
context.fail();
} else {
console.log('data: ', data); // successful response
var attachment = data.Body.toString('base64');
console.log('attachment: ', attachment);
elasticsearch.index(
{
index: 'files',
pipeline: 'attachment',
type: 'file',
id: key,
body: {
data: attachment
}
},
function (error, resp) {
if (error) {
console.trace('index error!', error);
} else {
console.log('index response', resp);
context.succeed();
}
}
);
}
});