The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Net::Amazon::SQS - Amazon SQS client

SYNOPSIS

    use Net::Amazon::SQS;

    my $sqs = Net::Amazon::SQS->new(
        access_key => "XXXXX",
        secret_key => "YYYYY",
        region => "ap-northeast-1",
    );
    my %queue = $sqs->list_queues->{ListQueueResult};

DESCRIPTION

Net::Amazon::SQS is simple Amazon SQS simple client.

THIS IS A DEVELOPMENT RELEASE. API MAY CHANGE WITHOUT NOTICE.

METHODS

add_permission

Adds a permission to a queue for a specific principal.

    $sqs->add_permission({
        "AWSAccountId.1" => "12345678",
        "ActionName.1" => "SendMessage",
        QueueUrl => "http://localhost:9324/queue/test_queue",
        Label => "testLabel"
    });

change_message_visibility

Changes the visibility timeout of a specified message in a queue to a new value.

    $sqs->change_message_visibility({
        QueueUrl => "http://localhost:9324/queue/test_queue",
        ReceiptHandle => $res->{ReceiveMessageResult}->{Message}->{ReceiptHandle},
        VisibilityTimeout => 60
    });

change_message_visibility_bacth

Changes the visibility timeout of multiple messages.

    $sqs->change_message_visibility_batch({
        "ChangeMessageVisibilityBatchRequestEntry.1.Id" => "change_visibility_msg_2",
        "ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle" => "gfk0T0R0waama4fVFffkjKzmhMCymjQvfTFk2LxT33G4ms5subrE0deLKWSscPU1oD3J9zgeS4PQQ3U30qOumIE6AdAv3w%2F%2Fa1IXW6AqaWhGsEPaLm3Vf6IiWqdM8u5imB%2BNTwj3tQRzOWdTOePjOjPcTpRxBtXix%2BEvwJOZUma9wabv%2BSw6ZHjwmNcVDx8dZXJhVp16Bksiox%2FGrUvrVTCJRTWTLc59oHLLF8sEkKzRmGNzTDGTiV%2BYjHfQj60FD3rVaXmzTsoNxRhKJ72uIHVMGVQiAGgBX6HGv9LDmYhPXw4hy%2FNgIg%3D%3D",
        "ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout" => 45,
        QueueUrl => "http://localhost:9324/queue/test_queue",
    });

create_queue

Create a new queue, or returns the URL of an existing one.

    $sqs->create_queue({
        QueueName => "test_queue"
    });

delete_message

Deletes the specified message from the specified queue.

    $sqs->delete_message({
        QueueUrl => "http://localhost:9324/queue/test_queue",
        ReceiptHandle => $res->{ReceiveMessageResult}->{Message}->{ReceiptHandle},
        VisibilityTimeout => 60
    });

delete_message_batch

Deletes up to ten messages from the specified queue.

    $sqs->delete_message_batch({
        QueueUrl => "http://localhost:9324/queue/test_queue",
        "DeleteMessageBatchRequestEntry.1.Id" => "msg1",
        "DeleteMessageBatchRequestEntry.1.ReceiptHandle" => $res->{ReceiveMessageResult}->{Message}->{ReceiptHandle},
    });

delete_queue

Deletes the queue specified by the queue URL.

    $sqs->delete_queue({
        QueueUrl => "http://localhost:9324/queue/test_queue"
    });

get_queue_attributes

Gets attributes for the specified queue.

    $sqs->get_queue_attributes({
        QueueUrl => "http://localhost:9324/queue/test_queue",
        "AttributeName.1" => "VisibilityTimeout",
    });

get_queue_url

Returns the URL of an existing queue.

    $sqs->get_queue_url({
        QueueName => "test_queue",
    });

list_dead_letter_source_queues

Returns a list of your queues that have the Redrive Policy queue attribute configured with a dead letter queue.

    $sqs->list_dead_letter_source_queues({
        QueueUrl => "http://localhost:9324/queue/test_queue",
    });

list_queues

Returns a list of you queues.

    $sqs->list_queues;

purge_queue

Deletes the messages in a queue specified by the queue URL.

    $sqs->purge_queue({
        QueueUrl => "http://localhost:9324/queue/test_queue",
    });

receive_message

Retrieves one or more messages, with a maximum limit of 10 messages, from the specified queue.

    $sqs->receive_message({
        QueueUrl => "http://localhost:9324/queue/test_queue",
    });

remove_permission

Revokes any permissions in the queue policy that matches the specified Lable parameter.

    $sqs->remove_permission({
        Label => "testLabel"
        QueueUrl => "http://localhost:9324/queue/test_queue",
    });

send_message

Delivers a message to the specified queue.

    $sqs->send_message({
        QueueUrl => "http://localhost:9324/queue/test_queue",
        MessageBody => "Hello!"
    });

send_message_batch

Delivers up to ten messages to the specified queue.

    $sqs->send_message_batch({
        "SendMessageBatchRequestEntry.1.Id" => "msg1",
        "SendMessageBatchRequestEntry.1.MessageBody" => "Hello!",
        QueueUrl => "http://localhost:9324/queue/test_queue",
    });

set_queue_attributes

Sets the value of one or more queue attributes.

    $sqs->set_queue_attributes({
        QueueUrl => "http://localhost:9324/queue/test_queue",
        "Attribute.Name" => "VisibilityTimeout",
        "Attribute.Value" => 40,
    });

LICENSE

Copyright (C) Kazuhiro Shibuya.

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

AUTHOR

Kazuhiro Shibuya <stevenlabs@gmail.com>