Téléchargement des produits


Version anglaise


 

L'AMBSS fournit un ensemble de services Web REST permettant de gérer des souscripteurs Adélia via les quatre opérations de base CRUD : Create, Read, Update, Delete.

Ces services se divisent en deux groupes :

  • Les services pour gérer les objets configurations : c'est le pendant de la section configurations du fichier de configuration subscribersConf.yml,
  • les services pour gérer les objets souscripteurs : c'est le pendant de la section subscribers du fichier de configuration subscribersConf.yml.


Il est possible d'accéder à la documentation Swagger via l'URL :

http://<hostname>:<port_number>/ambss/swagger-ui/index.html


L'ensemble de ces services Web manipulent des données au format JSON.


Remarque :

Par défaut, ces services gèrent des configurations et des souscripteurs stockés en mémoire. La propriété "ambss.subscribers.writer" permet d'activer la sauvegarde des créations et modifications des souscripteurs par les services web REST dans le fichier de configuration des souscripteurs Adélia (la valeur par défaut est "false"). Si aucun fichier de configuration des souscripteurs n'est spécifié au lancement de l'AMBSS alors un fichier subscribersConf.yml est créé dans le répertoire racine de l'AMBSS (le répertoire parent du sous-répertoire config ou se trouve le fichier application-dev.yml).

Services REST configurations

Ils sont accessibles via l'URL :

http://<hostname>:<port_number>/ambss/v1/configurations , où "hostname" est le nom de la machine hébergeant l'application Sprint Boot AMBSS, "port_number" est le numéro de port TCP d'écoute configuré pour l'AMBSS (dans le fichier application.yml ou application-dev.yml).

Création d'une configuration

Méthode HTTP

POST

URL

http://<port_number>/ambss/v1/configurations

RôlesADMIN (propriété 'ambss.security.role-names.admin-role')
Paramètres dans l'URL
  • write : Entier (0 ou 1). Permet pour cette requête d'outrepasser la valeur de la propriété 'ambss.subscribers.writer' et d'imposer la sauvegarde ou la non sauvegarde de la configuration créée (valeur 0 pour ne pas sauvegarder ; 1 pour sauvegarder).
Corps de la requête

Message au format JSON décrivant la configuration à ajouter. En se basant sur cet exemple, cela donne :

{
  "id": "partialConfigBrokerConfig",
  "brokerConfig": null,
  "factory": {
    "id": "com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory"
  },
  "brokerConnection": {
    "password": "guest",
    "username": "guest"
  },
  "subscribeTopic": {
    "consumerPrefetchCount": 1000,
    "autoAck": false,
    "queue": null
  },
  "declarePassive": true,
  "name": "order_event_queue"
}
Code de la réponse
  • 201 (Created) : L'opération a réussi.
  • 400 (Bad request) : La syntaxe de la configuration au format JSON est incorrecte.
  • 409 (Conflict) : Une configuration d'identifiant <id_config> existe déjà.
  • 500 (Internal server error) : Une erreur interne s'est produite.
Corps de la réponse

Aucune réponse en cas de succès (code 201) ; objet JSON détaillant l'erreur sinon :

{
    "timestamp": 1648458350039,
    "status": 400,
    "error": "Bad Request",
    "message": "Validation failed for object='configurationEntity'. Error count: 1",
    "path": "/ambss/v1/configurations"
}

Lecture

Plusieurs opérations de lecture permettent de récupérer de l'information sur les configurations.


Lecture d'une configuration

Méthode HTTP

GET

URL

http://<port_number>/ambss/v1/configurations/<id_config>

RôlesUSER (propriété 'ambss.security.role-names.user-role') et ADMIN (propriété 'ambss.security.role-names.admin-role')
Code de la réponse
  • 200 (OK) : L'opération a réussi.
  • 404 (Not Found) : La configuration d'identifiant <id_config> n'existe pas.
  • 500 (Internal server error) : Une erreur interne s'est produite.
Corps de la réponseEn cas de succès (code 200), configuration d'identifiant <id_config> au format JSON ; objet JSON détaillant l'erreur sinon


Liste des configurations

Cette méthode permet de récupérer l'ensemble des configurations créées, en appliquant optionnellement des filtres de recherche.

Méthode HTTP

GET

URL

http://<port_number>/ambss/v1/configurations

RôlesUSER (propriété 'ambss.security.role-names.user-role') et ADMIN (propriété 'ambss.security.role-names.admin-role')
Paramètres dans l'URL
  • id : Pattern (expression régulière) d'identifiant de configuration,
  • adeliaPoolName : Pattern (expression régulière) de nom de pool de connections Adélia,
  • factory.id : Pattern (expression régulière) d'identifiant de fabrique contenue dans la configuration,
  • adeliaPgm.objectFileName : Pattern (expression régulière) du nom de fichier objet issu de la génération L3G du programme EADELIA contenu dans la configuration,
  • adeliaPgm.javaPackage : Pattern (expression régulière) du nom du package Java défini pour la génération L3G du programme EADELIA associé contenu dans la configuration,
  • adeliaPgm.customObjectMapper : Pattern (expression régulière) de l'identifiant du Java Bean définit dans le fichier beans-context.xml permettant de configurer les propriétés de transformation d'objet JSON en instance de classe Adélia contenu dans la configuration.

Exemple :

http://<port_number>/ambss/v1/configurations?id=partial.*&adeliaPgm.objectFileName=EAP\d+

Code de la réponse
  • 200 (OK) : L'opération a réussi.
  • 404 (Not Found) : La configuration d'identifiant <id_config> n'existe pas.
  • 500 (Internal server error) : Une erreur interne s'est produite.
Corps de la réponseEn cas de succès (code 200), liste au format JSON des configurations satisfaisant les critères des filtres appliqués ; objet JSON détaillant l'erreur sinon.


Liste des souscripteurs associés à une configuration

Méthode HTTP

GET

URL

http://<port_number>/ambss/v1/configurations/<id_config>/subscribers

RôlesUSER (propriété 'ambss.security.role-names.user-role') et ADMIN (propriété 'ambss.security.role-names.admin-role')
Code de la réponse
  • 200 (OK) : L'opération a réussi.
  • 404 (Not Found) : La configuration d'identifiant <id_config> n'existe pas.
  • 500 (Internal server error) : Une erreur interne s'est produite.
Corps de la réponse

En cas de succès (code 200), liste au format JSON des souscripteurs ayant dans leur description une référence à la configuration d'identifiant <id_config> ; objet JSON détaillant l'erreur sinon.

Remarque : Chaque souscripteur retourné l'est dans la version non déduite (c'est-à-dire sans remplacer toutes les références utilisées par les objets référencés).


Mise à jour d'une configuration

Méthode HTTP

PUT

URL

http://<port_number>/ambss/v1/configurations/<id_config>

RôlesADMIN (propriété 'ambss.security.role-names.admin-role')
Paramètres dans l'URL
  • write : Entier (0 ou 1). Permet pour cette requête d'outrepasser la valeur de la propriété 'ambss.subscribers.writer' et d'imposer la sauvegarde ou la non sauvegarde de la configuration créée (valeur 0 pour ne pas sauvegarder ; 1 pour sauvegarder).
Code de la réponse
  • 204 (No Content) : L'opération a réussi.
  • 400 (Bad Request) : La syntaxe de la configuration au format JSON est incorrecte ou la syntaxe déduite du souscripteur qui référence cette configuration est non valide (en appliquant la nouvelle configuration).
  • 404 (Not Found) : La configuration d'identifiant <id_config> n'existe pas.
  • 405 (Method Not Allowed) : La configuration d'identifiant <id_config> n'a pas pu être mise à jour car elle est référencée par au moins un souscripteur à l'état "démarré".
  • 500 (Internal server error) : Une erreur interne s'est produite.
