ProducteurV2 - Dans le champ d’application
L’API ProducerV2 fournit des méthodes pour publier des messages de votre ServiceNow instance vers une rubrique Kafka.
sn_ih_kafka .ProducerV2 : send(String topicSysID, clé de chaîne, message de chaîne, booléen isSync, en-têtes d’objets, schemaID de chaîne)
Envoie le message spécifié à la rubrique Kafka spécifiée.
| Nom | Type | Description |
|---|---|---|
| topicSysID | Chaîne | Sys_id de la rubrique dans laquelle publier le message. Les rubriques sont stockées dans la table Rubriques Kafka [sys_kafka_topic]. |
| key | Chaîne | Nom de la clé d’une partition spécifique dans la rubrique. |
| message | Chaîne | Texte du message. |
| isSync | Booléen | Marqueur indiquant s’il faut exiger du script qu’il attende la fin de la méthode d’envoi avant de continuer. Valeurs valides :
|
| en-têtes | Objet | En-têtes du message, définis sous forme de paires clé-valeur. Par exemple, var headers = { « origin » : « sn_business_rule » } ;
|
| ID du schéma | Chaîne | Sys_id de l’enregistrement de schéma. Requis si vous utilisez un schéma pour convertir des messages en texte brut en messages Avro et inversement. Les schémas sont stockés dans la table Schémas de connexion au flux [stream_connect_schema]. Pour plus d'informations, consultez Schema management in Stream Connect. |
| Propriété de l’objet | Description |
|---|---|
| livraison | Livraison de producteur Kafka. Reflète la valeur définie pour le isSync paramètre. Valeurs possibles :
Type de données : chaîne |
| décalage | Le décalage du message dans la partition de la rubrique dans Hermes Kafka. Cette valeur n’est renvoyée que pour une remise synchrone. Type de données : nombre |
| partition | Partition de la rubrique dans laquelle le message est stocké. Cette valeur n’est renvoyée que pour une remise synchrone. Type de données : nombre |
Livraison asynchrone
Cet exemple montre comment envoyer des informations d’incident modifiées à la rubrique Kafka avec une sys_id de 75135aa2ff0311105cf343d0653bf155, à l’aide d’un schéma avec une sys_id de f9d083f3ff610210ef7343d3653bf12e.
var message = {
'number': current.number.toString(),
'short_description': current.short_description.toString(),
'caller_id': current.caller_id.getDisplayValue(),
'priority': current.priority.toString(),
'state': current.state.toString()
};
var headers = {
'origin': 'sn_business_rule'
};
var producer = new sn_ih_kafka.ProducerV2();
producer.send('75135aa2ff0311105cf343d0653bf155', gs.generateGUID(), JSON.stringify(message), false, headers, 'f9d083f3ff610210ef7343d3653bf12e');
Livraison synchrone
Cet exemple montre comment obtenir les valeurs de retour d’un message Kafka.
var message = "Defect fix";
var producer = new sn_ih_kafka.ProducerV2();
var response = producer.send('63820c0e1b492210dcff64e5604bcb93', gs.generateGUID(), JSON.stringify(message), true, null);
gs.log("Partition was "+response.partition);
gs.log("Offset was :"+response.offset);
gs.log("Delivery was :"+response.delivery);
*** Script: Partition was 1
*** Script: Offset was :258072
*** Script: Delivery was :sync