Я не могу подключиться к источнику Kafka (Azure Event Hub от Kafka), потому что для этого требуется аутентификация SASL.
WSO2sp / Siddhi может считывать дополнительные конфигурации по параметру необязательный .configuration ; Я не уверен, что установил правильные значения там.
Я пробовал связанный с этим вопрос: Ошибка коннектора WSO2 EI611 Kafka. Jaas.conf не найден
Но это относится к более старой версии WSO2.
Я думаю, что есть проблема с символом ":" в строковом соединении:
Endpoint=sb://xxxx.servicebus.windows.net/;SharedAccessKeyName=tp-stream;SharedAccessKey=123454tqliUPRM5NrnL3sSDJPpCMpmctogQDqvjlehw=;EntityPath=mapping-raw
Поскольку Сиддхи использует «:» для разделения значений, как в следующей ссылке.
https://wso2 -extensions.github.io / сиддхи-IO-Кафка / апи / последний / # Кафка-источник
Также может возникнуть проблема с версией Kafka: WSO2 поддерживает версию Kafka 0.10.0.0, а концентратор событий Azure поддерживает протокол подключения Kafka 1.0 и выше.
@source(
type='kafka',
bootstrap.servers='xxxx.servicebus.windows.net:9093',
topic.list='mapping-raw',
group.id='$Default',
threading.option='single.thread',
optional.configuration='security.protocol:SASL_SSL,sasl.mechanism:PLAIN,sasl.username:$ConnectionString,sasl.password:Endpoint=sb://xxxx.servicebus.windows.net/;SharedAccessKeyName=tp-stream;SharedAccessKey=123454tqliUPRM5NrnL3sSDJPpCMpmctogQDqvjlehw=;EntityPath=mapping-raw',
@map(type='json', @attributes(
Channel='$.Channel',
Application='$.Application',
SentDate='$.SentDate',
Process='$.Process',
EntityType='$.EntityType',
EntityKey='$.EntityKey',
Entity = '$.Entity'
)))
define stream ObjectMappingStream (Channel string, Application string, SentDate string, Process string, EntityType string, EntityKey string, Entity string);
Я ожидаю, что смогу прочитать событие из топологии mapping-raw.
Я получаю в WSO2 ошибку:
Не удалось построить кафку потребителя