Ошибка при отправке сообщений из Ditto в Kafka
Я успешно соединил Eclipse Ditto и Kafka. Я пытаюсь отправить данные через Eclipse Hono в Ditto. То же самое успешно получает данные. Но потребитель Kafka не получает никаких потоков данных.
Пожалуйста, найдите команду curl, которую я использовал:
curl -X POST -i -u devops:foobar -H 'Content-Type:
application/json' -d '{
"targetActorSelection": "/system/sharding/connection",
"headers": {
"aggregate": false
},
"piggybackCommand": {
"type": "connectivity.commands:createConnection",
"connection": {
"id": "MyKafkaConnection100",
"connectionType": "kafka",
"connectionStatus": "open",
"uri": "tcp://radsah:confirmmm@srvgal89.deri.ie:9092",
"specificConfig": {
"bootstrapServers": "srvgal89.deri.ie:9092",
"saslMechanism": "plain"
},
"failoverEnabled": true,
"targets": [
{
"address": "digital-twins",
"topics": [
"_/_/things/twin/events",
"_/_/things/live/messages"
],
"authorizationContext": ["nginx:ditto"]
}],
"mappingContext": {
"mappingEngine": "Java",
"options": {
"incoming": "function mapToDittoProtocolMsg(\n headers,\n textPayload,\n bytePayload,\n contentType\n) {\n\n if (contentType !== \"application/json\") {\n return null;\n }\n\n var jsonData = JSON.parse(textPayload);\n var temperature = jsonData.temp;\n var humidity = jsonData.hum;\n \n var path;\n var value;\n if (temperature != null && humidity != null) {\n path = \"/features\";\n value = {\n temperature: {\n properties: {\n value: temperature\n }\n },\n humidity: {\n properties: {\n value: humidity\n }\n }\n };\n } else if (temperature != null) {\n path = \"/features/temperature/properties/value\";\n value = temperature;\n } else if (humidity != null) {\n path = \"/features/humidity/properties/value\";\n value = humidity;\n }\n \n if (!path || !value) {\n return null;\n }\n\n return Ditto.buildDittoProtocolMsg(\n \"org.eclipse.ditto\",\n headers[\"device_id\"],\n \"things\",\n \"twin\",\n \"commands\",\n \"modify\",\n path,\n headers,\n value\n );\n}"
}
}
}
}
}' http://srvgal90.deri.ie:8080/devops/piggyback/connectivity?timeout=8000
Когда я проверил то же самое, я получил следующие ошибки:
Пожалуйста, дайте мне знать, если я что-то упустил в моей команде curl. Нужно ли добавлять что-то кроме saslMechanism в конкретный конфиг.