aws-sns: Bindings for AWS SNS Version 2013-03-31

[ aws, cloud, distributed-computing, library, mit, network, web ] [ Propose Tags ]

Bindings for AWS SNS

API Version: 2013-03-31

[Skip to Readme]
Versions [RSS] [faq] 0.1
Change log
Dependencies aeson (>=0.7), aws (>=0.9), aws-general (>=0.1), base (==4.*), blaze-builder (>=0.3), bytestring (>=0.10), conduit (>=1.1), containers (>=0.5), http-conduit (>=2.1), http-types (>=0.8), parsers (>=0.11), QuickCheck (>=2.7), resourcet (>=1.1), text (>=1.1), time (>=1.4), transformers (>=0.3), xml-conduit (>=1.2) [details]
License MIT
Copyright Copyright (c) 2014 AlephCloud, Inc.
Author Lars Kuhtz <>
Maintainer Lars Kuhtz <>
Category Network, Web, AWS, Cloud, Distributed Computing
Home page
Bug tracker
Source repo head: git clone
this: git clone 0.1)
Uploaded by larsk at 2014-08-05T01:12:37Z
Distributions NixOS:0.1
Downloads 1104 total (11 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 2 reports]




Maintainer's Corner

For package maintainers and hackage trustees


Readme for aws-sns-0.1

[back to package description]

Build Status

Haskell Bindings for AWS SNS

API Version 2013-03-31

Amazon AWS SNS API Reference

This package depends on the aws-general package and the aws package. From the latter the it borrows the machinery for managing AWS credentials and making requests. There is also some documentation, including an usage example, in the README of the aws package


Assuming that the Haskell compiler GHC and the Haskell build tool cabal is already installed run the following command from the shell:

cabal install --enable-tests

Running Tests

There are few test cases included in the package. These tests require an AWS account and AWS credentials stored in the file ~/.aws-keys in the format described in the documentation of the aws package.

When running these tests some (low) costs may incur for usage of the AWS services. Therefor the user must explicitly consent to the usage of the AWS credentials by passing the commandline options --run-with-aws-credentials to the test application. In addition the tests require an email address that must be provided with the command line option --test-email.

cabal test --test-option=--run-with-aws-credentials --test-option=--test-email=<email-address>

where email address must be replaced with an actual email address.

Example Usage

Here is a very simple example for making a single request to AWS SNS. For more ellaborate usage refer to the documentation of the AWS package.

import Aws
import Aws.Core
import Aws.General
import Aws.Sns
import Data.IORef

cfg <- Aws.baseConfiguration
creds <- Credentials "access-key-id" "secret-access-key" `fmap` newIORef []
let snsCfg = SnsConfiguration HTTPS UsWest2
simpleAws cfg snsCfg $ ListTopics Nothing

In order to run the example you must replace "access-key-id" and "secret-access-key" with the respective values for your AWS account.

You may also take a look at the test examples in tests/Main.hs.