Latest commit

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Amazon Kinesis Data Visualization Sample Application

The Amazon Kinesis Data Visualization Sample Application demonstrates how to interact with Amazon Kinesis to generate meaningful statistics from a stream of data and visualize those results in real time.

Features

The Amazon Kinesis Data Visualization Sample Application contains three components:

  1. A record publisher to send data to Amazon Kinesis.
  2. An Amazon Kinesis Client application to compute the number of HTTP requests a resource received, and the HTTP referrer that sent them, over a sliding window.
  3. An embedded web server and real time chart to display counts as they are computed.

The application will create one Amazon Kinesis stream with two shards and two Amazon DynamoDB tables in your AWS account.

Important: These resources will incur charges on your AWS bill. It is your responsibility to delete these resources. A utility for deleting them is provided as part of this application. See Deleting Sample Application Resources for more information.

This application also includes a CloudFormation template to demonstrate how to launch an Amazon Kinesis Client application on EC2.

Getting Started

  1. Sign up for AWS — Before you begin, you need an AWS account. For more information about creating an AWS account and retrieving your AWS credentials, see AWS Account and Credentials in the AWS SDK for Java Developer Guide.
  2. Sign up for Amazon Kinesis — Go to the Amazon Kinesis console to sign up for the service.
  3. Minimum requirements — To use the sample application, you'll need Java 1.7+ and Maven 3. For more information about the requirements, see the Getting Started section of the Amazon Kinesis Developer Guide.
  4. Using the Amazon Kinesis Data Visualization Sample Application — The best way to familiarize yourself with the sample application is to read the Getting Started section of the Amazon Kinesis Developer Guide.

Building from Source

You can build the sample application using Maven:

mvn clean package

The application and all its dependencies are packaged into target/amazon-kinesis-data-visualization-sample-1.0.0-assembly.zip. The CloudFormation template relies on this archive and its structure to start the application on the EC2 host.

Running the Application

You can execute all the sample application components directly from the command line using Maven.

Stream Writer

HttpReferrerStreamWriter.java sends randomly generated records to the Amazon Kinesis stream. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pstream-writer exec:java

Counting Kinesis Client Application

HttpReferrerCounterApplication.java starts a Kinesis Client application that counts the number of HTTP requests to a resource over a sliding window. The application then persists the counts to DynamoDB for retrieval by the web application. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pcounter exec:java

Real Time Chart (Web Server)

WebServer.java starts a web server on port 8080 to view the results of the Counting Kinesis Client Application in real time. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pwebserver exec:java

After you have started all the components, navigate to http://localhost:8080 to view the running application. Note that you must execute both the Stream Writer and the Counting Kinesis Client Application to see any data on the chart.

CloudFormation Template

A sample CloudFormation template is included to demonstrate how to launch the application on EC2. The template provisions an EC2 t1.micro instance and starts all three applications on it. See EC2 Instance Types for more information on instance types.

The CloudFormation stack creates an IAM Role to allow the application to authenticate your account without the need for you to provide explicit credentials. See Using IAM Roles for EC2 Instances with the SDK for Java for more information.

The template can be found at src/main/static-content/cloudformation/kinesis-data-vis-sample-app.template.

Visit the AWS CloudFormation page for more information on what CloudFormation is and how you can leverage it to create and manage AWS resources.

Deleting Sample Application Resources

The sample application creates one Amazon Kinesis Stream and two Amazon DynamoDB tables, which will bill to your account. You can delete these resources by executing the following command:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pdelete-resources exec:java

About

Amazon Kinesis Data Visualization Sample Application

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Amazon Kinesis Data Visualization Sample Application

The Amazon Kinesis Data Visualization Sample Application demonstrates how to interact with Amazon Kinesis to generate meaningful statistics from a stream of data and visualize those results in real time.

Features

The Amazon Kinesis Data Visualization Sample Application contains three components:

  1. A record publisher to send data to Amazon Kinesis.
  2. An Amazon Kinesis Client application to compute the number of HTTP requests a resource received, and the HTTP referrer that sent them, over a sliding window.
  3. An embedded web server and real time chart to display counts as they are computed.

