subscription

Sommaire
casp1042
Utilisez la ressource Subscription (Abonnement) pour créer ou pour récupérer des abonnements. Un
abonnement
est une demande de notification d'activité sur l'un des éléments suivants :
  • Types/attributs de modèle. Enregistre les contrôles de création/suppression des types de modèle, ainsi que les changements d'attribut sur ces types.
    Les abonnements ModelType permettent de contrôler les nouveaux modèles.
  • Modèles/attributs. Enregistre les contrôles de certains modèles et les changements d'attributs associés.
  • Alarmes/attributs. Enregistre les contrôles de création/suppression d'alarme et les changements d'attributs.
  • Base URL (URL de base)
    http://<hostname><:portnumber>/spectrum/restful/subscription
POST subscription
POST subscription (PUBLIER un abonnement) crée une abonnement. Les abonnements sont de type
pull
ou
push
. Un abonnement
pull
nécessite que le client interroge l'ID d'abonnement, tandis qu'un abonnement
push
nécessite que le client fournisse une URL vers laquelle les notifications peuvent être publiées. Les notifications contiennent des informations de modification au format XML ou JSON.
Les abonnements push sont utiles lorsque le client d'intégration est un autre serveur OneClick.
  • URL
    http://<hostname><:portnumber>/spectrum/restful/subscription
  • HTTP Method (Méthode HTTP)
    POST
  • Body (Corps)
    Utilise Request.xsd:subscription-request. Le fichier Request.xsd se trouve sous <
    $SPECROOT
    >/RestfulExamples/src/xsd.
    Pour des exemples de code XML d'abonnement, reportez-vous aux éléments suivants :
    • Dans <
      $SPECROOT
      >/RestfulExamples/xml/Alarms :
      • PullAlarmsSubscription.xml
    • Dans <
      $SPECROOT
      >/RestfulExamples/xml/Models
      • PullAttrWatchForAllDevices.xml
    • Dans <
      $SPECROOT
      >/RestfulExamples/xml/MTypes :
      • PullWatchForNewMTypes.xml
      • PushWatchForNewMTypes.xml
      • PushWatchForNewMTypesBatchMode.xml
      • PushWatchForNewMTypesNoExpiration.xml
  • Body Content (Contenu du corps)
    application/xml, application
  • Header (En-tête)
    application/xml, application/json
  • Output (Sortie)
    XML ou JSON indiquant l'ID d'abonnement
    • subscription-id
      Identifie l'abonnement. Cette valeur est utilisée avec GET subscription (OBTENIR un abonnement) et DELETE subscription (SUPPRIMER un abonnement), et expire s'il n'est pas utilisé.
Body Parameters (Paramètres du corps)
Les paramètres suivants sont utilisés dans le fichier XML du corps de la demande d'abonnement.
  • Pour les abonnements pull :
    • max-notifications
      Spécifie le nombre d'éléments de notification.
      Valeur par défaut :
      100
    • max-queue-size
      Spécifie le nombre de notifications dans la file d'attente.
      Valeur par défaut :
      10 000
    • pull-interval
      Spécifie la fréquence d'interrogation en millisecondes.
      Les abonnements expirent s'ils ne sont pas interrogés.
      Minimum :
      5 000
    Si vous prévoyez une fréquence élevée de notifications, vous pouvez prendre en charge de nombreuses notifications dans la file d'attente en augmentant la valeur
    max-queue-size
    . En même temps, pour éviter une file d'attente complète, augmentez la valeur
    max-notifications
    afin d'extraire davantage de notifications lors de chaque interrogation. Pour vider la file d'attente plus rapidement, réduisez la valeur
    pull-interval
    .
    Pour une demande POST Subscription contenant plusieurs valeurs InstanceRequest (par exemple, différents modèles GC dans le corps), allouez une taille de pool de thread (ThreadPoolSize), afin que ces demandes d'instance individuelles puissent être traitées en parallèle par des threads individuels. La valeur par défaut est 20 et elle doit être suffisante. Vous pouvez définir la valeur ThreadPoolSize dans le fichier OneClickService.conf (Windows) ou catalina.sh (non Windows), en ajoutant la propriété suivante dans jvm_opts :
    restful.subscription.ThreadPoolSize=<int-value>
  • Pour les abonnements push :
    • destination-url
      Spécifie l'URL vers laquelle les notifications sont publiées.
      Un servlet de notification de test a été généré pour imprimer les résultats dans le journal tomcat de
      DX NetOps Spectrum
      . Ce servlet est installé avec
      DX NetOps Spectrum
      et aucune configuration supplémentaire n'est requise. Pour utiliser le servlet, définissez la valeur destination-url sur :
      http://<hostname><:portnumber>/spectrum/restful/TestNotifications
      Chaque fois qu'une notification est reçue, elle est imprimée dans le journal tomcat de
      DX NetOps Spectrum
      , comme suit :
      • Pour Windows : <
        $SPECROOT
        >/tomcat/logs
      • Pour Linux : <
        $SPECROOT
        >/tomcat/logs/catalina.out
    • username
      Spécifie le nom d'utilisateur requis par l'URL de destination.
    • password
      Spécifie le mot de passe requis par l'URL de destination.
    • batch-notifications
      • max-notifications
        Spécifie le nombre de notifications par lot. Si ce nombre est atteint, la notification est envoyée immédiatement.
        Valeur par défaut :
        100
      • max-time
        Spécifie le temps d'attente en millisecondes avant l'envoi des notifications. Si ce nombre est atteint, les notifications sont envoyées immédiatement.
        Valeur par défaut :
        1 000
    • heartbeat-interval
      Spécifie l'intervalle en millisecondes pendant lequel l'abonnement est validé. Le servlet d'abonnement envoie un message à chaque intervalle de pulsation au servlet récepteur (désigné par l'URL de destination) pour indiquer que l'abonnement est actif. Si le servlet de réception cesse de recevoir le message de signal d'activité, il sait que l'abonnement s'est arrêté (par exemple, en cas d'arrêt ou de redémarrage du serveur OneClick). Si le servlet de réception devient indisponible, les notifications s'arrêtent.
      Le servlet TestNotifications n'imprime pas le message de signal d'activité.
Exemple
Voici un exemple d'extrait d'enregistrement d'abonnement :
<rs:destination-url>http://<hostname><:portnumber>/spectrum/restful/TestNotifications</rs:destination-url> <rs:username><user></rs:username> <rs:password><password></rs:password>
Voici un exemple d'appel Java :
Java GenericPoster noun=Models file= RestfulExamples/xml/Models/PullAttrWatchForAllDevices.xml server=localhost username=jdoe password=spectrum port=8080
GET Subscription
Utilisez GET Subscription pour renvoyer un fichier XML décrivant tous les changements qui vous intéressent en fonction de la demande d'abonnement initiale.
GET subscription s'applique uniquement au modèle extrait.
  • URL
    http://<hostnumber><:portnumber>/spectrum/restful/subscription/<subscription_ID>
  • HTTP Method (Méthode HTTP)
    GET
  • Body (Corps)
    Aucun
  • Body Content (Contenu du corps)
    application/xml, application
  • Header (En-tête)
    application/xml, application/json
URL Parameters (Paramètres d'URL)
  • subscription_ID
    Spécifie l'ID d'abonnement. Cette valeur est renvoyée à partir de la demande d'abonnement d'origine (POST subscription) ou de GET subscription/requests. Elle est utilisée pour obtenir l'ensemble des modifications depuis la dernière demande.
GET subscription/requests
Utilisez GET subscription/requests pour renvoyer une chaîne des abonnements actifs actuels. Cette demande est principalement utilisée à des fins de débogage ou de vérification pour déterminer si un modèle, un type ou un attribut particulier est enregistré pour la notification.
Pour extraire le modèle réel, le type de modèle et les changements d'attributs, consultez la section GET Subscription.
  • URL
    http://<hostname><:portnumber>/spectrum/restful/subscription/requests
  • HTTP Method (Méthode HTTP)
    GET
  • Body (Corps)
    Aucun
  • Body Content (Contenu du corps)
    application/xml, application
  • Header (En-tête)
    application/xml, application/json
  • Output (Sortie)
    Page HTML répertoriant l'ID d'abonnement et d'autres informations associées à l'abonnement pour chaque abonnement actif actuel
    • subscription-id
      Identifie un abonnement. Cette valeur est utilisée avec GET subscription et DELETE subscription.
DELETE subscription
DELETE subscription supprime l'abonnement spécifié.
  • URL
    http://<hostname><:portnumber>/spectrum/restful/subscription/<subscription_ID>
  • HTTP Method (Méthode HTTP)
    DELETE
  • Body (Corps)
    Aucun
  • Body Content (Contenu du corps)
    application/xml, application
  • Header (En-tête)
    application/xml, application/json
URL Parameters (Paramètres d'URL)
  • subscription_ID
    Spécifie l'abonnement à supprimer. Cette valeur est renvoyée à partir de la demande d'abonnement d'origine (POST subscription) ou de GET subscription/requests.