• This repository has been archived on 05/Jun/2018
  • Stars
    star
    461
  • Rank 95,028 (Top 2 %)
  • Language
    JavaScript
  • License
    Other
  • Created about 13 years ago
  • Updated over 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

(deprecated: use aws-sdk) Node.js modules for talking to lots of Web Service APIs.

NOTE: AwsSum is now deprecated. Please use aws-sdk instead.

 _______           _______  _______           _______ 
(  ___  )|\     /|(  ____ \(  ____ \|\     /|(       )
| (   ) || )   ( || (    \/| (    \/| )   ( || () () |
| (___) || | _ | || (_____ | (_____ | |   | || || || |
|  ___  || |( )| |(_____  )(_____  )| |   | || |(_)| |
| (   ) || || || |      ) |      ) || |   | || |   | |
| )   ( || () () |/\____) |/\____) || (___) || )   ( |
|/     \|(_______)\_______)\_______)(_______)|/     \|

NodeJS module to aid talking to Web Service APIs.

IRC : Come and say hello in #awssum on Freenode. :)

Usage

To use an AwsSum plugin, you need to install the plugin you need for the relevant service. Please follow the documentation for that plugin.

Getting Started

Here's an example program to list all your buckets in S3:

Example: s3-list-buckets.js:

var amazonS3 = require('awssum-amazon-s3');

var s3 = new amazonS3.S3({
    'accessKeyId'     : process.env.AWS_ACCESS_KEY_ID,
    'secretAccessKey' : process.env.AWS_SECRET_ACCESS_KEY,
    'region'          : amazonS3.US_EAST_1,
});

s3.ListBuckets(function(err, data) {
    if (err) throw new Error(err);

    var buckets = data.Body.ListAllMyBucketsResult.Buckets.Bucket;
    buckets.forEach(function(bucket) {
        console.log('%s : %s', bucket.CreationDate, bucket.Name);
    });
});

To run this program:

$ npm install awssum-amazon-s3
$ export AWS_ACCESS_KEY_ID=...
$ export AWS_SECRET_ACCESS_KEY=...
$ node s3-list-buckets.js
2008-01-06T10:04:16.000Z : my-bucket-1
2008-03-09T08:27:30.000Z : another-bucket
2008-03-09T09:02:53.000Z : photos
2008-06-14T23:43:10.000Z : storage-area

There are intro programs, examples and full docs in each plugin's repository, so please read them for specific instructions for each plugin.

Plugins

Please see each plugin for more instructions.

Provider Service Plugin
Amazon Identity and Access Management awssum-amazon-iam
Amazon AutoScaling awssum-amazon-autoscaling
Amazon Instance MetaData awssum-amazon-imd
Amazon CloudFormation awssum-amazon-cloudformation
Amazon Import Export awssum-amazon-importexport
Amazon CloudFront awssum-amazon-cloudfront
Amazon Relational Database Service awssum-amazon-rds
Amazon CloudSearch awssum-amazon-cloudsearch
Amazon CloudWatch awssum-amazon-cloudwatch
Amazon Route53 awssum-amazon-route53
Amazon DynamoDB awssum-amazon-dynamodb
Amazon Simple Storage Service awssum-amazon-s3
Amazon Elastic Compute Cloud awssum-amazon-ec2
Amazon Simple Email Service awssum-amazon-ses
Amazon ElastiCache awssum-amazon-elasticache
Amazon SimpleDB awssum-amazon-simpledb
Amazon ElasticBeanstalk awssum-amazon-elasticbeanstalk
Amazon Simple Notification Service awssum-amazon-sns
Amazon Elastic LoadBalancer awssum-amazon-elb
Amazon Simple Queue Service awssum-amazon-sqs
Amazon Elastic MapReduce awssum-amazon-emr
Amazon StorageGateway awssum-amazon-storagegateway
Amazon Flexible Payments Service awssum-amazon-fps
Amazon Security Token Service awssum-amazon-sts
Amazon Glacier awssum-amazon-glacier
Amazon Simple WorkFlow awssum-amazon-swf

