Skip to content

[Azure.AI.ContentUnderstanding] UpdateAnalyzer/UpdateAnalyzerAsync docs should clarify which properties are updatable #57231

@chienyuanchang

Description

@chienyuanchang

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

  1. API doc (<summary> / <remarks>): Add a <remarks> section to UpdateAnalyzer/UpdateAnalyzerAsync listing the updatable properties and noting that other properties require CreateAnalyzerAsync with allowReplace: true.

  2. Sample doc (Sample08_UpdateAnalyzer.md): Add a note in the "About updating analyzers" section explaining that only description and tags are updatable via this method, and reference CreateAnalyzerAsync with allowReplace: true for changing models, 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions