2017-10-10 11 views
0

Je tente de créer une fonction de transformation AWS Lambda pour un flux Firehose qui envoie des enregistrements directement à un cluster Elasticsearch.Comment exécuter une requête HTTP DELETE dans la fonction AWS Lambda Nodejs

Actuellement, il n'existe aucun moyen de spécifier un ID de document ES dans un enregistrement de flux Firehose, de sorte que tous les enregistrements, même les doublons, sont insérés. Cependant, Firehose supporte les fonctions de transformation hébergées dans Lambda, ce qui m'a donné une idée:

Ma solution est de créer une fonction de transformation Lambda qui exécute une requête DELETE à Elasticsearch pour chaque enregistrement pendant la transformation, puis retourne tous les enregistrements non modifiés, l'obtention du comportement «supprimer-insérer» (je suis d'accord pour que le dossier disparaisse pendant une courte période). Cependant, je connais très peu de choses sur Nodejs et même si c'est une chose si simple, je n'arrive pas à comprendre comment le faire.

Existe-t-il un paquet de noeud disponible pour Lambda que je puisse utiliser pour cela? (De préférence, une API AWS Elasticsearch, mais un simple paquet HTTP le ferait).

Dois-je emballer un autre module pour y arriver?

Quelque chose comme Apex peut-il m'aider ici? Ma langue préférée est Go, mais jusqu'à présent, j'ai été incapable d'obtenir des fonctions apex pour exécuter ou enregistrer quelque chose à Cloudwatch ...

Merci d'avance.

Répondre