首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring- Cloud -stream-binder-kafka Confluent Cloud Schema Registry的配置未授权错误

spring- Cloud -stream-binder-kafka Confluent Cloud Schema Registry的配置未授权错误
EN

Stack Overflow用户
提问于 2020-05-27 02:36:56
回答 1查看 702关注 0票数 2

在使用spring-cloud-stream-binder-kafka时,我在配置到Confluent的连接时遇到问题。也许有人能看到哪里出了问题?

当我使用来自https://www.confluent.io/blog/schema-registry-avro-in-spring-boot-application-tutorial/的示例时,它工作得很好,并且我可以在Confluent Cloud上看到消息

但是,当使用spring-cloud-stream-binder-kafka配置添加相同的连接详细信息时,它会返回未经授权的错误。

代码语言:javascript
复制
Caused by: org.apache.kafka.common.errors.SerializationException: Error registering Avro schema: {"type":"record","name":"MySchema","namespace":"org.test","fields":[{"name":"value","type":"double"}]}

Caused by: io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException: Unauthorized; error code: 401

我下面的配置给出了上述错误。不确定哪里出了问题?

代码语言:javascript
复制
  cloud:
    stream:
      default:
        producer:
          useNativeEncoding: true
      kafka:
        binder:
          brokers: myinstance.us-east1.gcp.confluent.cloud:9092
          producer-properties:
            key.serializer: org.apache.kafka.common.serialization.StringSerializer
            value.serializer: io.confluent.kafka.serializers.KafkaAvroSerializer
            schema.registry.url: https://myinstance.us-central1.gcp.confluent.cloud
            basic.auth.credentials.source: USER_INFO
            schema.registry.basic.auth.user.info: mySchemaKey:mySchemaSecret
          configuration:
            ssl.endpoint.identification.algorithm: https
            sasl.mechanism: PLAIN
            request.timeout.ms: 20000
            retry.backoff.ms: 500
            sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="myKey" password="MySecret";
            security.protocol: SASL_SSL
      bindings:
        normals-out:
          destination: normals
          contentType: application/*+avro

来自Confluent的运行良好的示例:

代码语言:javascript
复制
  kafka:
    bootstrap-servers:
      - myinstance.us-east1.gcp.confluent.cloud:9092
    properties:
      ssl.endpoint.identification.algorithm: https
      sasl.mechanism: PLAIN
      request.timeout.ms: 20000
      retry.backoff.ms: 500
      sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="myKey" password="MySecret";
      security.protocol: SASL_SSL
      schema.registry.url: https://myinstance.us-central1.gcp.confluent.cloud
      basic.auth.credentials.source: USER_INFO
      schema.registry.basic.auth.user.info: mySchemaKey:mySchemaSecret
    producer:
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: io.confluent.kafka.serializers.KafkaAvroSerializer
    template:
      default-topic:
logging:
  level:
    root: info
EN

回答 1

Stack Overflow用户

发布于 2020-05-28 01:05:28

我的问题只是在我的pom中缺少了一个依赖项。

我应该删除我的问题,但我把它留在这里作为参考,说明配置确实像上面那样工作。

代码语言:javascript
复制
<dependency>
  <groupId>io.confluent</groupId>
  <artifactId>kafka-schema-registry-client</artifactId>
  <version>5.3.0</version>
</dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62029048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档