Coming soon:

package.json

Since each plugin peerDepends on the service plugin and ultimately awssum itself, you don't need to specify these in your package.json.

Dont do this:

    "dependencies" : {
       "awssum"           : "1.0.x",
       "awssum-amazon"    : "1.0.x",
       "awssum-amazon-s3" : "1.0.x"
    },

You should do this instead (it will pull both awssum-amazon and awssum in too):

    "dependencies" : {
       "awssum-amazon-s3" : "1.0.x"
    },

Writing a Plugin

The first thing to realise when writing a plugin is that each service is provided by a provider. In the case of Amazon S3, Amazon is the provider and S3 is the service. For Twitter, since they only provide one service, then the provider would be named 'twitter' and you'd probably use the same name for the service.

In general then, you'd write two plugins with the following names:

  • awssum-<provider> - e.g. awssum-amazon, awssum-twitter
  • awssum-<provider>-<service> - e.g. awssum-amazon-s3, awssum-twitter-twitter

For other examples, you might write awssum-openstack, awssum-openstack-nova and awssum-openstack-keystone.

Once the provider plugin exists, new services for that provider just need the awssum-<provider>-<service> to be written. e.g. awssum-openstack-swift.

peerDependencies

Please also note to use peerDependencies in your package.json and depend on the correct version of AwsSum. Your awssum-<provider> package should peer depend on AwsSum and your awssum-<provider>-<service> package should peer depend on your awssum-<provider> package. I hope this makes sense. :)

Author

Written by Andrew Chilton - Blog - Twitter.

License

(Ends)

More Repositories

1

mongodb-queue

Message queues which uses MongoDB.
JavaScript
208
star
2

node-coupon-code

Implementation of Perl's Algorithm::CouponCode for NodeJS
JavaScript
131
star
3

cil

DVCS backed issue tracking system
Perl
71
star
4

oibackoff

incremental backoff flow-control for any : fn(function(err, data) { ... });
JavaScript
66
star
5

node-ofx

Parse OFX files into a usable data structure for Node.js.
JavaScript
60
star
6

data2xml

A data to XML converter with a nice interface (for NodeJS).
JavaScript
60
star
7

connect-stream-s3

Streaming connect middleware for uploading files to Amazon S3.
JavaScript
57
star
8

node-date-recur

Create a recurring date and query it to see if it lands on a particular date.
JavaScript
46
star
9

nginx-generator

Generate simple Nginx 'vhosts' with a simple library/cli tool.
JavaScript
42
star
10

nice-route53

A nicer API to Amazon's Route53.
JavaScript
37
star
11

12factor-config

Config which only reads the environment ... as described in http://12factor.net/config
JavaScript
36
star
12

sid

Generate Sortable Identifiers
Go
32
star
13

koa-pg

Koa middleware to get you a Postgres client.
JavaScript
29
star
14

fmt

Command line output formatting.
JavaScript
25
star
15

awssum-amazon-s3

(deprecated: use aws-sdk) NodeJS module to for talking to Amazon S3.
JavaScript
24
star
16

flake

Generate practically unique (approximately sortable) IDs in a distributed environment.
JavaScript
23
star
17

go-readme

An example ReadMe file for Go libraries.
22
star
18

feed2json

Convert RSS/Atom feeds to JSONFeed.
JavaScript
18
star
19

node-awssum-scripts

Examples of non-trivial scripts for node-awssum which can be used standalone
JavaScript
15
star
20

boltdb-dump

Command to dump a human-readable BoltDB to stdout.
Go
13
star
21

lol

Just lol, rofl, wtf, etc !!11!!1!
JavaScript
10
star
22

connect-uuid

Connect middleware to assign a UUID to every request.
JavaScript
8
star
23

connect-pgclient

Connect middleware to manage Postgres connections.
JavaScript
7
star
24

dep-tree