The application will create one Amazon Kinesis stream with two shards and two Amazon DynamoDB tables in your AWS account.

Important: These resources will incur charges on your AWS bill. It is your responsibility to delete these resources. A utility for deleting them is provided as part of this application. See Deleting Sample Application Resources for more information.

This application also includes a CloudFormation template to demonstrate how to launch an Amazon Kinesis Client application on EC2.

Getting Started

  1. Sign up for AWS — Before you begin, you need an AWS account. For more information about creating an AWS account and retrieving your AWS credentials, see AWS Account and Credentials in the AWS SDK for Java Developer Guide.
  2. Sign up for Amazon Kinesis — Go to the Amazon Kinesis console to sign up for the service.
  3. Minimum requirements — To use the sample application, you'll need Java 1.7+ and Maven 3. For more information about the requirements, see the Getting Started section of the Amazon Kinesis Developer Guide.
  4. Using the Amazon Kinesis Data Visualization Sample Application — The best way to familiarize yourself with the sample application is to read the Getting Started section of the Amazon Kinesis Developer Guide.

Building from Source

You can build the sample application using Maven:

mvn clean package

The application and all its dependencies are packaged into target/amazon-kinesis-data-visualization-sample-1.0.0-assembly.zip. The CloudFormation template relies on this archive and its structure to start the application on the EC2 host.

Running the Application

You can execute all the sample application components directly from the command line using Maven.

Stream Writer

HttpReferrerStreamWriter.java sends randomly generated records to the Amazon Kinesis stream. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pstream-writer exec:java

Counting Kinesis Client Application

HttpReferrerCounterApplication.java starts a Kinesis Client application that counts the number of HTTP requests to a resource over a sliding window. The application then persists the counts to DynamoDB for retrieval by the web application. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pcounter exec:java

Real Time Chart (Web Server)

WebServer.java starts a web server on port 8080 to view the results of the Counting Kinesis Client Application in real time. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pwebserver exec:java

After you have started all the components, navigate to http://localhost:8080 to view the running application. Note that you must execute both the Stream Writer and the Counting Kinesis Client Application to see any data on the chart.

CloudFormation Template

A sample CloudFormation template is included to demonstrate how to launch the application on EC2. The template provisions an EC2 t1.micro instance and starts all three applications on it. See EC2 Instance Types for more information on instance types.

The CloudFormation stack creates an IAM Role to allow the application to authenticate your account without the need for you to provide explicit credentials. See Using IAM Roles for EC2 Instances with the SDK for Java for more information.

The template can be found at src/main/static-content/cloudformation/kinesis-data-vis-sample-app.template.

Visit the AWS CloudFormation page for more information on what CloudFormation is and how you can leverage it to create and manage AWS resources.

Deleting Sample Application Resources

The sample application creates one Amazon Kinesis Stream and two Amazon DynamoDB tables, which will bill to your account. You can delete these resources by executing the following command:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pdelete-resources exec:java

About

Amazon Kinesis Data Visualization Sample Application

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Amazon Kinesis Data Visualization Sample Application

The Amazon Kinesis Data Visualization Sample Application demonstrates how to interact with Amazon Kinesis to generate meaningful statistics from a stream of data and visualize those results in real time.

Features

The Amazon Kinesis Data Visualization Sample Application contains three components:

  1. A record publisher to send data to Amazon Kinesis.
  2. An Amazon Kinesis Client application to compute the number of HTTP requests a resource received, and the HTTP referrer that sent them, over a sliding window.
  3. An embedded web server and real time chart to display counts as they are computed.

The application will create one Amazon Kinesis stream with two shards and two Amazon DynamoDB tables in your AWS account.

Important: These resources will incur charges on your AWS bill. It is your responsibility to delete these resources. A utility for deleting them is provided as part of this application. See Deleting Sample Application Resources for more information.

This application also includes a CloudFormation template to demonstrate how to launch an Amazon Kinesis Client application on EC2.

