如何使用SASL将WSO2应用程序与Azure Event Hub连接?

时间:2019-01-25 00:14:39

标签: apache-kafka wso2 azure-eventhub siddhi wso2sp

我无法连接到Kafka源(Azure Event Hub为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);

我希望能够从mapping-raw主题中读取事件。

我在WSO2中遇到错误:

  

无法构建kafka用户

0 个答案:

没有答案