从数据块中,我需要使用托管身份来使用来自我的中心的消息

问题描述 投票:0回答:1

对于 databricks 托管身份,我已分配 Azure Eventhub 发送者以及接收者角色。

当我尝试使用 SASL 纯文本从 eventhub 进行消费时,由于

而失败

java.lang.RuntimeException:不可为 null 的字段 authBytes 被序列化为 null

不知道如何解决这个问题,如果有人遇到这个问题,请告诉我

获取 java.lang.RuntimeException:不可为 null 的字段 authBytes 被序列化为 null

azure-databricks azure-eventhub
1个回答
0
投票

使用连接字符串时,它必须包含

Endpoint
EntityPath
(事件中心名称)、
SharedAccessKeyName
SharedAccessKey
。请参阅。因此,您不能在连接字符串中使用托管标识。

但是,您可以使用服务主体进行身份验证。为此,您需要创建一个回调类来检索令牌并使用它来读取事件中心数据。根据this,可以创建回调类并读取数据。

或者,按照使用 Apache Kafka 和 Databricks 进行流处理 | AWS 上的 Databricks,用于使用 Databricks 中的内置类。

要使用托管身份凭证进行身份验证,您需要创建一个类似于上述文档中提到的回调类,该类使用

ManagedIdentity
凭证返回一个令牌。

© www.soinside.com 2019 - 2024. All rights reserved.