Create and solve a dependency tree.
JavaScript
7
star
25

awssum-amazon-ec2

(deprecated: use aws-sdk) NodeJS module to for talking to Amazon EC2.
JavaScript
6
star
26

mongodb-lock

Locks which uses MongoDB's atomic operations.
JavaScript
6
star
27

libawssum-perl

Perl Interface to many Web APIs (including AWS, RackSpace, Flickr, PayPal, Google Storage etc)
Perl
6
star
28

modb-dyno-leveldb

An implementation of dyno-abstract for a LevelDB store.
JavaScript
6
star
29

winston-simpledb

A SimpleDB transport for winston.
JavaScript
6
star
30

connect-blog

Blog middleware you can add to your Connect/Express app.
JavaScript
6
star
31

proxie

Proximity is a pluggable and configurable HTTP server.
JavaScript
5
star
32

node-awssum

Placeholder repo - now at http://github.com/awssum/awssum/
5
star
33

awssum-amazon-cloudsearch

(deprecated: use aws-sdk) NodeJS module to talk to Amazon CloudSearch.
JavaScript
5
star
34

sound

Make sure your data is sound! A validation library for Node.js.
JavaScript
5
star
35

awssum-amazon-route53

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Route53.
JavaScript
5
star
36

pushid

Lexicographically ordered string IDs.
JavaScript
5
star
37

zaapt

A CMS written in Perl and using Postgres
Perl
4
star
38

awssum-amazon-dynamodb

(deprecated: use aws-sdk) NodeJS module to talk to Amazon DynamoDB.
JavaScript
4
star
39

awssum-amazon

NodeJS module to aid talking to Amazon Web Services. Requires awssum-amazon-* plugins.
JavaScript
4
star
40

awssum-amazon-sqs

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Simple Queue Service (SQS).
JavaScript
4
star
41

s3tools

Tools for managing your S3 buckets and objects.
JavaScript
4
star
42

awssum-amazon-fps

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Flexible Payments Service (FPS).
JavaScript
4
star
43

jquery.persona-assistant.js

jQuery plugin to help with performing common Persona tasks.
JavaScript
4
star
44

awssum-amazon-redshift

AwsSum plugin for Amazon Redshift.
JavaScript
4
star
45

blogz

Read a directory of files, get a blog data structure.
JavaScript
4
star
46

awssum-amazon-cloudformation

(deprecated: use aws-sdk) NodeJS module to talk to Amazon CloudFormation.
JavaScript
4
star
47

pg-patcher

A Postgres patch helper for node-postgres.
JavaScript
3
star
48

chilts.github.com

chilts.org - Node.js, Web APIs, Perl and other geeky type stuff. :)
HTML
3
star
49

awssum-test

Test repo to try which also acts as examples.
JavaScript
3
star
50

level-timeseries

A pluggable timeseries DB built on top of LevelDB.
JavaScript
3
star
51

connect-error-amazon-ses

Middleware to send errors as email through Amazon SES.
JavaScript
3
star
52

awssum-amazon-ses

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Simple Email Service (SES).
JavaScript
3
star
53

redlock

Distributed locks using Redis. Nice API. Has keep-alive functionality.
JavaScript
3
star
54

awssum-amazon-sns

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Simple Notification Service (SNS).
JavaScript
3
star
55

yid

Simple ID generator. A timestamp plus random digits.
JavaScript
3
star
56

connect-error-irc

Connect middleware to send errors to an IRC server.
3
star
57

awssum-io

The AwsSum docs site.
JavaScript
2
star
58

12factor-log

Logger which outputs to only stdout, as described in http://12factor.net/logs
JavaScript
2
star
59

phliky

A small lightweight and consistent text->html markup language
Perl
2
star
60

sandpeople

GoLang middleware to check the relevant `X-Sandstorm-*` headers.
Go
2
star
61

npxcard

Create a nice display for your 'npx your-name-here' package
JavaScript
2
star
62

feed2summary

