-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Description
Description
The UpdateAnalyzer and UpdateAnalyzerAsync methods (and their protocol overloads) currently have XML doc summaries that say only "Update analyzer properties" without specifying which properties can actually be updated.
The underlying REST API uses PATCH with application/merge-patch+json, and only description and tags are accepted by the service. All other properties (models, fieldSchema, config, baseAnalyzerId, dynamicFieldSchema, processingLocation, knowledgeSources) are create-only — they are silently ignored by the server even though it returns HTTP 200.
This has caused customer confusion — see #57215.
Requested Improvements
-
API doc (
<summary>/<remarks>): Add a<remarks>section toUpdateAnalyzer/UpdateAnalyzerAsynclisting the updatable properties and noting that other properties requireCreateAnalyzerAsyncwithallowReplace: true. -
Sample doc (Sample08_UpdateAnalyzer.md): Add a note in the "About updating analyzers" section explaining that only
descriptionandtagsare updatable via this method, and referenceCreateAnalyzerAsyncwithallowReplace: truefor changingmodels,fieldSchema, etc.
Updatable Properties
| Property | Updatable via UpdateAnalyzer (PATCH)? |
|---|---|
description |
Yes |
tags |
Yes |
models |
No — silently ignored |
fieldSchema |
No — silently ignored |
config |
No — silently ignored |
baseAnalyzerId |
No — silently ignored |
dynamicFieldSchema |
No — silently ignored |
processingLocation |
No — silently ignored |
knowledgeSources |
No — silently ignored |
Workaround
To change create-only properties on an existing analyzer, use CreateAnalyzerAsync with allowReplace: true. This calls PUT (full resource replacement) instead of PATCH.
Related
- [BUG][Azure.AI.ContentUnderstanding] Update of analyzer is not working properly #57215 — customer report of
UpdateAnalyzerAsyncnot updatingmodels