Perl
Chilkat2 Perl
SQS List Queues
See more Amazon SQS Examples
Returns a list of your Amazon SQS queues. The maximum number of queues that can be returned is 1000. If you specify a value for the optional QueueNamePrefix query parameter, only queues with a name beginning with the specified value are returned.Chilkat Perl Downloads
use strict;
use warnings;
use Chilkat2;
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
my $rest = Chilkat2::Rest->new;
# Connect to the Amazon AWS REST server.
# such as https://sqs.us-west-2.amazonaws.com/
my $bTls = 1;
my $port = 443;
my $bAutoReconnect = 1;
my $success = $rest->Connect('sqs.us-west-2.amazonaws.com', $port, $bTls, $bAutoReconnect);
# Provide AWS credentials for the REST call.
my $authAws = Chilkat2::AuthAws->new;
$authAws->AccessKey('AWS_ACCESS_KEY');
$authAws->SecretKey('AWS_SECRET_KEY');
# the region should match our URL above..
$authAws->Region('us-west-2');
$authAws->ServiceName('sqs');
$rest->SetAuthAws($authAws);
$rest->AddQueryParam('Action', 'ListQueues');
# List only queues having a name starting with "c".
# Comment out this line to list all queues.
$rest->AddQueryParam('QueueNamePrefix', 'c');
my $responseXml = $rest->FullRequestNoBody('GET', '/');
if (!$rest->LastMethodSuccess) {
print $rest->LastErrorText, "\n";
exit;
}
# A successful response will have a status code equal to 200.
if ($rest->ResponseStatusCode != 200) {
print 'response status code = ', $rest->ResponseStatusCode, "\n";
print 'response status text = ', $rest->ResponseStatusText, "\n";
print 'response header: ', $rest->ResponseHeader, "\n";
print 'response body: ', $responseXml, "\n";
exit;
}
# Examine the successful XML response.
my $xml = Chilkat2::Xml->new;
$xml->LoadXml($responseXml);
print $xml->GetXml(), "\n";
print "----\n";
# A successful response looks like this:
# <?xml version="1.0" encoding="utf-8" ?>
# <ListQueuesResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
# <ListQueuesResult>
# <QueueUrl>https://sqs.us-west-2.amazonaws.com/123491855557/chilkatTest</QueueUrl>
# <QueueUrl>https://sqs.us-west-2.amazonaws.com/123496666627/chilkatses</QueueUrl>
# </ListQueuesResult>
# <ResponseMetadata>
# <RequestId>77bce138-fbcc-5e42-9ee3-b15c1f7178c2</RequestId>
# </ResponseMetadata>
# </ListQueuesResponse>
# Get each queue URL..
$xml->FindChild2('ListQueuesResult');
my $i = 0;
my $numQueues = $xml->NumChildren;
while ($i < $numQueues) {
print 'QueueUrl: ', $xml->GetChildContentByIndex($i), "\n";
$i = $i + 1;
}
$xml->GetRoot2();