ProdutorV2 - Com escopo
. ProdutorV2 A API fornece métodos para publicar mensagens do seu ServiceNow Instância para um tópico do Kafka.
sn_ih_kafka namespace.ProducerV2 - send(String topicSysID, Chave de cadeia de caracteres, Mensagem de cadeia de caracteres, IsSync booliano, Cabeçalhos de objeto, schemaID de cadeia de caracteres)
Envia a mensagem especificada para o tópico do Kafka especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| TopicSySID | Cadeia de caracteres | Sys_id do tópico para publicar a mensagem. Os tópicos são armazenados na tabela Tópicos do Kafka [sys_kafka_topic]. |
| chave | Cadeia de caracteres | Nome da chave de uma partição específica no tópico. |
| mensagem | Cadeia de caracteres | Texto da mensagem. |
| IsSync | Booliano | Sinalizador que indica se o script deve aguardar a conclusão do método de envio antes de continuar. Valores válidos:
|
| cabeçalhos | Objeto | Cabeçalhos da mensagem, definidos como pares de chave-valor. Por exemplo, "origem": "sn_business_rule";
|
| ID do esquema | Cadeia de caracteres | Sys_id do registro do esquema. Necessário se você estiver usando um esquema para converter mensagens de texto sem formatação em mensagens Avro e vice-versa. Os esquemas são armazenados na tabela Esquemas de conexão de fluxo [stream_connect_schema]. Para obter mais informações, consulte Schema management in Stream Connect. |
| Propriedade do objeto | Descrição |
|---|---|
| entrega | Entrega do produtor Kafka. Reflete o valor definido para isSyncparâmetro. Valores possíveis:
Tipo de dados: Cadeia de caracteres |
| deslocamento | O deslocamento da mensagem na partição do tópico no Hermes Kafka. Este valor só é retornado para entrega síncrona. Tipo de dados: Número |
| partição | Partição do tópico no qual a mensagem está armazenada. Este valor só é retornado para entrega síncrona. Tipo de dados: Número |
Entrega assíncrona
Este exemplo mostra como enviar informações de incidente alteradas para o tópico Kafka com um sys_id de 75135aa2ff0311105cf343d0653bf155, usando um esquema com um sys_id de f9d083f3f3ff610210ef7343d3653bf12e.
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');
Entrega síncrona
Este exemplo mostra como obter os valores de retorno de uma mensagem do 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