NAME

Net::Riak - Interface to Riak

VERSION

version 0.15

SYNOPSIS

# REST interface
my $client = Net::Riak->new(
    host => 'http://10.0.0.40:8098',
    ua_timeout => 900,
    disable_return_body => 1
);

# Or PBC interface.
my $client = Net::Riak->new(
    transport => 'PBC',
    host => '10.0.0.40',
    port => 8080
);

my $bucket = $client->bucket('blog');
my $obj    = $bucket->new_object('new_post', {title => 'foo', content => 'bar'});
$obj->store;

$obj = $bucket->get('new_post');
say "title for ".$obj->key." is ".$obj->data->{title};

# When using the REST client you may access the last request and response.

my $req = $client->http_request; # last request
$client->http_response # last response

DESCRIPTION

ATTRIBUTES

host

REST: The URL of the node

PBC: The hostname of the node

default 'http://127.0.0.1:8098'

Note that providing multiple hosts is now deprecated.

port

Port of the PBC interface.

transport

Used to select the PB protocol by passing in 'PBC'

prefix

Interface prefix (default 'riak')

mapred_prefix

MapReduce prefix (default 'mapred')

r

R value setting for this client (default 2)

w

W value setting for this client (default 2)

dw

DW value setting for this client (default 2)

client_id

client_id for this client

ua_timeout (REST only)

timeout for LWP::UserAgent in seconds, defaults to 3.

disable_return_body (REST only)

Disable returning of object content in response in a store operation.

If set to true and the object has siblings these will not be available without an additional fetch.

This will become the default behaviour in 0.17

METHODS

bucket

my $bucket = $client->bucket($name);

Get the bucket by the specified name. Since buckets always exist, this will always return a Net::Riak::Bucket

is_alive

if (!$client->is_alive) {
    ...
}

Check if the Riak server for this client is alive

all_buckets

List all buckets, requires Riak 0.14+ or PBC connection.

add

my $map_reduce = $client->add('bucket_name', 'key');

Start assembling a Map/Reduce operation

my $map_reduce = $client->link();

Start assembling a Map/Reduce operation

map

my $map_reduce = $client->add('bucket_name', 'key')->map("function ...");

Start assembling a Map/Reduce operation

reduce

my $map_reduce = $client->add(..)->map(..)->reduce("function ...");

Start assembling a Map/Reduce operation

server_info (PBC only)

$client->server_info->{server_version};

stats (REST only)

say Dumper $client->stats;

SEE ALSO

Net::Riak::MapReduce

AUTHOR

franck cuny <franck@lumberjaph.net>, robin edwards <robin.ge@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by linkfluence.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

4 POD Errors

The following errors were encountered while parsing the POD:

Around line 100:

'=item' outside of any '=over'

Around line 106:

'=item' outside of any '=over'

Around line 112:

'=item' outside of any '=over'

Around line 138:

'=item' outside of any '=over'