The createKafkaEventForwarder() GraphQL mutation field may be used to cCreate a Kafka event forwarder and return it.

For more information on event forwarders, see the Event Forwarders documentation page. You may also want to look at the Event Forwarding and the Events page for related information.

Syntax

Below is the syntax for the createKafkaEventForwarder() mutation field:

graphql
createKafkaEventForwarder(
      input: CreateKafkaEventForwarder!
   ): KafkaEventForwarder!

Below is an example of how this mutation field might be used:

Raw
graphql
mutation {
  createKafkaEventForwarder(input: 
    { name: "kafka-forwarder",
      description: "Kafka Forwarder",
      properties: "bootstrap.servers=localhost:3456 \n
                   batch.size=100",
      topic: "hot-potatoes",
      enabled: false
    } )
  { id }
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { id }
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { id }
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  createKafkaEventForwarder(input:  ^
    { name: \"kafka-forwarder\", ^
      description: \"Kafka Forwarder\", ^
      properties: \"bootstrap.servers=localhost:3456 \n ^
                   batch.size=100\", ^
      topic: \"hot-potatoes\", ^
      enabled: false ^
    } ) ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { id }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $INGEST_TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $json = '{"query" : "mutation {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { id }
}"
}';
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { id }
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  createKafkaEventForwarder(input: 
    { name: \"kafka-forwarder\",
      description: \"Kafka Forwarder\",
      properties: \"bootstrap.servers=localhost:3456 \n
                   batch.size=100\",
      topic: \"hot-potatoes\",
      enabled: false
    } )
  { id }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL/graphql',
  path: '/graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();

Given Datatypes

For createKafkaEventForwarder(), there are a few parameters that may be given. Below is a list of them along with descriptions of each:

Table: CreateKafkaEventForwarder

ParameterTypeRequiredDefaultDescription
Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column.
Table last updated: Sep 17, 2024
descriptionstringyes Description of the event forwarder.
enabledbooleanyes Whether the event forwarder is enabled.
namestringyes Name of the event forwarder.
propertiesstringyes The Kafka producer configuration used to forward events in the form of properties (x.y.z=abc). See Kafka Configuration.
topicLanguageVersionEnumyes The Kafka topic to which the events should be forwarded. See LanguageVersionEnum.

Returned Datatypes

ForKafkaEventForwarder, there are a few parameters. Below is a list of them:

Table: KafkaEventForwarder

ParameterTypeRequiredDefaultDescription
Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column.
enabledbooleanyes Whether the event forwarder is enabled.
descriptionstringyes The description of the event forwarder.
idstringyes The unique identifier of the event forwarder.
namestringyes The name of the event forwarder.
propertiesstringyes The Kafka producer configuration used to forward events in the form of properties (x.y.z=abc). See Kafka Configuration.
topicstringyes The Kafka topic where the events should be forwarded.