6

Ich habe einen AWS Kinesis Firehose Stream eingerichtet, um Daten in einen AWS ElasticSearch-Cluster einzugeben, und ich kann Dokumente erfolgreich einfügen, indem ich sie an den Firehose Stream sende, der sie in ElasticSearch lädt.Gibt es eine Möglichkeit, eine ElasticSearch-Dokument-ID beim Einfügen über AWS Kinesis Firehose manuell festzulegen?

Aber ich möchte in der Lage sein, den Wert id eines Dokuments manuell anzugeben/festzulegen, wenn es an den Firehose Stream gesendet wird. Ich verwende erfolgreich das AWS PHP SDK, um Daten an Firehose zu senden, ich kann einfach nicht herausfinden, ob es eine Möglichkeit gibt, die id eines Dokuments manuell einzustellen.

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

Ich habe versucht Einstellung id, _id und esDocumentId Werte in den JSON-Daten, alle ohne Erfolg.

Wer hat irgendwelche Ideen?

Antwort

2

Wir haben genau das gleiche Problem und es tut mir leid zu sagen, dass es im Moment keine gute Lösung gibt. Der Support von Amazon hat bestätigt, dass sie mehrere Anfragen erhalten haben und dass sie gerade an einer Lösung arbeiten.

+1

Haben Sie ein Update dazu? Ich sehe in der Dokumentation immer noch nicht die Art und Weise, wie die ES-Dokument-ID festgelegt wird. – Damian