Codeunit 2020 "Image Analysis Management"
Base Application · System.AI
Across versions
- BC23present
- BC243 procedures changed, 2 procedures added
- BC25-26unchanged
- BC272 procedures added, 2 procedures removed
- BC28-30unchanged
Neighbourhood 11 connected objects and pages
Base Application · System.AI · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnBeforeImageAnalysis()Δ BC24 (integration)- subscribers: Codeunit 2002 “Azure AI Tracing” TraceImageAnalysisStart
OnAfterImageAnalysis(ImageAnalysisResult: Codeunit "Image Analysis Result")Δ BC24 (integration)- subscribers: Codeunit 2002 “Azure AI Tracing” TraceImageAnalysisEnd
OnBeforeSendImageAnalysisRequest(HttpContent: HttpContent; RequestUrl: Text; var HttpStatusCode: Integer; var HttpResponseContentText: Text; var Handled: Boolean)(internal)
Procedures
Initialize()Initialize(InputImageAnalysisProvider: Enum "Image Analysis Provider")SetMedia(MediaId: Guid)SetImagePath(Path: Text)SetBlob(TempBlob: Codeunit "Temp Blob")SetUriAndKey(UriValue: Text; KeyValue: SecretText)Δ BC24 + BC24 − BC27SetLimitInYears(Value: Integer)SetLimitInMonths(Value: Integer)SetLimitInDays(Value: Integer)SetLimitInHours(Value: Integer)AnalyzeTags(var ImageAnalysisResult: Codeunit "Image Analysis Result"): BooleanAnalyzeColors(var ImageAnalysisResult: Codeunit "Image Analysis Result"): BooleanAnalyzeFaces(var ImageAnalysisResult: Codeunit "Image Analysis Result"): BooleanAnalyze(var ImageAnalysisResult: Codeunit "Image Analysis Result"; AnalysisType: Enum "Image Analysis Type"): BooleanΔ BC24Analyze(var ImageAnalysisResult: Codeunit "Image Analysis Result"; AnalysisTypes: List of [Enum "Image Analysis Type"]): BooleanΔ BC24SetHttpMessageHandler(NewHttpMessageHandler: DotNet HttpMessageHandler)GetLastError(var Message: Text; var IsUsageLimitError: Boolean): BooleanGetTelemetryCategory(): TextGetNoImageErr(): TextHasError(): BooleanGetLimitParams(var LimitTypeOut: Option Year,Month,Day,Hour; var LimitValueOut: Integer)IsCurrentUserLanguageSupported(AnalysisTypes: List of [Enum "Image Analysis Type"]): BooleanGetImageAnalysisCredentials(var ApiKey: SecretText; var ApiUri: Text; var LocalLimitType: Option; var LocalLimitValue: Integer)Δ BC24 + BC24 − BC27ToCommaSeparatedList(ImageAnalysisTypes: List of [Enum "Image Analysis Type"]): Text(internal)
Plus 4 local procedures.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 419 “File Management” (4 calls:
SetBlob → BLOBExportToServerFile,SetBlob → ServerTempFileName,SetImagePath → IsAllowedPath, …) - Codeunit 2200 “Azure Key Vault” (3 calls:
GetImageAnalysisCredentials → GetAzureKeyVaultSecret,TryAcquireOAuth2Token → GetAzureKeyVaultCertificate,TryAcquireOAuth2Token → GetAzureKeyVaultSecret) - Codeunit 2004 “Machine Learning KeyVaultMgmt.” (2 calls:
GetImageAnalysisCredentials → GetLimitTypeOptionFromText,TryAcquireOAuth2Token → GetLimitTypeOptionFromText) - Codeunit 2024 “Image Analysis Wrapper V1.0” (1 call:
SetHttpMessageHandler → SetHttpMessageHandler) - Codeunit 501 “OAuth2” (1 call:
TryAcquireOAuth2Token → AcquireTokensWithCertificate)
Called by
- Codeunit 7499 “Item From Picture” (8 calls:
AnalyzeImage → Analyze,AnalyzeImage → GetLastError,AnalyzeImage → GetLimitParams, …) - Codeunit 2027 “Image Analyzer Ext. Mgt.” (7 calls:
AnalyzePicture → AnalyzeFaces,AnalyzePicture → AnalyzeTags,AnalyzePicture → GetLastError, …) - Codeunit 2023 “Image Analysis Wrapper V3.2” (4 calls:
BuildUri → ToCommaSeparatedList,IsMediaSupported → GetTelemetryCategory,LogCorrelationToTelemetry → GetTelemetryCategory, …) - Codeunit 2002 “Azure AI Tracing” (2 calls:
TraceImageAnalysisEnd → GetLastError,TraceImageAnalysisEnd → GetLimitParams) - Codeunit 2005 “Azure AI Usage Impl.” (1 call:
GetSingleInstance → GetImageAnalysisCredentials)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Image Analysis Management"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.