An Azure service that enables users to identify content that is potentially offensive, risky, or otherwise undesirable. Previously known as Azure Content Moderator.
@Stefan Fleck I hope you are doing well,
What you are describing is a known behavior related to distributed cache replication on the backend inference nodes rather than an issue with your .NET code or request construction.
Because 400 is classified as a non-retryable client error, the SDK drops the request immediately instead of retrying against an alternate node.
- Implement a Custom Retry Policy in the .NET SDK: You can hook a custom
HttpPipelinePolicyintoContentSafetyClientOptionsto catch HTTP 400 responses specifically containing"Blocklist with name"and retry the call 1–2 times with a short backoff (e.g., 200–500ms). This will allow the retry request to route to a healthy node without bubbling an exception to your application. - Report the Node Desync via Azure Support: Because your blocklist has existed for weeks without modification, persistent intermittent failures across weeks indicate a stuck replica or unhealthy instance in that region's cluster. I'm going to scale this thread so MS can take a look.
References:
Use custom blocklists in Azure AI Content Safety
Azure SDK for .NET - Customizing HTTP Pipeline and Retries
If this answer helped clarify the platform capabilities and save you troubleshooting time, please consider marking it as Accepted. This helps others in the community find similar solutions.