【问题标题】:Overriding properties in Spring Cloud Dataflow stream definition覆盖 Spring Cloud Dataflow 流定义中的属性
【发布时间】:2017-01-31 00:14:18
【问题描述】:

对于使用 KafkaAvroDeserializer 的 Kafka 流(消费者),我需要在部署时使用 --propertiesFile 覆盖一些配置才能工作。 KafkaBinder 1.1.1 添加了这个配置选项。

如果可以,我宁愿不使用部署属性,因为它们在仪表板上不可见,而且如果另一个用户决定停止并重新启动流而不设置属性,这很危险。是否可以在流定义中包含这些属性?我的多次尝试都失败了。我在参考文档中没有看到这样的示例。

例如对于 yaml 等效项:

<...>
binder:
  configuration:
    value.deserializer: io.confluent.kafka.serializers.KafkaAvroDeserializer
    schema.registry.url: http://my.dns.com:8081

【问题讨论】:

    标签: spring-cloud-dataflow


    【解决方案1】:

    您可以像这样在 Data Flow Stream 定义 DSL 中指定这些 Spring Cloud Stream 属性:

    stream create a1 --definition "时间 --spring.cloud.stream.kafka.binder.configuration.value.serializer=serializer | log --spring.cloud.stream.kafka.binder.configuration.value.deserializer=解串器 --spring.cloud.stream.kafka.binder.configuration.schema.registry.url='http://myregistry'" --deploy

    【讨论】:

    • 有什么方法可以传入标准属性文件?由于 DSL 不允许多行,因此为每个流中的每个应用程序重复此操作是非常荒谬的。 (除非我遗漏了什么)
    • 您好,您可以使用 --propertiesFile 选项来使用 YAML 或可以拥有所有属性的属性文件。
    • 谢谢,但从文档看来 --propertiesFile 是stream deploy 的一个选项,这是这里最初的问题要求尽量避免的原因。 stream create有这样的选项吗?
    • 好的,我在上面回复时忘记了您的原始问题。尚不支持在 stream create 指定基于文件的属性。另一种可能的方法是使用常见的应用程序属性:docs.spring.io/spring-cloud-dataflow/docs/1.1.0.BUILD-SNAPSHOT/…。但这适用于所有应用程序。请随时根据您的要求在此处创建功能请求:github.com/spring-cloud/spring-cloud-dataflow/issues。
    猜你喜欢
    • 1970-01-01
    • 2018-07-10
    • 2022-01-13
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    相关资源
    最近更新 更多