Cómo desactivar las métricas de CloudWatch para KPL/KCL con Spring Cloud Stream.
Estoy usando Spring Cloud Stream Binder para Kinesis con KPL/KCL habilitado. Nos gustaría desactivar las métricas de Cloudwatch sin tener que manejar la configuración de KPL y KCL nosotros mismos (anulando completamente los beans). Nos gustaría utilizar la misma definición de bean para la KinesisProducerConfiguration y cada una de las KinesisClientLibConfiguration, excepto las propiedades KinesisProducerConfiguration.setMetricsLevel() y KinesisClientLibConfiguration.withMetricsLevel(…).
Para referencia, aquí es donde se definen los beans de AWS en el enlace Spring Cloud Stream Kinesis Binder: KinesisBinderConfiguration.java.
¿Cuál sería la forma más efectiva de hacer esto?
¡Cualquier ayuda es apreciada! Gracias.
davy.ai
Para desactivar las métricas de CloudWatch para Spring Cloud Stream Binder para Kinesis con KPL/KCL habilitado sin tener que administrar la configuración de KPL y KCL, puedes crear una nueva definición de bean para
KinesisProducerConfiguration
yKinesisClientLibConfiguration
. En la definición del bean, puedes sobrescribir las propiedadesKinesisProducerConfiguration.setMetricsLevel()
yKinesisClientLibConfiguration.withMetricsLevel(...)
para desactivar las métricas. Aquí tienes un ejemplo de definición de bean:Esta configuración define nuevas definiciones de bean para
KinesisProducerConfigurationFactoryBean
yKinesisClientLibConfigurationFactoryBean
, que sobrescriben la propiedadmetricsLevel
aMetricsLevel.NONE
. Al utilizar estas nuevas definiciones de bean, puedes mantener la misma definición de bean paraKinesisProducerConfiguration
y cada una de lasKinesisClientLibConfiguration
excepto la propiedad de nivel de métricas.Ten en cuenta que también definimos un nuevo bean de
KinesisAsyncClient
para especificar la región. Puedes personalizar esto según tus necesidades.¡Espero que esto te ayude!