The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Amazon::SQS::Simple::Queue - OO API for representing queues from the Amazon Simple Queue Service.

SYNOPSIS

    use Amazon::SQS::Simple;

    my $access_key = 'foo'; # Your AWS Access Key ID
    my $secret_key = 'bar'; # Your AWS Secret Key

    my $sqs = new Amazon::SQS::Simple($access_key, $secret_key);

    my $q = $sqs->CreateQueue('queue_name');

    $q->SendMessage('Hello world!');

    my $msg = $q->ReceiveMessage();

    print $msg->MessageBody() # Hello world!

    $q->DeleteMessage($msg->MessageId());

INTRODUCTION

Don't instantiate this class directly. Objects of this class are returned by various methods in Amazon::SQS::Simple. See Amazon::SQS::Simple for more details.

METHODS

Endpoint()

Get the endpoint for the queue.

Delete([%opts])

Deletes the queue. Any messages contained in the queue will be lost.

SendMessage($message, [%opts])

Sends the message. The message can be up to 8KB in size and should be plain text.

ReceiveMessage([%opts])

Get the next message from the queue.

Returns an Amazon::SQS::Simple::Message object. See Amazon::SQS::Simple::Message for more details.

If MaxNumberOfMessages is greater than 1, the method returns an array of Amazon::SQS::Simple::Message objects.

Options for ReceiveMessage:

  • MaxNumberOfMessages => NUMBER

    Maximum number of messages to return. Value should be an integer between 1 and 10 inclusive. Default is 1.

DeleteMessage($receipt_handle, [%opts])

Delete the message with the specified receipt handle from the queue

ChangeMessageVisibility($receipt_handle, $timeout, [%opts])

NOT SUPPORTED IN APIs EARLIER THAN 2009-01-01

Changes the visibility of the message with the specified receipt handle to $timeout seconds. $timeout must be in the range 0..43200.

AddPermission($label, $account_actions, [%opts])

NOT SUPPORTED IN APIs EARLIER THAN 2009-01-01

Sets a permissions policy with the specified label. $account_actions is a reference to a hash mapping 12-digit AWS account numbers to the action(s) you want to permit for those account IDs. The hash value for each key can be a string (e.g. "ReceiveMessage") or a reference to an array of strings (e.g. ["ReceiveMessage", "DeleteMessage"])

RemovePermission($label, [%opts])

NOT SUPPORTED IN APIs EARLIER THAN 2009-01-01

Removes the permissions policy with the specified label.

GetAttributes([%opts])

Get the attributes for the queue. Returns a reference to a hash mapping attribute names to their values. Currently the following attribute names are returned:

  • VisibilityTimeout

  • ApproximateNumberOfMessages

SetAttribute($attribute_name, $attribute_value, [%opts])

Sets the value for a queue attribute. Currently the only valid attribute name is VisibilityTimeout.

AUTHOR

Copyright 2007-2008 Simon Whitaker <swhitaker@cpan.org>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.