Я развернул Kafka на сервере Heroku. Проблема в том, что я подключаюсь к серверу Kafka на Heroku. Подключение установлено успешно, и я вижу все доступные мне темы на сервере Heroku. Но когда я пытаюсь создать сообщение по одной из тем. Выдает ошибку {"level":"ERROR","timestamp":"2024-08-20T14:52:25.903Z","logger":"kafkajs","message":"[Connection] Response Metadata(key: 3, version: 6)","broker":"MY_BROKER","clientId":"MY_CLIENT_ID","error":"Нет прав доступа к темам: [Ошибка авторизации темы]","correlationId":1,"size":627}
Вот как я создаю клиента
Вот code, где он выдает ошибку
Лог "Подключение успешно установлено" регистрируется, а затем происходит сбой на Producer.send()
kafka = new Kafka(
{
clientId: "deanon-tool",
brokers: [
"ec2-54-77-1-249.eu-west-1.compute.amazonaws.com:9096",
"ec2-54-72-228-10.eu-west-1.compute.amazonaws.com:9096",
"ec2-52-48-167-48.eu-west-1.compute.amazonaws.com:9096",
"ec2-34-246-78-10.eu-west-1.compute.amazonaws.com:9096",
"ec2-34-242-239-67.eu-west-1.compute.amazonaws.com:9096",
"ec2-34-246-81-10.eu-west-1.compute.amazonaws.com:9096",
"ec2-34-246-80-221.eu-west-1.compute.amazonaws.com:9096",
"ec2-52-214-17-78.eu-west-1.compute.amazonaws.com:9096",
],
ssl: {
rejectUnauthorized: false,
ca: [fs.readFileSync("./ca-cert.pem", "utf-8")],
key: fs.readFileSync("./client-key.pem", "utf-8"),
cert: fs.readFileSync("./client-cert.pem", "utf-8"),
},
});
public async testConnection(topic: string): Promise<void> {
const producer = this.kafka.producer();
console.log("Topic", topic);
try {
console.log("Connecting to Kafka...");
await producer.connect();
console.log("Connected successfully. Attempting to send a test message...");
await producer.send({
topic: topic,
messages: [{ value: "Test message" }],
});
console.log("Test message sent successfully");
} catch (error) {
console.error("Error during Kafka test:", error);
} finally {
await producer.disconnect();
}
}