Getting Started

  1. Sign up for AWS — Before you begin, you need an AWS account. For more information about creating an AWS account and retrieving your AWS credentials, see AWS Account and Credentials in the AWS SDK for Java Developer Guide.
  2. Sign up for Amazon Kinesis — Go to the Amazon Kinesis console to sign up for the service.
  3. Minimum requirements — To use the sample application, you'll need Java 1.7+ and Maven 3. For more information about the requirements, see the Getting Started section of the Amazon Kinesis Developer Guide.
  4. Using the Amazon Kinesis Data Visualization Sample Application — The best way to familiarize yourself with the sample application is to read the Getting Started section of the Amazon Kinesis Developer Guide.

Building from Source

You can build the sample application using Maven:

mvn clean package

The application and all its dependencies are packaged into target/amazon-kinesis-data-visualization-sample-1.0.0-assembly.zip. The CloudFormation template relies on this archive and its structure to start the application on the EC2 host.

Running the Application

You can execute all the sample application components directly from the command line using Maven.

Stream Writer

HttpReferrerStreamWriter.java sends randomly generated records to the Amazon Kinesis stream. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pstream-writer exec:java

Counting Kinesis Client Application

HttpReferrerCounterApplication.java starts a Kinesis Client application that counts the number of HTTP requests to a resource over a sliding window. The application then persists the counts to DynamoDB for retrieval by the web application. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pcounter exec:java

Real Time Chart (Web Server)

WebServer.java starts a web server on port 8080 to view the results of the Counting Kinesis Client Application in real time. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pwebserver exec:java

After you have started all the components, navigate to http://localhost:8080 to view the running application. Note that you must execute both the Stream Writer and the Counting Kinesis Client Application to see any data on the chart.

CloudFormation Template

A sample CloudFormation template is included to demonstrate how to launch the application on EC2. The template provisions an EC2 t1.micro instance and starts all three applications on it. See EC2 Instance Types for more information on instance types.

The CloudFormation stack creates an IAM Role to allow the application to authenticate your account without the need for you to provide explicit credentials. See Using IAM Roles for EC2 Instances with the SDK for Java for more information.

The template can be found at src/main/static-content/cloudformation/kinesis-data-vis-sample-app.template.

Visit the AWS CloudFormation page for more information on what CloudFormation is and how you can leverage it to create and manage AWS resources.

Deleting Sample Application Resources

The sample application creates one Amazon Kinesis Stream and two Amazon DynamoDB tables, which will bill to your account. You can delete these resources by executing the following command:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pdelete-resources exec:java

About

Amazon Kinesis Data Visualization Sample Application

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Amazon Kinesis Data Visualization Sample Application

The Amazon Kinesis Data Visualization Sample Application demonstrates how to interact with Amazon Kinesis to generate meaningful statistics from a stream of data and visualize those results in real time.

Features

The Amazon Kinesis Data Visualization Sample Application contains three components:

  1. A record publisher to send data to Amazon Kinesis.
  2. An Amazon Kinesis Client application to compute the number of HTTP requests a resource received, and the HTTP referrer that sent them, over a sliding window.
  3. An embedded web server and real time chart to display counts as they are computed.

The application will create one Amazon Kinesis stream with two shards and two Amazon DynamoDB tables in your AWS account.

Important: These resources will incur charges on your AWS bill. It is your responsibility to delete these resources. A utility for deleting them is provided as part of this application. See Deleting Sample Application Resources for more information.

This application also includes a CloudFormation template to demonstrate how to launch an Amazon Kinesis Client application on EC2.

Getting Started

  1. Sign up for AWS — Before you begin, you need an AWS account. For more information about creating an AWS account and retrieving your AWS credentials, see AWS Account and Credentials in the AWS SDK for Java Developer Guide.
  2. Sign up for Amazon Kinesis — Go to the Amazon Kinesis console to sign up for the service.
  3. Minimum requirements — To use the sample application, you'll need Java 1.7+ and Maven 3. For more information about the requirements, see the Getting Started section of the Amazon Kinesis Developer Guide.
  4. Using the Amazon Kinesis Data Visualization Sample Application — The best way to familiarize yourself with the sample application is to read the Getting Started section of the Amazon Kinesis Developer Guide.

