Send data to Elasticsearch using Perl LWP::UserAgent
A simple example sending some data to an Elasticsearch server using LWP::UserAgent by way of a POST request.
examples/send_data_to_elasticsearch.pl
use strict; use warnings; use 5.010; use LWP::UserAgent; use JSON qw(encode_json); use POSIX (); use HTTP::Request::Common qw(POST); send_data(); sub send_data { my $ua = LWP::UserAgent->new(timeout => 10); my %data = ( timestamp => POSIX::strftime("%Y-%m-%dT%H:%M:%S", gmtime()), dice => int(rand(6)), ); my $json = encode_json \%data; say $json; my $req = POST 'http://elastic.server:9200/perl/doc/'; $req->header( 'Content-Type' => 'application/json' ); $req->content( $json ); my $response = $ua->request($req); if ($response->is_success) { say 'OK', $response->decoded_content; } else { say 'BAD', $response->status_line; } }
Published on 2021-02-12
If you have any comments or questions, feel free to post them on the source of this page in GitHub. Source on GitHub.
Comment on this post