Corps de la réponseAucune réponse en cas de succès (code 204) ; objet JSON détaillant l'erreur sinon.

Suppression d'une configuration

Méthode HTTP

DELETE

URL

http://<port_number>/ambss/v1/configurations/<id_config>

RôlesADMIN (propriété 'ambss.security.role-names.admin-role')
Paramètres dans l'URL
  • write : Entier (0 ou 1). Permet pour cette requête d'outrepasser la valeur de la propriété 'ambss.subscribers.writer' et d'imposer la sauvegarde ou la non sauvegarde de la configuration créée (valeur 0 pour ne pas sauvegarder ; 1 pour sauvegarder).
Code de la réponse
  • 204 (No Content) : L'opération a réussi.
  • 404 (Not Found) : La configuration d'identifiant <id_config> n'existe pas.
  • 405 (Method Not Allowed) : La configuration d'identifiant <id_config> n'a pas pu être supprimée car elle est référencée par au moins un souscripteur.
  • 500 (Internal server error) : Une erreur interne s'est produite.
Corps de la réponseAucune réponse en cas de succès (code 204) ; objet JSON détaillant l'erreur sinon.

↑ Haut de page

Services REST subscribers

Ils sont accessibles via l'URL :

http://<hostname>:<port_number>/ambss/v1/subscribers , où "hostname" est le nom de la machine hébergeant l'application Sprint Boot AMBSS, "port_number" est le numéro de port TCP d'écoute configuré pour l'AMBSS (dans fichier application.yml ou application-dev.yml).


Création d'un souscripteur

Méthode HTTP

POST

URL

http://<port_number>/ambss/v1/subscribers

Rôles

ADMIN (propriété 'ambss.security.role-names.user-role')

Paramètres dans l'URL

  • write : Entier (0 ou 1). Permet pour cette requête d'outrepasser la valeur de la propriété 'ambss.subscribers.writer' et d'imposer la sauvegarde ou la non sauvegarde de la configuration créée (valeur 0 pour ne pas sauvegarder ; 1 pour sauvegarder).

Corps de la requête

Message au format JSON décrivant le souscripteur à ajouter. En se basant sur cet exemple cela donne :

{
  "id": "subUsingTwoPartialConfigAndComplete",
  "startOnCreation": true,
  "config": {
    "$ref": [
      "/configurations/partialConfigAdeliaPgm",
      "/configurations/partialConfigBrokerConnection"
    ],
    "brokerConfig": {
      "subscribeTopic": {
        "consumerPrefetchCount": 1000,
        "autoAck": false,
        "queue": {
          "declarePassive": true,
          "name": "order_event_queue"
        }
      }
    }
  }
}

