Skip to main content

Créer un stream

Un stream est un algorithme distribué dédié au Realtime Streaming Analytics

Contrairement aux applications distribuées ou micro-services classiques qui vous obligent à coder chaque service indépendamment, grâce au Streams Store, vous pouvez gérer tous vos streams et leurs dépendances, les publier pour les rendre disponibles et consommer les streams créés par d'autres. Un stream est composé de fonctions lambdas, chacune peut être exécutée en parallèle sur des centaines de nodes et d'enpoints. Créez et publiez de nouvelles versions sans limite pour gérer les évolutions de vos streams; ils se déploient automatiquement sur tous les nodes sélectionnés.

Ajouter un nouveau stream

Accéder au Streams Store puis sélectionner le bouton créer un stream.

Entrer un nom et valider.

screenshot

Le stream est créé et la vue complète apparaît.

screenshot

Éditer les informations d'un stream

Sur l'onglet général il est possible d'ajouter une description et une image pour illustrer votre stream sur le Streams Store.

Ajouter une version

Pour écrire le code de votre stream vous devez créer une version

Cliquer sur Ajouter une première version, entrer un numéro de version, une description (optionelle) et appuyez sur Entrer (guide des versions).

screenshot

Générez l'algorithme

Rendez-vous sur l'onglet code qui affiche un template par défaut.

Editez-le, par exemple:

    ...
.reply("done", (stream, event) -> {
return event.resource()
.set("message", "mon premier stream";)
});

Cliquer sur enregistrer pour compiler le code et générer générer l'algorithme. L'onglet package présente l'algorithme sous forme d'arbre logique avec une ligne par fonction lambda.

Affectez des ressources

Chaque fonction lambda peut etre exécutée en parallèle sur plusieurs nodes et endpoints (threads par node).

Sélectionnez le nombre d'endpoints souhaités en cliquant sur le nombre à droite de l'URL réseau d'une lambda

screenshot

Sélectionnez les nodes d'exécution (en cliquant sur le nombre de nodes, puis en sélectionnant leur nom dans le modal)

screenshot

Les ressources totales affectées au stream sont mises à jour: le nombre de nodes, le nombre d'endpoints, le CPU et l'espace disque théorique

screenshot

Publiez votre stream

Pour pouvoir exécuter votre stream, celui-ci doit être publié

Cliquer sur publier dans l'onglet général

screenshot

La disponibilité et le statut courant du stream sont automatiquement supervisés

screenshot

La disponibilité est calculée sur 30 jours glissants et peut être explorée par heur et par jour. Chaque fonction lambda affiche sont statut en temps réel

Générez un token d'accès

Cliquer sur s'abonner en bas à gauche de l'onglet général pour obtenir token d'accès. Vous pouvez donner un nom et une description à votre abonnement.

screenshot

Testez votre stream

Utiliser votre éditeur REST/JSON favoris ou entrez la commande suivante en remplaçant $token par le token de votre abonnement (cliquer dessus pour le copier automatiquement) :

curl -H "Authorization: Bearer $token" -H 'Content-Type: application/json' -d '{ "alert": "no" }' -X POST http://localhost:4455/app/demo/api 

Votre stream répond


{
"status": "OK",
"message": "mon premier stream"
}

Tester l'autre cas avec alert=true

curl -H "Authorization: Bearer $token" -H 'Content-Type: application/json' -d '{ "alert": "true" }' -X POST http://localhost:4455/app/demo/api 

Votre stream répond


{
"status": "OK",
"message": "Alert received"
}