Building from Source

You can build the sample application using Maven:

mvn clean package

The application and all its dependencies are packaged into target/amazon-kinesis-data-visualization-sample-1.0.0-assembly.zip. The CloudFormation template relies on this archive and its structure to start the application on the EC2 host.

Running the Application

You can execute all the sample application components directly from the command line using Maven.

Stream Writer

HttpReferrerStreamWriter.java sends randomly generated records to the Amazon Kinesis stream. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pstream-writer exec:java

Counting Kinesis Client Application

HttpReferrerCounterApplication.java starts a Kinesis Client application that counts the number of HTTP requests to a resource over a sliding window. The application then persists the counts to DynamoDB for retrieval by the web application. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pcounter exec:java

Real Time Chart (Web Server)

WebServer.java starts a web server on port 8080 to view the results of the Counting Kinesis Client Application in real time. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pwebserver exec:java

After you have started all the components, navigate to http://localhost:8080 to view the running application. Note that you must execute both the Stream Writer and the Counting Kinesis Client Application to see any data on the chart.

CloudFormation Template

A sample CloudFormation template is included to demonstrate how to launch the application on EC2. The template provisions an EC2 t1.micro instance and starts all three applications on it. See EC2 Instance Types for more information on instance types.

The CloudFormation stack creates an IAM Role to allow the application to authenticate your account without the need for you to provide explicit credentials. See Using IAM Roles for EC2 Instances with the SDK for Java for more information.

The template can be found at src/main/static-content/cloudformation/kinesis-data-vis-sample-app.template.

Visit the AWS CloudFormation page for more information on what CloudFormation is and how you can leverage it to create and manage AWS resources.

Deleting Sample Application Resources

The sample application creates one Amazon Kinesis Stream and two Amazon DynamoDB tables, which will bill to your account. You can delete these resources by executing the following command:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pdelete-resources exec:java

About

Amazon Kinesis Data Visualization Sample Application

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Amazon Kinesis Data Visualization Sample Application

The Amazon Kinesis Data Visualization Sample Application demonstrates how to interact with Amazon Kinesis to generate meaningful statistics from a stream of data and visualize those results in real time.

Features

The Amazon Kinesis Data Visualization Sample Application contains three components:

  1. A record publisher to send data to Amazon Kinesis.
  2. An Amazon Kinesis Client application to compute the number of HTTP requests a resource received, and the HTTP referrer that sent them, over a sliding window.
  3. An embedded web server and real time chart to display counts as they are computed.

The application will create one Amazon Kinesis stream with two shards and two Amazon DynamoDB tables in your AWS account.

Important: These resources will incur charges on your AWS bill. It is your responsibility to delete these resources. A utility for deleting them is provided as part of this application. See Deleting Sample Application Resources for more information.

This application also includes a CloudFormation template to demonstrate how to launch an Amazon Kinesis Client application on EC2.

Getting Started

  1. Sign up for AWS — Before you begin, you need an AWS account. For more information about creating an AWS account and retrieving your AWS credentials, see AWS Account and Credentials in the AWS SDK for Java Developer Guide.
  2. Sign up for Amazon Kinesis — Go to the Amazon Kinesis console to sign up for the service.
  3. Minimum requirements — To use the sample application, you'll need Java 1.7+ and Maven 3. For more information about the requirements, see the Getting Started section of the Amazon Kinesis Developer Guide.
  4. Using the Amazon Kinesis Data Visualization Sample Application — The best way to familiarize yourself with the sample application is to read the Getting Started section of the Amazon Kinesis Developer Guide.

Building from Source

You can build the sample application using Maven:

mvn clean package

The application and all its dependencies are packaged into target/amazon-kinesis-data-visualization-sample-1.0.0-assembly.zip. The CloudFormation template relies on this archive and its structure to start the application on the EC2 host.

Running the Application

You can execute all the sample application components directly from the command line using Maven.

Stream Writer

HttpReferrerStreamWriter.java sends randomly generated records to the Amazon Kinesis stream. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pstream-writer exec:java

Counting Kinesis Client Application

