Skip to content

Conversation

@yungshinlintw
Copy link
Member

@yungshinlintw yungshinlintw commented Nov 24, 2025

Azure Content Understanding GA SDK for .NET PR.

This is a new SDK release, and we haven't released any .NET SDK based on this service before.

Contributing to the Azure SDK

Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.

For specific information about pull request etiquette and best practices, see this section.

yungshinlintw and others added 30 commits November 21, 2025 03:13
…entUnderstanding for dup names (AZC0034) and sevice API naming (AZC0031).
…usability with Count property and indexers for accessing elements.
…edModels to handle cases where service returns arrays instead of objects.
…te analyzer properties synchronously and asynchronously.
…, DeleteAnalyzer, ListAnalyzers, and UpdateAnalyzer demonstrating various functionalities of the Content Understanding service.
…sult to ensure proper handling of modelDeployments and response structure.
… both "keyFrameTimesMs" and "KeyFrameTimesMs" for improved compatibility with service responses.
…enhance usability by extracting operation IDs from Operation-Location headers.
…me images from video analysis, including setup instructions and error handling.
- Added new test projects to the solution file, including
  `Azure.AI.ContentUnderstanding.Tests` and `Azure.Core.TestFramework`.
- Introduced `Directory.Build.props` for shared project properties.
- Created test suites for binary and URL-based document analysis,
  custom analyzer creation, and CRUD operations.
- Implemented utility classes (`TestHelpers`, `ContentUnderstandingTestBase`)
  for common test functionality and sanitization.
- Added tests for field extraction, confidence validation, and
  analyzer lifecycle operations (create, update, delete, list).
- Included sample files (`mixed_financial_docs.pdf`, `sample_invoice.pdf`)
  for testing document analysis.
- Exposed internal members to testing frameworks via `InternalsVisibleTo`.
Added a new `<ItemGroup>` to `Azure.AI.ContentUnderstanding.Tests.csproj` to include the shared source file `AzureResourceProviderNamespaceAttribute.cs`. The file is referenced from the `AzureCoreSharedSources` directory and linked to the `Shared\Core\AzureResourceProviderNamespaceAttribute.cs` path. This enables reuse of the shared source file without duplication.
…eCategory, and UpdateDefaults demonstrating various functionalities of the Content Understanding service, including classifier creation, binary feature analysis, and default model deployment configuration.
…rebuilt-documentSearch

- Introduced a new sample project for analyzing PDF files with the Content Understanding service.
- Added `Program.cs` to handle configuration, client creation, and analysis logic.
- Created `README.md` for setup instructions and prerequisites.
- Updated `.gitignore` to prevent committing user-specific `appsettings.json` files while allowing `appsettings.json.sample`.
…a URL

- Introduced a new sample project for analyzing documents from publicly accessible URLs using the `prebuilt-documentSearch` analyzer.
- Added `Program.cs` to handle configuration, client creation, and analysis logic.
- Created `README.md` for setup instructions and prerequisites.
- Updated `Sample01_AnalyzeBinary.md` to include next steps for exploring additional samples.
- Updated `.gitignore` to prevent committing test recordings (SessionRecords).
… configuration

- Introduced a new sample project for configuring and retrieving default model deployment settings for Microsoft Foundry resources.
- Added `Program.cs` to handle configuration, client creation, and model deployment logic.
- Created `Sample00_ConfigureDefaults.md` for detailed documentation on model deployment configuration.
- Added `README.md` for setup instructions and prerequisites.
- Implemented tests for the sample to ensure functionality and correctness.
… default model deployment settings

- Added a new partial class `ContentUnderstandingClient.Customizations.cs` to customize the generated methods, specifically making the `UpdateDefaults` protocol methods internal.
- Implemented convenience extension methods in `ContentUnderstandingClient.Extensions.cs` for updating default model deployment settings using a dictionary, providing a simpler public API.
- Updated documentation to clarify the usage of the new convenience methods and the internal nature of the protocol methods.
…ing prebuilt-invoice analyzer

- Introduced a new sample project for analyzing invoices from a URL using the `prebuilt-invoice` analyzer.
- Added `Program.cs` to handle configuration, client creation, and invoice analysis logic.
- Created `Sample03_AnalyzeInvoice.md` for detailed documentation on invoice analysis.
- Added `README.md` for setup instructions and prerequisites.
- Implemented tests for the sample to ensure functionality and correctness.
…cation

- Introduced Sample05_CreateClassifier demonstrating how to create and use a classifier analyzer for document categorization.
- Added Sample06_GetAnalyzer to retrieve information about both prebuilt and custom analyzers.
- Created Sample07_ListAnalyzers to list all available analyzers in a Microsoft Foundry resource.
- Implemented Sample08_UpdateAnalyzer for updating existing custom analyzers, including their descriptions and tags.
- Added Sample09_DeleteAnalyzer to demonstrate how to delete a custom analyzer.
- Each sample includes detailed documentation and setup instructions in corresponding README.md files.
- Implemented tests for all new samples to ensure functionality and correctness.
- Introduced Sample10_AnalyzeConfigs demonstrating how to extract features from documents using the `prebuilt-documentSearch` analyzer with configurations for formulas, layout, and OCR.
- Added Sample11_AnalyzeReturnRawJson to show how to access raw JSON responses from analysis operations for advanced scenarios.
- Created Sample12_GetResultFile to demonstrate retrieving result files, such as keyframe images, from video analysis operations using the `GetResultFile` API.
- Each sample includes detailed documentation and setup instructions in corresponding README.md files.
- Implemented tests for all new samples to ensure functionality and correctness.
yungshinlintw and others added 7 commits November 26, 2025 18:51
… to make sure that they can compile

- Added placeholders for `<document_url>` in Sample04_CreateAnalyzer and Sample06_GetAnalyzer.
- Included `<file_path>` placeholders in Sample05_CreateClassifier for binary analysis.
- Updated Sample15_GrantCopyAuth to use explicit source and target resource identifiers and API keys.
- Enhanced clarity in sample code for better user understanding.
…/azure-sdk-for-net into changjian-wang/improve_tests_for_cu_ga_sdk_tsp_client
@Azure Azure deleted a comment from azure-pipelines bot Nov 27, 2025
@Azure Azure deleted a comment from azure-pipelines bot Nov 27, 2025
@Azure Azure deleted a comment from azure-pipelines bot Nov 27, 2025
@yungshinlintw
Copy link
Member Author

/azp run prepare-pipelines

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@yungshinlintw yungshinlintw requested review from a team and m-redding as code owners November 27, 2025 23:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants