22

我设置了一个 AWS Kinesis Firehose Stream 来将数据馈送到 AWS ElasticSearch 集群,我可以通过将文档发送到 Firehose Stream 来成功插入文档,Firehose Stream 将它们加载到 ElasticSearch 中。

但我希望能够在将文档id发送到 Firehose Stream 时手动指定/设置文档的值。我已成功使用 AWS PHP SDK 将数据发送到 Firehose,但我不知道是否有办法手动设置文档的id.

$firehoseParams = [
    'DeliveryStreamName' => 'myStreamName', // REQUIRED
    'Record' => [ // REQUIRED
        'Data' => '{"json_encoded": "data", ...}', // REQUIRED
    ],
];
$firehoseResult = $this->_firehoseClient->putRecord($firehoseParams);

我尝试在 JSON 数据中设置id_idesDocumentId值,但均无济于事。

有人有想法么?

4

1 回答 1

-1

您可以为此目的使用 Kinesis Data Streams,您可以将文档发送到流,并通过 lambda 函数,您可以使用官方 Elasticsearch API 提供 _id 属性。

于 2021-01-19T12:45:20.893 回答