如何使用sasl将wso2应用程序与azure事件中心连接?

0x6upsns  于 2021-06-07  发布在  Kafka
关注(0)|答案(0)|浏览(322)

我无法连接到kafka源(作为kafka的azure事件中心),因为它需要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-来源
也可能有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);

我希望能够从Map原始主题中读取事件。
我在wso2中得到错误:
构造kafka使用者失败

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题