对于 databricks 托管身份,我已分配 Azure Eventhub 发送者以及接收者角色。
当我尝试使用 SASL 纯文本从 eventhub 进行消费时,由于
而失败java.lang.RuntimeException:不可为 null 的字段 authBytes 被序列化为 null
不知道如何解决这个问题,如果有人遇到这个问题,请告诉我
获取 java.lang.RuntimeException:不可为 null 的字段 authBytes 被序列化为 null
使用连接字符串时,它必须包含
Endpoint
、EntityPath
(事件中心名称)、SharedAccessKeyName
和 SharedAccessKey
。请参阅此。因此,您不能在连接字符串中使用托管标识。
但是,您可以使用服务主体进行身份验证。为此,您需要创建一个回调类来检索令牌并使用它来读取事件中心数据。根据this,可以创建回调类并读取数据。
或者,按照使用 Apache Kafka 和 Databricks 进行流处理 | AWS 上的 Databricks,用于使用 Databricks 中的内置类。
要使用托管身份凭证进行身份验证,您需要创建一个类似于上述文档中提到的回调类,该类使用
ManagedIdentity
凭证返回一个令牌。