NAME

Amazon::SNS - Amazon Simple Notification Service made simpler

SYNOPSIS

  use Amazon::SNS;

  my $sns = Amazon::SNS->new({ 'key' => '...', 'secret' => '...' });


  # create a new topic and publish

  my $topic = $sns->CeateTopic('MyTopic')
	or die $sns->error;

  $topic->Publish('My test message');


  # delete it!

  $topic->DeleteTopic;


  # publish to a known ARN

  my $topic = $sns->GetTopic('arn:aws:sns:eu-west-1:123456789099:MyTopic');

  $topic->Publish('My test message');


  # get all topics

  my @topics = $sns->ListTopics;

  print $_->arn, "\n" for @topics;


 
  # change region

  $sns->service('http://sns.us-east-1.amazonaws.com');

DESCRIPTION

Sorry for not providing a better documentation, patches are always accepted. ;)

METHODS

Amazon::SNS->new({ 'key' => '...', 'secret' => '...' })
Creates an Amazon::SNS object with given key and secret.
$sns->GetTopic($arn)
Gives you an Amazon::SNS::Topic object using an existing ARN.
$sns->CreateTopic($name)
Gives you an Amazon::SNS::Topic object with the given name, creating it 
if it does not already exist in your Amazon SNS account.
$sns->DeleteTopic($arn)
Deletes a topic using its ARN.
$sns->ListTopics
The result is a list of all the topics in your account, as an array of Amazon::SNS::Topic objects.
$sns->error
Description of the last error, or undef if none.

ATTRIBUTES

$sns->service
$sns->service($service_url)
Get/set SNS service url, something like 'http://sns.us-east-1.amazonaws.com'.
$sns->key
$sns->key('...')
Get/set auth key.
$sns->secret
$sns->secret('...')
Get/set secret.
$sns->debug
$sns->debug(1)
Get/set debug level. When set to 1 you'll get some debug output on STDERR.

NOTES

Be sure to use ARNs in the same region as you have set the service to.

The module defaults to the EU (Ireland) region.

AUTHOR

Alessandro Zummo, <a.zummo@towertech.it>

COPYRIGHT AND LICENSE

Copyright (C) 2011 by Alessandro Zummo

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.