NAME
DBIx::Aurora - DBI handler specialized in Amazon Aurora
SYNOPSIS
use DBIx::Aurora;
my $aurora = DBIx::Aurora->new(
CLUSTER_1 => { # AUTOLOAD method named `cluster_1`
instances => [
[ $dsn_1, $user, $password, $attr ],
[ $dsn_2, $user, $password, $attr ],
[ $dsn_3, $user, $password, $attr ],
],
opts => {
force_reader_only => 0,
reconnect_interval => 3600,
logger => sub {
my ($error_type, $message, $exception) = @_;
...;
},
}
},
CLUSTER_2 => { # AUTOLOAD method named `cluster_2`
instances => [
[ $dsn_4, $user, $password, $attr ],
[ $dsn_5, $user, $password, $attr ],
[ $dsn_6, $user, $password, $attr ],
],
opts => {
force_reader_only => 0,
reconnect_interval => 3600,
logger => sub {
my ($error_type, $message, $exception) = @_;
...;
},
}
},
);
my $rv = eval {
$aurora->cluster_1->writer(sub {
my $dbh = shift;
$dbh->do($query_1, undef, @bind_1);
});
};
if (my $e = $@) {
logger->crit("Failed to execute query: $e");
}
my $row = eval {
$aurora->cluster_2->reader(sub {
my $dbh = shift;
$dbh->selectrow_hashref($queruy_2, undef, @bind_2)
});
};
if (my $e = $@) {
logger->crit("Failed to execute query: $e");
}
DESCRIPTION
DBIx::Aurora is a DBI handler specialized in Amazon Aurora.
DBIx::Aurora
detects writer/reader instances automatically and manages network connections. Also you can handle multiple Aurora clusters.
METHOD
AUTOLOAD
ed methods
You can access registered clusters and/or instances via AUTOLOADed methods. It returns DBIx::Aurora::Cluster instance.
AUTHOR
punytan <punytan@gmail.com>
COPYRIGHT
Copyright 2017- punytan
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.