Amazon-SQS-Client
view release on metacpan or search on metacpan
share/GetQueueAttributes.pm view on Meta::CPAN
package GetQueueAttributes;
use strict;
use warnings;
use English qw(-no_match_vars);
use Amazon::SQS::Model::GetQueueAttributesRequest;
use Data::Dumper;
use parent qw(Amazon::SQS::Sample);
########################################################################
sub sample {
########################################################################
my ( $self, $attributes, $queue_url ) = @_;
$attributes //= 'All';
$attributes = [ split /\s*,\s*/xsm, $attributes ];
my $service = $self->get_service;
my $config = $self->get_config;
$queue_url //= $config && $config->get_queue_url;
if ( !$queue_url ) {
$self->help();
}
my $request = Amazon::SQS::Model::GetQueueAttributesRequest->new(
{ QueueUrl => $queue_url,
AttributeName => $attributes,
}
);
my $response = $service->getQueueAttributes($request);
if ( $response->isSetResponseMetadata() ) {
my $responseMetadata = $response->getResponseMetadata();
if ( $responseMetadata->isSetRequestId() ) {
my $requestId = $responseMetadata->getRequestId();
}
}
if ( $response->isSetGetQueueAttributesResult() ) {
my $getQueueAttributesResult = $response->getGetQueueAttributesResult();
my $attributeList = $getQueueAttributesResult->getAttribute();
my %attributes;
foreach ( @{$attributeList} ) {
if ( $_->isSetName() ) {
$attributes{ $_->getName } = $_->getValue;
}
}
print {*STDERR} Dumper( [ attributes => \%attributes ] );
}
return;
}
1;
## no critic
( run in 0.572 second using v1.01-cache-2.11-cpan-39bf76dae61 )