ProdutorV2 - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • . ProdutorV2 A API fornece métodos para publicar mensagens do seu ServiceNow Instância para um tópico do Kafka.

    Nota:
    Esta API requer um Stream Connect assinatura. Para obter mais informações, consulte https://www.servicenow.com/now-platform/workflow-data-fabric.html.
    Esta API requer ServiceNow Plug-in do Stream Connect Installer (com.glide.hub.stream_connect.installer) e é executado no 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.

    Tabela 1. Parâmetros
    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:
    • Verdadeiro: Aguarde a conclusão da etapa antes de continuar o fluxo associado.
    • Falso: Não aguarde a conclusão da etapa antes de continuar o fluxo associado.
    cabeçalhos Objeto Cabeçalhos da mensagem, definidos como pares de chave-valor.
    "headers": {
      "<key>": "<value>"
    }
    Por exemplo, "origem": "sn_business_rule";
    • chave Cadeia de caracteres. Nome do cabeçalho.
    • valor Cadeia de caracteres. Valor do cabeçalho.
    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.

    Tabela 2. Retornos
    Propriedade do objeto Descrição
    entrega Entrega do produtor Kafka. Reflete o valor definido para isSyncparâmetro.
    Valores possíveis:
    • Async - Entrega assíncrona
    • Entrega síncrona - Entrega síncrona

    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);
    Saída:
    *** Script: Partition was 1
    *** Script: Offset was :258072
    *** Script: Delivery was :sync