Skip to content

sandersonb/firehose-nodejs-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Adobe LiveStream NodeJS Starter

Adobe LiveStream and NodeJS are natural friends due to the tools available in NodeJS to perform stream processing. This starter project illustrates how to consume data from the Adobe LiveStream. Specifically, the starter:

  • Requests a token as needed from the token server.
  • Will re-request tokens as they expire.
  • Caches tokens on the filesystem, so tokens can be reutilized.
  • Connects (and reconnects) to LiveStream servers as needed.
  • Provides a callback (onDataReceived) that is executed everytime an object is received from LiveStream.

Prerequisites

  • Have experience using the terminal on your platform.
  • Obtain access to LiveStream
    • Have ready your Adobe ID
    • Generate a clientId and clientSecret
    • Obtain your LiveStream endpoint URL.
  • NodeJS >= 0.10. Also requires packages:
    • event-stream
    • socket.io
  • A webserver to host client files.

Setup NodeJS

Visit http://nodejs.org/ to download NodeJS.

Once installed, install the needed packages using the npm tool:

npm install event-stream
npm install socket.io

Edit config.js

Edit config.js and fill in all the settings with your credentials. Most likely, you only have one set of credentials. If this is the case, just fill out the "prod" section in config.js.

Run server

Now you can run the server:

node server.js env=prod

It should negotiate a token with the Token API service, and begin consuming from LiveStream. If an error occurs, determine if the error had to do with requesting the token, or if it had to do with connecting to LiveStream string. If the error deals with the token, double check your credentials in config.js. If the problem is with connecting to LiveStream stream server, double check the streamUrl in config.js. If you get unauthorized problems at LiveStream stream, this probably means the stream is not configured for your user on the Adobe side, and you will need to reach out.

Setup client

Copy the contents of the client directory inside the webroot of a running webserver. This can be Apache, nginx, or any other webserver. The only requirements are that your browser is able to create an http connection and negotiate a websocket with the running node server. Once the code is there, load index.html in your browser.

You should see a very basic table of data containing a count of browser types that have visited your site. If you see no errors but aren't getting data, add some more logging (console.log) to server.js.

About

Adobe Firehose NodeJS starter project. Emits data over a websocket.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published