All Projects → ex-aws → ex_aws_sns

ex-aws / ex_aws_sns

Licence: other
No description or website provided.

Programming Languages

elixir
2628 projects

Labels

Projects that are alternatives of or similar to ex aws sns

react-native-redux-boilerplate
React Native Redux Boiler Plate
Stars: ✭ 38 (+100%)
Mutual labels:  service
Molder
BDD steps libraries for test automation databases, web services, and WebUI
Stars: ✭ 16 (-15.79%)
Mutual labels:  service
docs
PrestaShop technical documentation
Stars: ✭ 102 (+436.84%)
Mutual labels:  service
es-mvc
ESMVC 旨在方便 ElasticSearch 的使用,就行访问数据库一样访问ES,提供了方便的 service, mapper 层。底层支持 TransportClient, RestHighLevelClient 。
Stars: ✭ 20 (+5.26%)
Mutual labels:  service
ProtocolServiceKit
iOS组件通信中间件(Protocol Service),Adapter Swift/Objective-C
Stars: ✭ 139 (+631.58%)
Mutual labels:  service
ServiceCommander-IBMi
Service Commander for IBM i
Stars: ✭ 29 (+52.63%)
Mutual labels:  service
Nova
OpenStack Compute (Nova). Mirror of code maintained at opendev.org.
Stars: ✭ 2,781 (+14536.84%)
Mutual labels:  service
airad
Beego based Restful API service
Stars: ✭ 63 (+231.58%)
Mutual labels:  service
SupportEmail
Pre-populates emails with support information in iOS/iPadOS apps
Stars: ✭ 20 (+5.26%)
Mutual labels:  service
backup-repository
Backup storage for E2E GPG-encrypted files, with multi-user, quotas, versioning, using a object storage (S3/Min.io/GCS etc.) and deployed on Kubernetes or standalone.
Stars: ✭ 21 (+10.53%)
Mutual labels:  service
bandmaster
Simple and easily extendable Go library for managing runtime services & dependencies (datastores, APIs, MQs, custom...).
Stars: ✭ 43 (+126.32%)
Mutual labels:  service
SyncBinder
Android Sync Binder
Stars: ✭ 30 (+57.89%)
Mutual labels:  service
hedera-hts-demo
This is a demonstration UI for the Hedera Token Service. Written in JavaScript and Vue.JS
Stars: ✭ 66 (+247.37%)
Mutual labels:  service
redis-registry
Service registry and discovery for Node.js on top of Redis
Stars: ✭ 26 (+36.84%)
Mutual labels:  service
Coyote
Framework providing operating system abstractions and a range of shared networking (RDMA, TCP/IP) and memory services to common modern heterogeneous platforms.
Stars: ✭ 80 (+321.05%)
Mutual labels:  service
das account indexer
DEPRECATED, please use https://github.com/dotbitHQ/das-account-indexer
Stars: ✭ 22 (+15.79%)
Mutual labels:  service
ssdp-client
The most lightweight asynchronous Java SSDP (Simple Service Discovery Protocol) Client
Stars: ✭ 46 (+142.11%)
Mutual labels:  service
FactoryOrchestrator
A cross-platform system service which provides a simple way to run and manage factory line validation, developer inner-loop, diagnostics, and fault analysis workflows.
Stars: ✭ 36 (+89.47%)
Mutual labels:  service
angular-odata-es5
OData Service for Angular.io (es5 version)
Stars: ✭ 45 (+136.84%)
Mutual labels:  service
ex aws rekognition
Package to use AWS Rekognition service
Stars: ✭ 21 (+10.53%)
Mutual labels:  service

ExAws.SNS

Module Version Hex Docs Total Download License Last Updated

Service module for https://github.com/ex-aws/ex_aws

Installation

The package can be installed by adding :ex_aws_sns to your list of dependencies in mix.exs along with :ex_aws and your preferred JSON codec / HTTP client:

def deps do
  [
    {:ex_aws, "~> 2.0"},
    {:ex_aws_sns, "~> 2.0"},
    {:poison, "~> 3.0"},
    {:hackney, "~> 1.9"},
  ]
end

Usage

Publishing a message

Here is an example of sending a message to a standard topic and returning the response to the caller

    message
    |> ExAws.SNS.publish(
      topic_arn: "arn:aws:sns:us-east-1:000000000000:sns-topic-name"
    )
    |> ExAws.request()
    |> case do
      {:error, {_error_type, error_code, %{code: message}}} ->
        {:error, "Response returned with http error code #{error_code} and message #{message}"}
      {:error, {_error_type, error_code, message}} ->
        {:error, "Response returned with http error code #{error_code} and message #{message}"}
      response -> response
    end

The following code demonstrates sending a message to a FIFO topic. message_group_id defines partitions in the topic to make sure messages in that group are processed one at a time. If all messages must be processed in order use a static value for this attribute. message_deduplication_id defines an id used to determine if two events are the same and deduplicate them in the topic. Event IDs or hashes of the content are good for this.

    message
    |> ExAws.SNS.publish(
      topic_arn: "arn:aws:sns:us-east-1:000000000000:sns-topic-name.fifo",
      message_group_id: "some group which requires messages processed in order",
      message_deduplication_id: "some id to prevent the same message from being published twice"
    )
    |> ExAws.request()
    |> case do
      {:error, {_error_type, error_code, %{code: message}}} ->
        {:error, "Response returned with http error code #{error_code} and message #{message}"}
      {:error, {_error_type, error_code, message}} ->
        {:error, "Response returned with http error code #{error_code} and message #{message}"}
      response -> response
    end

Copyright and License

The MIT License (MIT)

Copyright (c) 2017 CargoSense, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].