HttpReferrerCounterApplication.java starts a Kinesis Client application that counts the number of HTTP requests to a resource over a sliding window. The application then persists the counts to DynamoDB for retrieval by the web application. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pcounter exec:java

Real Time Chart (Web Server)

WebServer.java starts a web server on port 8080 to view the results of the Counting Kinesis Client Application in real time. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pwebserver exec:java

After you have started all the components, navigate to http://localhost:8080 to view the running application. Note that you must execute both the Stream Writer and the Counting Kinesis Client Application to see any data on the chart.

CloudFormation Template

A sample CloudFormation template is included to demonstrate how to launch the application on EC2. The template provisions an EC2 t1.micro instance and starts all three applications on it. See EC2 Instance Types for more information on instance types.

The CloudFormation stack creates an IAM Role to allow the application to authenticate your account without the need for you to provide explicit credentials. See Using IAM Roles for EC2 Instances with the SDK for Java for more information.

The template can be found at src/main/static-content/cloudformation/kinesis-data-vis-sample-app.template.

Visit the AWS CloudFormation page for more information on what CloudFormation is and how you can leverage it to create and manage AWS resources.

Deleting Sample Application Resources

The sample application creates one Amazon Kinesis Stream and two Amazon DynamoDB tables, which will bill to your account. You can delete these resources by executing the following command:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pdelete-resources exec:java

About

Amazon Kinesis Data Visualization Sample Application

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Amazon Kinesis Data Visualization Sample Application

The Amazon Kinesis Data Visualization Sample Application demonstrates how to interact with Amazon Kinesis to generate meaningful statistics from a stream of data and visualize those results in real time.

Features

The Amazon Kinesis Data Visualization Sample Application contains three components:

  1. A record publisher to send data to Amazon Kinesis.
  2. An Amazon Kinesis Client application to compute the number of HTTP requests a resource received, and the HTTP referrer that sent them, over a sliding window.
  3. An embedded web server and real time chart to display counts as they are computed.

The application will create one Amazon Kinesis stream with two shards and two Amazon DynamoDB tables in your AWS account.

Important: These resources will incur charges on your AWS bill. It is your responsibility to delete these resources. A utility for deleting them is provided as part of this application. See Deleting Sample Application Resources for more information.

This application also includes a CloudFormation template to demonstrate how to launch an Amazon Kinesis Client application on EC2.

Getting Started

  1. Sign up for AWS — Before you begin, you need an AWS account. For more information about creating an AWS account and retrieving your AWS credentials, see AWS Account and Credentials in the AWS SDK for Java Developer Guide.
  2. Sign up for Amazon Kinesis — Go to the Amazon Kinesis console to sign up for the service.
  3. Minimum requirements — To use the sample application, you'll need Java 1.7+ and Maven 3. For more information about the requirements, see the Getting Started section of the Amazon Kinesis Developer Guide.
  4. Using the Amazon Kinesis Data Visualization Sample Application — The best way to familiarize yourself with the sample application is to read the Getting Started section of the Amazon Kinesis Developer Guide.

Building from Source

You can build the sample application using Maven:

mvn clean package

The application and all its dependencies are packaged into target/amazon-kinesis-data-visualization-sample-1.0.0-assembly.zip. The CloudFormation template relies on this archive and its structure to start the application on the EC2 host.

Running the Application

You can execute all the sample application components directly from the command line using Maven.

Stream Writer

HttpReferrerStreamWriter.java sends randomly generated records to the Amazon Kinesis stream. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pstream-writer exec:java

Counting Kinesis Client Application

HttpReferrerCounterApplication.java starts a Kinesis Client application that counts the number of HTTP requests to a resource over a sliding window. The application then persists the counts to DynamoDB for retrieval by the web application. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pcounter exec:java

Real Time Chart (Web Server)

WebServer.java starts a web server on port 8080 to view the results of the Counting Kinesis Client Application in real time. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pwebserver exec:java

After you have started all the components, navigate to http://localhost:8080 to view the running application. Note that you must execute both the Stream Writer and the Counting Kinesis Client Application to see any data on the chart.