Remarques : 

      • La description au format JSON du souscripteur peut être avec ou sans référence à une ou plusieurs configurations. La création est autorisée seulement si la description déduite (c'est-à-dire en remplaçant toutes les références utilisées par les objets référencés) est complète et valide.
      • L'attribut "id" n'est pas obligatoire. S'il n'est pas renseigné, l'AMBSS lui affecte une valeur alphanumérique aléatoire et unique.

Code de la réponse

  • 201 (Created) : L'opération a réussi.

  • 400 (Bad request) : La syntaxe de la description du souscripteur au format JSON est incorrecte ou le souscripteur fait référence à une configuration inconnue.

  • 409 (Conflict) : Un souscripteur d'identifiant <id_subscriber> existe déjà.

  • 500 (Internal server error) : Une erreur interne s'est produite.

Corps de la réponse

Aucune réponse en cas de succès (code 201) ; objet JSON détaillant l'erreur sinon :

{
    "timestamp": 1648479612407,
    "status": 400,
    "error": "Bad Request",
    "message": "Subscriber with id 'subTemperature' is not valid. Validation failed for subscriber 'subTemperature'. Config object must only contains valid reference(s) to existing configuration(s)",
    "path": "/ambss/v1/subscribers"
}

En cas de succès, l'en-tête de la réponse contient un attribut "Location" dont la valeur est l'URL d'accès en lecture au souscripteur créé (avec l'exemple ci-dessus, l'en-tête contiendra Location: http://localhost:8080/ambss/v1/subscribers/subUsingTwoPartialConfigAndComplete)


Démarrer un souscripteur

Méthode HTTP

GET

URL

http://<port_number>/ambss/v1/subscribers/<id_subscriber>/start

Rôles

USER (propriété 'ambss.security.role-names.user-role') et ADMIN (propriété 'ambss.security.role-names.admin-role')

Code de la réponse

  • 200 (OK) : L'opération a réussi.

  • 404 (Not Found) : Le souscripteur d'identifiant <id_subscriber> n'existe pas.

  • 405 (Method Not Allowed) : Le souscripteur d'identifiant <id_subscriber> n'a pas pu être démarré car il n'est pas dans le bon état (état "arrêté").

  • 500 (Internal server error) : Une erreur interne s'est produite.

Corps de la réponse

En cas de succès (code 200), description du souscripteur d'identifiant <id_subscriber> dans sa forme déduite au format JSON ; objet JSON détaillant l'erreur sinon.


Arrêter un souscripteur

Méthode HTTP

POST

URL

http://<port_number>/ambss/v1/subscribers/<id_subscriber>/stop

Rôles

USER (propriété 'ambss.security.role-names.user-role') et ADMIN (propriété 'ambss.security.role-names.admin-role')

Corps de la requête

Message au format JSON décrivant les paramètres d'arrêt du souscripteur. Ces paramètres dépendent de la fabrique et du courtier associés au souscripteur.

Kafka

Aucun paramètres (objet JSON vide). Voir la propriété 'config/brokerConfig/subscribeTopic/stopImmediate' pour le comportement d'arrêt du souscripteur natif.

MQTT v3

Aucun paramètres (objet JSON vide).

MQTT v5

Aucun paramètres (objet JSON vide).

Nats Jetstream

closeAfterBatch

Booléen. Valeur par défaut : "false". Equivalent de l'ordre BRK_REPONSE '*STOP_AFTER_BATCH'           

Nats Streaming

closeDurable

Booléen. Valeur par défaut : "false". Equivalent de l'ordre BRK_REPONSE '*STOP_DURABLE'                      

RabbitMQ AMQP

Aucun paramètres (objet JSON vide). 

Redis Pub/Sub

Aucun paramètres (objet JSON vide).

Code de la réponse

  • 200 (OK) : L'opération a réussi.

  • 404 (Not Found) : Le souscripteur d'identifiant <id_subscriber> n'existe pas.

  • 405 (Method Not Allowed) : Le souscripteur d'identifiant <id_subscriber> n'a pas pu être démarré car il n'est pas dans le bon état (état "démarré").

  • 500 (Internal server error) : Une erreur interne s'est produite.

Corps de la réponse

En cas de succès (code 200), description du souscripteur d'identifiant <id_subscriber> dans sa forme déduite au format JSON ; objet JSON détaillant l'erreur sinon.


Lecture

Plusieurs opérations de lecture permettent de récupérer de l'information sur les souscripteurs.

Lecture d'un souscripteur

Méthode HTTP

GET

URL

http://<port_number>/ambss/v1/ subscribers /<id_subscriber>

Rôles

USER (propriété 'ambss.security.role-names.user-role') et ADMIN (propriété 'ambss.security.role-names.admin-role')

Code de la réponse

  • 200 (OK) : L'opération a réussi.

  • 404 (Not Found) : Le souscripteur d'identifiant <id_subscriber> n'existe pas.

  • 500 (Internal server error) : Une erreur interne s'est produite.

Corps de la réponse

En cas de succès (code 200), description du souscripteur d'identifiant <id_subscriber> dans sa forme déduite au format JSON ; objet JSON détaillant l'erreur sinon.


Liste des souscripteurs

Cette méthode permet de récupérer l'ensemble des souscripteurs créés, en appliquant optionnellement des filtres de recherche.

Méthode HTTP

GET

URL

http://<port_number>/ambss/v1/ subscribers

Rôles

USER (propriété 'ambss.security.role-names.user-role') et ADMIN (propriété 'ambss.security.role-names.admin-role')

Paramètres dans l'URL

  • id : Pattern (expression régulière) d'identifiant de souscripteur,

  • adeliaPoolName : Pattern (expression régulière) de nom de pool de connections Adélia,

  • factory.id : Pattern (expression régulière) d'identifiant de fabrique contenue dans la description du souscripteur,

  • adeliaPgm.objectFileName : Pattern (expression régulière) du nom de fichier objet issu de la génération L3G du programme EADELIA contenu dans la description du souscripteur,

  • adeliaPgm.javaPackage : Pattern (expression régulière) du nom du package Java défini pour la génération L3G du programme EADELIA associé contenu dans la description du souscripteur,

  • adeliaPgm.customObjectMapper : Pattern (expression régulière) de l'identifiant du Java Bean définit dans le fichier beans-context.xml permettant de configurer les propriétés de transformation d'objet JSON en instance de classe Adélia contenu dans la description du souscripteur,

  • state.code : Etat du souscripteur,

Exemple :

http://<port_number>/ambss/v1/ subscribers ?id=sensor.*&adeliaPgm.objectFileName=EAP\d+&state.code=2

Code de la réponse

  • 200 (OK) : L'opération a réussi.

  • 404 (Not Found) : Le souscripteur d'identifiant <id_subscriber> n'existe pas.

  • 500 (Internal server error) : Une erreur interne s'est produite.

Corps de la réponse

En cas de succès (code 200), liste au format JSON des descriptions des souscripteurs (dans leur forme déduite) satisfaisant les critères des filtres appliqués ; objet JSON détaillant l'erreur sinon.


Liste des configurations associées à un souscripteur

Méthode HTTP

GET

URL

http://<port_number>/ambss/v1/subscribers/<id_subscriber>/configurations

Rôles

USER (propriété 'ambss.security.role-names.user-role') et ADMIN (propriété 'ambss.security.role-names.admin-role')

Code de la réponse

  • 200 (OK) : L'opération a réussi.

  • 404 (Not Found) : Le souscripteur d'identifiant <id_subscriber> n'existe pas.

  • 500 (Internal server error) : Une erreur interne s'est produite.

Corps de la réponse

En cas de succès (code 200), liste au format JSON des configurations référencées par le souscripteur d'identifiant <id_subscriber> ; objet JSON détaillant l'erreur sinon.

Etat d'un souscripteur

Lorsqu'un souscripteur est créé, l'AMBSS lui associe, dans sa description, un état (objet de nom "state"). Il apparait lors de l'utilisation des API de lecture des souscripteurs. L'état est constitué des informations suivantes :

Nom

Type

Description

code

Entier parmi 1, 2 ou 3

Etat du souscripteur :

  • STOP (1) : Le souscripteur est à l'arrêt.

  • START (2) : Le souscripteur est démarré.

  • DELETE (3) : Le souscripteur est supprimé.

internalCode

Entier allant de 21 à 26

Etat interne du souscripteur :

  • init (21) : Etat initial à la création du souscripteur

  • idle (22) : Etat d'inaction du souscripteur

  • on_start (23) : Etat lors du traitement de l'événement on_start

  • on_message (24) : Etat lors du traitement de l'événement on_message

  • on_error (25) : Etat lors du traitement de l'événement on_error

  • on_stop (26) : Etat lors du traitement de l'événement on_stop

errorCode

Entier

Code d'erreur lorsque le souscripteur est dans l'état interne on_error (25)

errorMessage

Alphanumérique

Libellé du code d'erreur (errorCode)


Ci-après la liste des codes d'erreur possibles pour un souscripteur :

Numéro d'erreur

Libellé d'erreur

Arrêt immédiat

-101

La classe Java de la fabrique est introuvable.

Oui

-102

La classe Java de la fabrique n'implémente pas la bonne interface ni n'hérite de la bonne classe.

Oui

-103

Erreur lors de l'obtention du constructeur de la fabrique.

Oui

-104

Erreur lors de la création de l'instance de la fabrique.

Oui

-105

La méthode statique 'getFactory' est introuvable dans la classe de la fabrique.

Oui

-106

Erreur lors de l'appel à la méthode 'getFactory' de la classe de la fabrique.

Oui

-107

La méthode statique 'getFactory' doit retourner une instance du bon type.

Oui

-108

La propriété customObjectMapper ne correspond pas a un identificateur de bean existant.

Oui

Numéro d'erreur

Libellé d'erreur

Arrêt immédiat

-301

Erreur lors de la validation de la configuration de la connexion au courtier.

Oui

-302

Erreur lors de la validation de la configuration d'abonnement aux sujets.

Oui

-401

Erreur lors de la création du pattern de topics.

Oui

-402

Erreur lors du lancement du programme EADELIA.

Oui

-403

Erreur lors du traitement de l'événement ON_START : accusé de réception négatif renvoyé.

Oui

-404

Erreur lors de la création de la configuration du consumer Kafka à partir de la configuration de la connexion du courtier.

Oui

-501

Erreur lors de la conversion d'un pojo Avro en pojo Adélia.

Non

Numéro d'erreur

Libellé d'erreur

Arrêt immédiat

-301

Erreur lors de la validation de la configuration de la connexion au courtier.

Oui

-302

Erreur lors de la validation de la configuration d'abonnement aux sujets du courtier.

Oui

-401

Erreur lors de la création des options de connexion Paho MQTTv3 à partir de la configuration de la connexion du courtier.

Oui

-402

Erreur lors de la création du client Paho MQTTv3 à l'aide des options.

Oui

-403

Erreur lors de la connexion du client Paho MQTTv3 au courtier.

Oui

-404

Erreur lors de l'abonnement du client Paho MQTTv3 aux rubriques.

Oui

-405

Erreur lors du lancement du programme EADELIA.

Oui

-406

Erreur lors du traitement de l'événement ON_START : accusé de réception négatif renvoyé.

Oui

-501

Connexion au courtier perdue.

Oui / Non

-502

Erreur lors de la déconnexion forcée du client Paho MQTTv3.

Oui

-503

Erreur lors de la fermeture du client Paho MQTTv3.

Oui

Numéro d'erreur

Libellé d'erreur

Arrêt immédiat

-301

Erreur lors de la validation de la configuration de la connexion au courtier.

Oui

-302

Erreur lors de la validation de la configuration d'abonnement aux sujets du courtier.

Oui

-401

Erreur lors de la création des options de connexion Paho MQTTv5 à partir de la configuration de la connexion du courtier.

Oui

-402

Erreur lors de la création du client Paho MQTTv5 à l'aide des options.

Oui

-403

Erreur lors de la connexion du client Paho MQTTv5 au courtier.

Oui

-404

Erreur lors de l'abonnement du client Paho MQTTv5 aux rubriques.

Oui

-405

Erreur lors du lancement du programme EADELIA.

Oui

-406

Erreur lors du traitement de l'événement ON_START : accusé de réception négatif renvoyé.

Oui

-501

Connexion au courtier perdue.

Oui / Non

-502

Erreur lors de la déconnexion forcée du client Paho MQTTv5.

Oui

-503

Erreur lors de la fermeture du client Paho MQTTv5.

Oui

Numéro d'erreur

Libellé d'erreur

Arrêt immédiat

-301

Erreur lors de la validation de la configuration de la connexion au courtier.

Oui

-302

Erreur lors de la validation de la configuration d'abonnement aux sujets.

Oui

-401

Erreur lors de la création des options de connexion Nats à partir de la configuration de la connexion du courtier.

Oui

-402

Erreur lors de la création de la connexion Nats à l'aide des options de connexion.

Oui

-403

Erreur lors de la création des options de souscription JetStream à partir de la configuration de souscription aux rubriques.

Oui

-404

Erreur lors de la création du contexte JetStream.

Oui

-405

Erreur lors de la création des options de contexte JetStream à partir de la configuration de connexion du courtier.

Oui

-406

Erreur lors de la souscription aux rubriques du courtier JetStream.

Oui

-407

Erreur lors du lancement du programme EADELIA.

Oui

-408

Erreur lors du traitement de l'événement ON_START : accusé de réception négatif renvoyé.

Oui

-501

Erreur lors du désabonnement à la souscription aux rubriques du courtier JetStream.

Oui

-502

Erreur lors de la fermeture de la connexion Nats au courtier.

Oui

Numéro d'erreur

Libellé d'erreur

Arrêt immédiat

-301

Erreur lors de la validation de la configuration de la connexion au courtier.

Oui

-302

Erreur lors de la validation de la configuration d'abonnement aux sujets.

Oui

-401

Erreur lors de la création des options de connexion Stan à partir de la configuration de la connexion du courtier.

Oui

-402

Erreur lors de la création de la connexion Stan à l'aide de StreamingConnectionFactory.

Oui

-403

Erreur lors de la création des options d'abonnement Stan à partir de la configuration de souscription aux rubriques.

Oui

-404

Erreur lors du lancement du programme EADELIA.

Oui

-405

Erreur lors du traitement de l'événement ON_START : accusé de réception négatif renvoyé.

Oui

-501

La connexion au courtier Stan a été perdue.

Oui

-502

Erreur lors de la fermeture de la souscription aux rubriques du courtier.

Oui

-503

Erreur lors de la fermeture de la connexion au courtier.

Oui

Numéro d'erreur

Libellé d'erreur

Arrêt immédiat

-301

Erreur lors de la validation de la configuration de la connexion au courtier.

Oui

-302

Erreur lors de la validation de la configuration d'abonnement aux sujets du courtier.

Oui

-401

Erreur lors de la configuration de la connexion SSL : exception de gestion des clés pour toutes les opérations traitant de la gestion des clés.

Oui

-402

Erreur lors de la création de la connexion AMQP.

Oui

-403

Erreur lors de la création du canal AMQP.

Oui

-404

Erreur lors de la déclaration passive de la file d'attente.

Oui

-405

Erreur lors de la déclaration de la file d'attente.

Oui

-406

Erreur lors de la consommation de base dans la file d'attente.

Oui

-407

Erreur lors de l'appel channel.basicQos.

Oui

-408

Erreur lors de la déclaration passive de l'échangeur.

Oui

-409

Erreur lors de la déclaration de l'échangeur.

Oui

-410

Erreur lors Erreur lors de la liaison de la file d'attente.

Oui

-411

Erreur lors du lancement du programme EADELIA.

Oui

-412

Erreur lors du traitement de l'événement ON_START : accusé de réception négatif renvoyé.

Oui

-413

Erreur lors de la création des options de connexion RabbitMQ à partir de la configuration de la connexion du courtier.

Oui

-501

Erreur lors de la fermeture du canal.

Oui

-502

Erreur lors de la fermeture de la connexion.

Oui

-503

Fermeture de la connexion non déclenchée par l'application.

Oui

-504

Le souscripteur a été annulé par le courtier.

Oui

Numéro d'erreur

Libellé d'erreur

Arrêt immédiat

-301

Erreur lors de la validation de la configuration de la connexion au courtier.

Oui

-302

Erreur lors de la validation de la configuration d'abonnement aux rubriques.

Oui

-401

Erreur lors de la création de l'URI Redis à partir de la configuration de connexion au courtier.

Oui

-402

Erreur lors de la création de l'objet options ClientOptions / ClusterClientOptions à partir de la configuration de connexion au courtier.

Oui

-403

Erreur lors de la création de la connexion Pub / Sub au courtier Redis.

Oui

-404

Erreur lors de l'abonnement aux canaux et modèles du courtier.

Oui

-405

Erreur lors du lancement du programme EADELIA.

Oui

-406

Erreur lors du traitement de l'événement ON_START : accusé de réception négatif renvoyé.

Oui

-501

Erreur lors de la fermeture de la connexion au courtier Redis.

Oui

-502

Erreur lors de la fermeture du client Redis.

Oui

-503

Fermeture du client Redis Lettuce due à une perte de la connexion au courtier.

Oui

-504

Fermeture du client Redis Lettuce due à une erreur dans la communication avec le courtier.

Oui

Mise à jour d'un souscripteur

Méthode HTTP

PUT

URL

http://<port_number>/ambss/v1/subscribers/<id_subscriber>

Rôles

ADMIN (propriété 'ambss.security.role-names.admin-role')

Paramètres de l'URL

  • write : Entier (0 ou 1). Permet pour cette requête d'outrepasser la valeur de la propriété 'ambss.subscribers.writer' et d'imposer la sauvegarde ou la non sauvegarde de la configuration créée (valeur 0 pour ne pas sauvegarder ; 1 pour sauvegarder).

Code de la réponse

  • 204 (No Content) : L'opération a réussi.

  • 400 (Bad Request) : La syntaxe de la description du souscripteur au format JSON est incorrecte ou le souscripteur fait référence à une configuration inconnue.

  • 404 (Not Found) : Le souscripteur d'identifiant <id_subscriber> n'existe pas.

  • 405 (Method Not Allowed) : La description du souscripteur d'identifiant <id_subscriber> n'a pas pu être mise à jour car celui-ci n'est pas dans le bon état (état "arrêté").

  • 500 (Internal server error) : Une erreur interne s'est produite.

Corps de la réponse

Aucune réponse en cas de succès (code 204) ; objet JSON détaillant l'erreur sinon.


Suppression d'un souscripteur

Méthode HTTP

DELETE

URL

http://<port_number>/ambss/v1/subscribers/<id_subscriber>

Rôles

ADMIN (propriété 'ambss.security.role-names.admin-role')

Paramètres de l'URL

  • write : Entier (0 ou 1). Permet pour cette requête d'outrepasser la valeur de la propriété 'ambss.subscribers.writer' et d'imposer la sauvegarde ou la non sauvegarde de la configuration créée (valeur 0 pour ne pas sauvegarder ; 1 pour sauvegarder).

Code de la réponse

  • 204 (No Content) : L'opération a réussi.

  • 404 (Not Found) : Le souscripteur d'identifiant <id_subscriber> n'existe pas.

  • 405 (Method Not Allowed) : Le souscripteur d'identifiant <id_subscriber> n'a pas pu être supprimé car il n'est pas dans le bon état (état "arrêté").

  • 500 (Internal server error) : Une erreur interne s'est produite.

Corps de la réponse

Aucune réponse en cas de succès (code 204) ; objet JSON détaillant l'erreur sinon.

↑ Haut de page

Authentification d'accès aux services REST

Lors de l'utilisation de l'AMBSS en développement (via les scripts ambss-dev.<bat/sh>), l'authentification est désactivée.

Lors de l'utilisation de l'AMBSS en production (via les scripts ambss.<bat/sh>), l'authentification est activée par défaut. Pour la désactiver, il faut fixer la propriété 'ambss.security.enabled' à "false" dans le fichier de configuration application.yml.


Une section indique comment configurer l'authentification d'accès. Elle se fait via l'utilisation d'un jeton JWT. Celui-ci doit définir un des deux rôles possibles pour exécuter les services REST (rôle utilisateur ou rôle administrateur).


Jeu d'exemples

L'AMBSS offre un support de test des API dans le cadre d'exemples d'utilisation (courtier MQTT). Il est nécessaire d'avoir des connaissances dans l'utilisation d'un client REST, comme Insomnia ou Postman par exemple.


↑ Haut de page

  • Aucune étiquette