Azure Scheduler能否向Azure Service Bus发送Avro格式消息?
Great question! Let’s break down what you need to know clearly:
Azure Scheduler's Native Support: First, a quick heads-up—Azure Scheduler is a legacy service that’s been replaced by Azure Logic Apps; Microsoft no longer adds new features to it. Out of the box, Scheduler doesn’t natively support sending Avro-formatted messages to Azure Service Bus. Its built-in Service Bus job type works with plain text, JSON, or binary data (encoded as Base64 strings), but there’s no direct, built-in option to serialize messages into Avro format automatically.
Workaround for Existing Scheduler Workflows: If you’re stuck using Scheduler for legacy setups, you can handle Avro serialization manually:
- Use an Avro library (like Apache Avro for your preferred programming language) to serialize your data into an Avro byte array.
- Encode that byte array into a Base64 string.
- Configure your Scheduler Service Bus job to send this Base64 string as the message body.
- On the receiving end, decode the Base64 string back to a byte array and deserialize it from Avro format.
Recommended Long-Term Solution: Azure Logic Apps: Since Scheduler is deprecated, switching to Logic Apps is the smarter move. Logic Apps offers robust, out-of-the-box support for Avro processing:
- The Azure Service Bus connector includes options to handle Avro-formatted messages directly.
- You can pair it with actions like Parse JSON or use dedicated data transformation tools to handle Avro serialization/deserialization without manual coding.
内容的提问来源于stack exchange,提问作者zafar142003