CloudFormation Template

A sample CloudFormation template is included to demonstrate how to launch the application on EC2. The template provisions an EC2 t1.micro instance and starts all three applications on it. See EC2 Instance Types for more information on instance types.

The CloudFormation stack creates an IAM Role to allow the application to authenticate your account without the need for you to provide explicit credentials. See Using IAM Roles for EC2 Instances with the SDK for Java for more information.

The template can be found at src/main/static-content/cloudformation/kinesis-data-vis-sample-app.template.

Visit the AWS CloudFormation page for more information on what CloudFormation is and how you can leverage it to create and manage AWS resources.

Deleting Sample Application Resources

The sample application creates one Amazon Kinesis Stream and two Amazon DynamoDB tables, which will bill to your account. You can delete these resources by executing the following command:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pdelete-resources exec:java

About

Amazon Kinesis Data Visualization Sample Application

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Amazon Kinesis Data Visualization Sample Application

The Amazon Kinesis Data Visualization Sample Application demonstrates how to interact with Amazon Kinesis to generate meaningful statistics from a stream of data and visualize those results in real time.

Features

The Amazon Kinesis Data Visualization Sample Application contains three components:

  1. A record publisher to send data to Amazon Kinesis.
  2. An Amazon Kinesis Client application to compute the number of HTTP requests a resource received, and the HTTP referrer that sent them, over a sliding window.
  3. An embedded web server and real time chart to display counts as they are computed.

The application will create one Amazon Kinesis stream with two shards and two Amazon DynamoDB tables in your AWS account.

Important: These resources will incur charges on your AWS bill. It is your responsibility to delete these resources. A utility for deleting them is provided as part of this application. See Deleting Sample Application Resources for more information.

This application also includes a CloudFormation template to demonstrate how to launch an Amazon Kinesis Client application on EC2.

Getting Started

  1. Sign up for AWS — Before you begin, you need an AWS account. For more information about creating an AWS account and retrieving your AWS credentials, see AWS Account and Credentials in the AWS SDK for Java Developer Guide.
  2. Sign up for Amazon Kinesis — Go to the Amazon Kinesis console to sign up for the service.
  3. Minimum requirements — To use the sample application, you'll need Java 1.7+ and Maven 3. For more information about the requirements, see the Getting Started section of the Amazon Kinesis Developer Guide.
  4. Using the Amazon Kinesis Data Visualization Sample Application — The best way to familiarize yourself with the sample application is to read the Getting Started section of the Amazon Kinesis Developer Guide.

Building from Source

You can build the sample application using Maven:

mvn clean package

The application and all its dependencies are packaged into target/amazon-kinesis-data-visualization-sample-1.0.0-assembly.zip. The CloudFormation template relies on this archive and its structure to start the application on the EC2 host.

Running the Application

You can execute all the sample application components directly from the command line using Maven.

Stream Writer

HttpReferrerStreamWriter.java sends randomly generated records to the Amazon Kinesis stream. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pstream-writer exec:java

Counting Kinesis Client Application

HttpReferrerCounterApplication.java starts a Kinesis Client application that counts the number of HTTP requests to a resource over a sliding window. The application then persists the counts to DynamoDB for retrieval by the web application. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pcounter exec:java

Real Time Chart (Web Server)

WebServer.java starts a web server on port 8080 to view the results of the Counting Kinesis Client Application in real time. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pwebserver exec:java

After you have started all the components, navigate to http://localhost:8080 to view the running application. Note that you must execute both the Stream Writer and the Counting Kinesis Client Application to see any data on the chart.

CloudFormation Template

A sample CloudFormation template is included to demonstrate how to launch the application on EC2. The template provisions an EC2 t1.micro instance and starts all three applications on it. See EC2 Instance Types for more information on instance types.

The CloudFormation stack creates an IAM Role to allow the application to authenticate your account without the need for you to provide explicit credentials. See Using IAM Roles for EC2 Instances with the SDK for Java for more information.

The template can be found at src/main/static-content/cloudformation/kinesis-data-vis-sample-app.template.

