AWS-SQS-Simple
view release on metacpan or search on metacpan
lib/AWS/SQS/Simple.pm view on Meta::CPAN
);
=cut
sub new {
my $class = shift;
my %parameter_hash;
my $count = @_;
my $usage_howto = "
Usage:
my \$ob = AWS::SQS::Simple->new(
ACCESS_KEY => '..' ,
SECRET_ACCESS_KEY => '..' ,
AWS_ACCOUNT_ID => '..' ,
END_POINT => '..' ,
);
";
%parameter_hash = @_;
croak $usage_howto unless( $parameter_hash{ AWS_ACCOUNT_ID } ) ;
croak $usage_howto unless( $parameter_hash{ ACCESS_KEY } ) ;
croak $usage_howto unless( $parameter_hash{ SECRET_ACCESS_KEY } ) ;
croak $usage_howto unless( $parameter_hash{ END_POINT } ) ;
my $self = {
ACCESS_KEY => $parameter_hash{ ACCESS_KEY } ,
SECRET_ACCESS_KEY => $parameter_hash{ SECRET_ACCESS_KEY } ,
AWS_ACCOUNT_ID => $parameter_hash{ AWS_ACCOUNT_ID } ,
END_POINT => $parameter_hash{ END_POINT } ,
};
## Private and class data here.
bless( $self, $class );
return $self;
}
=head1 FUNCTIONS
No functions are exported by default.
Following functions are all available through the AWS::SQS::Simple Object.
=head2 create_queue
This function creates a new queue.
Usage :
my %params_hash = (
QUEUE_NAME => QUEUE Name ,
'AttributeName.1.Name' => Attribute Name ,
'AttributeName.1.Value' => Attribute Value , [ Required if there is a corresponding Name Attribute.n.name parameter ]
'AttributeName.2.Name' => Attribute Name ,
'AttributeName.2.Value' => Attribute Value , [ Required if there is a corresponding Name Attribute.n.name parameter ]
.....
);
$ob->create_queue->( \%params_hash )
=cut
sub create_queue {
my $self = shift ;
my $params = shift ;
my $params_to_pass = {
'Action' => 'CreateQueue' ,
'QueueName' => $params->{ QUEUE_NAME } ,
'AWSAccessKeyId' => $self->{ ACCESS_KEY } ,
'Timestamp' => _generate_timestamp() ,
'SignatureVersion' => 2 ,
'Version' => '2011-10-01' ,
'SignatureMethod' => 'HmacSHA256' ,
%{ $params }
};
my $url = $self->_get_url( $params_to_pass ) ;
my $response = $self->_make_request( $url ) ;
return $response ;
}
=head2 send_message
This function sends a message to the queue.
Usage :
my %params_hash = (
( run in 1.006 second using v1.01-cache-2.11-cpan-39bf76dae61 )