Как подключить приложение WSO2 к Azure Event Hub с помощью SASL?
Я не могу подключиться к источнику 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/siddhi-io-kafka/api/latest/
Также может возникнуть проблема с версией Kafka: WSO2 поддерживает версию 0.10.0.0 Kafka, а концентратор событий 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);
Я ожидаю, что смогу прочитать событие из топографического топика.
Я получаю в WSO2 ошибку:
Не удалось построить кафку потребителю