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 )