An rss/atom to stdout processor.
JavaScript
2
star
63

blort

Perl command line Twitter client which uses OAuth
2
star
64

dropmail

DropMail is designed to make your life easier when sending emails from your web server or backend cron jobs.
Perl
2
star
65

pluralise

Plurals for the masses. (node.js)
JavaScript
2
star
66

patchy

Easy patching of your Postgres database.
Go
2
star
67

String-Random-NiceURL

Perl Library to create Random ID strings suitable for URLs.
Perl
2
star
68

nodejs-geek-nz

Node.js in New Zealand promotional site.
JavaScript
2
star
69

pollpod

A command line tool which helps you download podcasts
2
star
70

uchi

UCHI - Unified Cache Handling Interface
JavaScript
2
star
71

awssum-amazon-autoscaling

(deprecated: use aws-sdk) NodeJS module to talk to Amazon AutoScaling.
JavaScript
2
star
72

connect-content

Content middleware you can add to your Connect/Express app.
JavaScript
1
star
73

awssum-amazon-elasticache

(deprecated: use aws-sdk) NodeJS module to talk to Amazon ElasiCache.
JavaScript
1
star
74

awssum-amazon-elb

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Elastic Load Balancing (ELB).
JavaScript
1
star
75

awssum-amazon-glacier

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Glacier.
JavaScript
1
star
76

awssum-amazon-iam

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Identity and Access Management (IAM).
JavaScript
1
star
77

awssum-amazon-sts

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Simple Token Service (STS).
JavaScript
1
star
78

pwkeepr

Helps you store and edit your passwords securely. :)
1
star
79

awssum-amazon-imd

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Instance MetaData (IMD).
JavaScript
1
star
80

namez

A name generator, for projects, confirmation codes, or funsies!
JavaScript
1
star
81

trademe

Client for the TradeMe (trademe.co.nz) API
JavaScript
1
star
82

date-slice

Figure out which time slice a date lands in.
JavaScript
1
star
83

awssum-amazon-simpledb

(deprecated: use aws-sdk) NodeJS module to talk to Amazon SimpleDB.
JavaScript
1
star
84

persona-assistant-site

Example site using jquery.persona-assistant.js.
JavaScript
1
star
85

awssum-amazon-cloudfront

(deprecated: use aws-sdk) NodeJS module to talk to Amazon CloudFront.
JavaScript
1
star
86

awssum-amazon-emr

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Elastic MapReduce (EMR).
JavaScript
1
star
87

kiwiwriters

The main website for kiwiwriters.org (no longer exists).
Perl
1
star
88

zproxy

An easily configurable web proxy, redirect, not found and static site server, written in Go.
Go
1
star
89

awssum-amazon-swf

(deprecated: use aws-sdk) NodeJS module to talk to Amazon Simple WorkFlow (SWF).
JavaScript
1
star
90

blat

Static site generation tool.
Perl
1
star
91

dyno

The networked cornerstone of an eventually consistent key/value store.
JavaScript
1
star
92

awssum-amazon-storagegateway

(deprecated: use aws-sdk) NodeJS module to talk to Amazon StorageGateway.
JavaScript
1
star
93

onebyone

Flow control so that only one function executes at any one time.
JavaScript
1
star
94

gocigar

A GoLang program to read stats from your system.
Go
1
star
95

webhook-inspector

App to receive, display, and query GitHub WebHooks.
HTML
1
star
96

nodejs-nz

A site for promoting Node in New Zealand.
JavaScript
1
star
97

conhash

A fast consistent hashing (hashring) implementation.
JavaScript
1
star
98

sensi

A set of tools for Infrastructure as a Service: Queues, Notifications etc
JavaScript
1
star
99

promises101-org

A tutorial site for Promises/A+ in JavaScript.
JavaScript
1
star
100

awssum-amazon-cloudwatch

(deprecated: use aws-sdk) NodeJS module to talk to Amazon CloudWatch.
JavaScript
1
star