Visit the AWS CloudFormation page for more information on what CloudFormation is and how you can leverage it to create and manage AWS resources.

Deleting Sample Application Resources

The sample application creates one Amazon Kinesis Stream and two Amazon DynamoDB tables, which will bill to your account. You can delete these resources by executing the following command:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pdelete-resources exec:java

About

Amazon Kinesis Data Visualization Sample Application

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Amazon Kinesis Data Visualization Sample Application

The Amazon Kinesis Data Visualization Sample Application demonstrates how to interact with Amazon Kinesis to generate meaningful statistics from a stream of data and visualize those results in real time.

Features

The Amazon Kinesis Data Visualization Sample Application contains three components:

  1. A record publisher to send data to Amazon Kinesis.
  2. An Amazon Kinesis Client application to compute the number of HTTP requests a resource received, and the HTTP referrer that sent them, over a sliding window.
  3. An embedded web server and real time chart to display counts as they are computed.

The application will create one Amazon Kinesis stream with two shards and two Amazon DynamoDB tables in your AWS account.

Important: These resources will incur charges on your AWS bill. It is your responsibility to delete these resources. A utility for deleting them is provided as part of this application. See Deleting Sample Application Resources for more information.

This application also includes a CloudFormation template to demonstrate how to launch an Amazon Kinesis Client application on EC2.

Getting Started

  1. Sign up for AWS — Before you begin, you need an AWS account. For more information about creating an AWS account and retrieving your AWS credentials, see AWS Account and Credentials in the AWS SDK for Java Developer Guide.
  2. Sign up for Amazon Kinesis — Go to the Amazon Kinesis console to sign up for the service.
  3. Minimum requirements — To use the sample application, you'll need Java 1.7+ and Maven 3. For more information about the requirements, see the Getting Started section of the Amazon Kinesis Developer Guide.
  4. Using the Amazon Kinesis Data Visualization Sample Application — The best way to familiarize yourself with the sample application is to read the Getting Started section of the Amazon Kinesis Developer Guide.

Building from Source

You can build the sample application using Maven:

mvn clean package

The application and all its dependencies are packaged into target/amazon-kinesis-data-visualization-sample-1.0.0-assembly.zip. The CloudFormation template relies on this archive and its structure to start the application on the EC2 host.

Running the Application

You can execute all the sample application components directly from the command line using Maven.

Stream Writer

HttpReferrerStreamWriter.java sends randomly generated records to the Amazon Kinesis stream. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pstream-writer exec:java

Counting Kinesis Client Application

HttpReferrerCounterApplication.java starts a Kinesis Client application that counts the number of HTTP requests to a resource over a sliding window. The application then persists the counts to DynamoDB for retrieval by the web application. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pcounter exec:java

Real Time Chart (Web Server)

WebServer.java starts a web server on port 8080 to view the results of the Counting Kinesis Client Application in real time. You can start it locally by executing:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pwebserver exec:java

After you have started all the components, navigate to http://localhost:8080 to view the running application. Note that you must execute both the Stream Writer and the Counting Kinesis Client Application to see any data on the chart.

CloudFormation Template

A sample CloudFormation template is included to demonstrate how to launch the application on EC2. The template provisions an EC2 t1.micro instance and starts all three applications on it. See EC2 Instance Types for more information on instance types.

The CloudFormation stack creates an IAM Role to allow the application to authenticate your account without the need for you to provide explicit credentials. See Using IAM Roles for EC2 Instances with the SDK for Java for more information.

The template can be found at src/main/static-content/cloudformation/kinesis-data-vis-sample-app.template.

Visit the AWS CloudFormation page for more information on what CloudFormation is and how you can leverage it to create and manage AWS resources.

Deleting Sample Application Resources

The sample application creates one Amazon Kinesis Stream and two Amazon DynamoDB tables, which will bill to your account. You can delete these resources by executing the following command:

MAVEN_OPTS="-Daws.accessKeyId=YOURACCESSKEY -Daws.secretKey=YOURSECRETKEY" mvn compile -Pdelete-resources exec:java

About

Amazon Kinesis Data Visualization Sample Application

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages