1

我无法连接到 Kafka 源(Azure 事件中心作为 Kafka),因为它需要 SASL 身份验证。

WSO2sp/Siddhi 可以在optional.configuration参数上读取额外的配置;我不确定我在那里设置了正确的值。

我已经尝试过相关问题:WSO2 EI611 Kafka connector error jaas.conf not found

但这适用于旧版本的 WSO2。

我认为字符串连接中的“:”字符有问题:

Endpoint=sb://xxxx.servicebus.windows.net/;SharedAccessKeyName=tp-stream;SharedAccessKey=123454tqliUPRM5NrnL3sSDJPpCMpmctogQDqvjlehw=;EntityPath=mapping-raw

因为 Siddhi 使用“:”来分隔值,如下一个链接所示。 https://wso2-extensions.github.io/siddhi-io-kafka/api/latest/#kafka-source

也可能存在 Kafka 版本问题:WSO2 支持 Kafka 版本 0.10.0.0,Azure Event Hub 支持 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 中遇到错误:

构建kafka消费者失败

4

0 回答 0