aws-serverless-dataflow is a command line tool that can help visualsing the connections and dataflows among various AWS serverless components, such as AWS Lambda, API Gateway, SNS, SQS, etc. It surveys the serverless components in your AWS account, and then generates static website content that can be hosted on a website for viewing the diagrams.
The generated visual representation can help users to understand the architecture and data flow of their serverless application, and identify any issues or opportunities for optimisation.
Please note that this tool is not provided or endorsed by AWS, and if you want it to utilise your AWS credentials and configurations stored under ~/.aws
, you will need to explictly grant it the permission to do so either through GUI or sudo snap connect aws-serverless-dataflow:dot-aws-config-credentials
.
Quick start
Try something like this:
$ aws-serverless-dataflow -r ap-southeast-2 -i '*boi*' -i '*datahub*' -x '*jameshu*' -c -s
Surveyed 11/42 domains in API Gateway
Surveyed 72/224 queues in SQS
Surveyed 48/209 topics in SNS
Surveyed 65/250 subscriptions in SNS
Surveyed 100/1115 stacks in CloudFormation
Surveyed 98 REST APIs and 54 HTTP APIs in API Gateway
(1/2) Surveying API Gateway, SQS, SNS and CloudFormation... done
Surveyed 85/410 buckets in S3
Surveyed 120/464 functions in Lambda
(2/2) Surveying S3 and Lambda... done
Finished survey in 72.672 seconds
Generating static website content in 'dataflow'... done
Local server started. Ctrl-C to stop. Access URL: http://localhost:8002/
And you should be able to see the diagram in your browser.
For more information on how to use aws-serverless-dataflow and the available options and arguments, visit https://github.com/james-hu/aws-serverless-dataflow or run the aws-serverless-dataflow --help
command.
Usage
USAGE
$ aws-serverless-dataflow [PATH] [-v] [-h] [-r <value>] [-i
<value>] [-x <value>] [-c] [-s] [-p <value>] [-l <value>] [-q] [-d]
ARGUMENTS
PATH [default: dataflow] path for putting generated website files
FLAGS
-c, --cloud-formation survey CloudFormation stack information (this takes
more time)
-d, --debug output debug messages
-h, --help Show CLI help.
-i, --include=<value>... [default: *] wildcard patterns for domain names and
ARN of Lambda functions/SNS topics/SQS queues that
should be includeed
-l, --parallelism=<value> [default: 4] approximately how many AWS API calls
are allowed at the same time
-p, --port=<value> [default: 8002] port number of the local http
server for preview
-q, --quiet no console output
-r, --region=<value> AWS region (required if you don't have AWS_REGION
environment variable configured)
-s, --server start a local http server and open a browser for
pre-viewing generated website
-v, --version Show CLI version.
-x, --exclude=<value>... wildcard patterns for domain names and ARN of
Lambda functions/SNS topics/SQS queues that should
be excluded
EXAMPLES
$ aws-serverless-dataflow -r ap-southeast-2 -s
$ aws-serverless-dataflow -r ap-southeast-2 -s -i '*boi*' -i '*datahub*' \
-x '*jameshu*' -c
$ aws-serverless-dataflow -r ap-southeast-2 -s -i '*lr-*' \
-i '*lead*' -x '*slack*' -x '*lead-prioritization*' \
-x '*lead-scor*' -x '*LeadCapture*' -c
You are about to open
Do you wish to proceed?
Thank you for your report. Information you provided will help us investigate further.
There was an error while sending your report. Please try again later.
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
If you’re running Kubuntu 16.04 LTS (Xenial Xerus) or later, including Kubuntu 18.04 LTS (Bionic Beaver) and Kubuntu 18.10 (Cosmic Cuttlefish), you don’t need to do anything. Snap is already installed and ready to go.
Versions of Kubuntu between 14.04 LTS (Trusty Tahr) and 15.10 (Wily Werewolf) don’t include snap by default, but snap can be installed from the command line as follows:
sudo apt update
sudo apt install snapd
To install aws-serverless-dataflow, simply use the following command:
sudo snap install aws-serverless-dataflow
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.