DocumentModelAdministrationClient Class
- java.
lang. Object - com.
azure. ai. formrecognizer. documentanalysis. administration. DocumentModelAdministrationClient
- com.
public final class DocumentModelAdministrationClient
This class provides an asynchronous client to connect to the Form Recognizer Azure Cognitive Service.
This client provides asynchronous methods to perform:
- Build a custom model: Extract data from your specific documents by building custom models using the beginBuildDocumentModel(String blobContainerUrl, DocumentModelBuildMode buildMode) method to provide a container SAS URL to your Azure Storage Blob container.
- Composed custom models: Creates a new model from document types of collection of existing models using the beginComposeDocumentModel(List<String> componentModelIds) method.
- Copy custom model: Copy a custom Form Recognizer model to a target Form Recognizer resource using the beginCopyDocumentModelTo(String sourceModelId, DocumentModelCopyAuthorization target) method.
- Custom model management: Get detailed information, delete and list custom models using methods getDocumentModel(String modelId), listDocumentModels() and deleteDocumentModel(String modelId) respectively.
- Operations management: Get detailed information and list operations on the Form Recognizer account using methods getOperation(String operationId) and listOperations() respectively.
- Polling and Callbacks: It includes mechanisms for polling the service to check the status of an analysis operation or registering callbacks to receive notifications when the analysis is complete.
Note: This client only supports V2022_08_31 and newer. To use an older service version, FormRecognizerClient and FormTrainingClient.
Service clients are the point of interaction for developers to use Azure Form Recognizer. DocumentModelAdministrationClient is the synchronous service client and DocumentModelAdministrationAsyncClient is the asynchronous service client. The examples shown in this document use a credential object named DefaultAzureCredential for authentication, which is appropriate for most scenarios, including local development and production environments. Additionally, we recommend using managed identity for authentication in production environments. You can find more information on different ways of authenticating and their corresponding credential types in the Azure Identity documentation".
Sample: Construct a DocumentModelAdministrationAsyncClient with DefaultAzureCredential
The following code sample demonstrates the creation of a DocumentModelAdministrationAsyncClient, using the `DefaultAzureCredentialBuilder` to configure it.
DocumentModelAdministrationClient client = new DocumentModelAdministrationClientBuilder()
.endpoint("{endpoint}")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
Further, see the code sample below to use AzureKeyCredential for client creation.
DocumentModelAdministrationAsyncClient documentModelAdministrationAsyncClient =
new DocumentModelAdministrationClientBuilder()
.credential(new AzureKeyCredential("{key}"))
.endpoint("{endpoint}")
.buildAsyncClient();
Method Summary
Methods inherited from java.lang.Object
Method Details
beginBuildDocumentClassifier
public SyncPoller
Builds a custom classifier document model.
Classifier models can identify multiple documents or multiple instances of a single document. For that, you need at least five documents for each class and two classes of documents.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String blobContainerUrl1040D = "{SAS_URL_of_your_container_in_blob_storage}";
String blobContainerUrl1040A = "{SAS_URL_of_your_container_in_blob_storage}";
HashMap<String, ClassifierDocumentTypeDetails> documentTypes = new HashMap<>();
documentTypes.put("1040-D", new ClassifierDocumentTypeDetails(new BlobContentSource(blobContainerUrl1040D)
));
documentTypes.put("1040-A", new ClassifierDocumentTypeDetails(new BlobContentSource(blobContainerUrl1040A)
));
DocumentClassifierDetails classifierDetails
= documentModelAdministrationClient.beginBuildDocumentClassifier(documentTypes)
.getFinalResult();
System.out.printf("Classifier ID: %s%n", classifierDetails.getClassifierId());
System.out.printf("Classifier description: %s%n", classifierDetails.getDescription());
System.out.printf("Classifier created on: %s%n", classifierDetails.getCreatedOn());
System.out.printf("Classifier expires on: %s%n", classifierDetails.getExpiresOn());
classifierDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
if (documentTypeDetails.getContentSource() instanceof BlobContentSource) {
System.out.printf("Blob Source container Url: %s", ((BlobContentSource) documentTypeDetails
.getContentSource()).getContainerUrl());
}
});
Parameters:
Returns:
beginBuildDocumentClassifier
public SyncPoller
Builds a custom classifier document model.
Classifier models can identify multiple documents or multiple instances of a single document. For that, you need at least five documents for each class and two classes of documents.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String blobContainerUrl1040D = "{SAS_URL_of_your_container_in_blob_storage}";
String blobContainerUrl1040A = "{SAS_URL_of_your_container_in_blob_storage}";
HashMap<String, ClassifierDocumentTypeDetails> documentTypesDetailsMap = new HashMap<>();
documentTypesDetailsMap.put("1040-D", new ClassifierDocumentTypeDetails(new BlobContentSource(blobContainerUrl1040D)
));
documentTypesDetailsMap.put("1040-A", new ClassifierDocumentTypeDetails(new BlobContentSource(blobContainerUrl1040A)
));
DocumentClassifierDetails classifierDetails
= documentModelAdministrationClient.beginBuildDocumentClassifier(documentTypesDetailsMap,
new BuildDocumentClassifierOptions()
.setClassifierId("classifierId")
.setDescription("classifier desc"),
Context.NONE)
.getFinalResult();
System.out.printf("Classifier ID: %s%n", classifierDetails.getClassifierId());
System.out.printf("Classifier description: %s%n", classifierDetails.getDescription());
System.out.printf("Classifier created on: %s%n", classifierDetails.getCreatedOn());
System.out.printf("Classifier expires on: %s%n", classifierDetails.getExpiresOn());
classifierDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
if (documentTypeDetails.getContentSource() instanceof BlobContentSource) {
System.out.printf("Blob Source container Url: %s", ((BlobContentSource) documentTypeDetails
.getContentSource()).getContainerUrl());
}
});
Parameters:
Returns:
beginBuildDocumentModel
public SyncPoller
Builds a custom document analysis model.
Models are built using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', image/bmp. Other type of content is ignored.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String blobContainerUrl = "{SAS-URL-of-your-container-in-blob-storage}";
String fileList = "";
DocumentModelDetails documentModelDetails
= documentModelAdministrationClient.beginBuildDocumentModel(
new BlobFileListContentSource(blobContainerUrl, fileList),
DocumentModelBuildMode.TEMPLATE)
.getFinalResult();
System.out.printf("Model ID: %s%n", documentModelDetails.getModelId());
System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedOn());
documentModelDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> {
System.out.printf("Field: %s", field);
System.out.printf("Field type: %s", documentFieldSchema.getType());
System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field));
});
});
Parameters:
Returns:
beginBuildDocumentModel
public SyncPoller
Builds a custom document analysis model.
Models are built using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', image/bmp. Other type of content is ignored.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String blobContainerUrl = "{SAS-URL-of-your-container-in-blob-storage}";
String fileList = "";
String modelId = "custom-model-id";
Map<String, String> attrs = new HashMap<String, String>();
attrs.put("createdBy", "sample");
DocumentModelDetails documentModelDetails
= documentModelAdministrationClient.beginBuildDocumentModel(
new BlobFileListContentSource(blobContainerUrl, fileList),
DocumentModelBuildMode.TEMPLATE,
new BuildDocumentModelOptions()
.setModelId(modelId)
.setDescription("model desc")
.setTags(attrs),
Context.NONE)
.getFinalResult();
System.out.printf("Model ID: %s%n", documentModelDetails.getModelId());
System.out.printf("Model Description: %s%n", documentModelDetails.getDescription());
System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedOn());
System.out.printf("Model assigned tags: %s%n", documentModelDetails.getTags());
documentModelDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> {
System.out.printf("Field: %s", field);
System.out.printf("Field type: %s", documentFieldSchema.getType());
System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field));
});
});
Parameters:
Returns:
beginBuildDocumentModel
public SyncPoller
Builds a custom document analysis model.
Models are built using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', image/bmp. Other type of content is ignored.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String blobContainerUrl = "{SAS-URL-of-your-container-in-blob-storage}";
DocumentModelDetails documentModelDetails
= documentModelAdministrationClient.beginBuildDocumentModel(blobContainerUrl,
DocumentModelBuildMode.TEMPLATE)
.getFinalResult();
System.out.printf("Model ID: %s%n", documentModelDetails.getModelId());
System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedOn());
documentModelDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> {
System.out.printf("Field: %s", field);
System.out.printf("Field type: %s", documentFieldSchema.getType());
System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field));
});
});
Parameters:
Returns:
beginBuildDocumentModel
public SyncPoller
Builds a custom document analysis model.
Models are built using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', image/bmp. Other type of content is ignored.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String blobContainerUrl = "{SAS-URL-of-your-container-in-blob-storage}";
String modelId = "custom-model-id";
String prefix = "Invoice";
Map<String, String> attrs = new HashMap<String, String>();
attrs.put("createdBy", "sample");
DocumentModelDetails documentModelDetails
= documentModelAdministrationClient.beginBuildDocumentModel(blobContainerUrl,
DocumentModelBuildMode.TEMPLATE,
prefix,
new BuildDocumentModelOptions()
.setModelId(modelId)
.setDescription("model desc")
.setTags(attrs),
Context.NONE)
.getFinalResult();
System.out.printf("Model ID: %s%n", documentModelDetails.getModelId());
System.out.printf("Model Description: %s%n", documentModelDetails.getDescription());
System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedOn());
System.out.printf("Model assigned tags: %s%n", documentModelDetails.getTags());
documentModelDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> {
System.out.printf("Field: %s", field);
System.out.printf("Field type: %s", documentFieldSchema.getType());
System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field));
});
});
Parameters:
Returns:
beginComposeDocumentModel
public SyncPoller
Create a composed model from the provided list of existing models in the account.
This operations fails if the list consists of an invalid, non-existing model Id or duplicate IDs.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String modelId1 = "{custom-model-id_1}";
String modelId2 = "{custom-model-id_2}";
final DocumentModelDetails documentModelDetails
= documentModelAdministrationClient.beginComposeDocumentModel(Arrays.asList(modelId1, modelId2))
.getFinalResult();
System.out.printf("Model ID: %s%n", documentModelDetails.getModelId());
System.out.printf("Model Description: %s%n", documentModelDetails.getDescription());
System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedOn());
documentModelDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> {
System.out.printf("Field: %s", field);
System.out.printf("Field type: %s", documentFieldSchema.getType());
System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field));
});
});
Parameters:
Returns:
beginComposeDocumentModel
public SyncPoller
Create a composed model from the provided list of existing models in the account.
This operations fails if the list consists of an invalid, non-existing model Id or duplicate IDs.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String modelId1 = "{custom-model-id_1}";
String modelId2 = "{custom-model-id_2}";
String modelId = "my-composed-model";
Map<String, String> attrs = new HashMap<String, String>();
attrs.put("createdBy", "sample");
final DocumentModelDetails documentModelDetails =
documentModelAdministrationClient.beginComposeDocumentModel(Arrays.asList(modelId1, modelId2),
new ComposeDocumentModelOptions()
.setModelId(modelId)
.setDescription("my composed model desc")
.setTags(attrs),
Context.NONE)
.setPollInterval(Duration.ofSeconds(5))
.getFinalResult();
System.out.printf("Model ID: %s%n", documentModelDetails.getModelId());
System.out.printf("Model Description: %s%n", documentModelDetails.getDescription());
System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedOn());
System.out.printf("Model assigned tags: %s%n", documentModelDetails.getTags());
documentModelDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> {
System.out.printf("Field: %s", field);
System.out.printf("Field type: %s", documentFieldSchema.getType());
System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field));
});
});
Parameters:
Returns:
beginCopyDocumentModelTo
public SyncPoller
Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource.
This should be called with the source Form Recognizer resource (with the model that is intended to be copied). The target parameter should be supplied from the target resource's output from getCopyAuthorization() method.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String copyModelId = "copy-model";
// Get authorization to copy the model to target resource
DocumentModelCopyAuthorization documentModelCopyAuthorization
= documentModelAdministrationClient.getCopyAuthorization();
// Start copy operation from the source client
DocumentModelDetails documentModelDetails
= documentModelAdministrationClient.beginCopyDocumentModelTo(copyModelId, documentModelCopyAuthorization)
.getFinalResult();
System.out.printf("Copied model has model ID: %s, was created on: %s.%n,",
documentModelDetails.getModelId(),
documentModelDetails.getCreatedOn());
Parameters:
Returns:
beginCopyDocumentModelTo
public SyncPoller
Copy a custom model stored in this resource (the source) to the user specified target Form Recognizer resource.
This should be called with the source Form Recognizer resource (with the model that is intended to be copied). The target parameter should be supplied from the target resource's output from getCopyAuthorization() method.
The service does not support cancellation of the long running operation and returns with an error message indicating absence of cancellation support.
Code sample
String copyModelId = "copy-model";
// Get authorization to copy the model to target resource
DocumentModelCopyAuthorization documentModelCopyAuthorization
= documentModelAdministrationClient.getCopyAuthorization();
// Start copy operation from the source client
DocumentModelDetails documentModelDetails =
documentModelAdministrationClient.beginCopyDocumentModelTo(copyModelId,
documentModelCopyAuthorization,
Context.NONE)
.getFinalResult();
System.out.printf("Copied model has model ID: %s, was created on: %s.%n,",
documentModelDetails.getModelId(),
documentModelDetails.getCreatedOn());
Parameters:
Returns:
deleteDocumentClassifier
public void deleteDocumentClassifier(String classifierId)
Deletes the specified document classifier.
Code sample
String classifierId = "{classifierId}";
documentModelAdministrationClient.deleteDocumentClassifier(classifierId);
System.out.printf("Classifier ID: %s is deleted.%n", classifierId);
Parameters:
deleteDocumentClassifierWithResponse
public Response
Deletes the specified document classifier.
Code sample
String classifierId = "{classifierId}";
Response<Void> response
= documentModelAdministrationClient.deleteDocumentClassifierWithResponse(classifierId, Context.NONE);
System.out.printf("Response Status Code: %d.", response.getStatusCode());
System.out.printf("Classifier ID: %s is deleted.%n", classifierId);
Parameters:
Returns:
deleteDocumentModel
public void deleteDocumentModel(String modelId)
Deletes the specified custom document analysis model.
Code sample
String modelId = "{custom-model-id}";
documentModelAdministrationClient.deleteDocumentModel(modelId);
System.out.printf("Model ID: %s is deleted.%n", modelId);
Parameters:
deleteDocumentModelWithResponse
public Response
Deletes the specified custom document analysis model.
Code sample
String modelId = "{custom-model-id}";
Response<Void> response
= documentModelAdministrationClient.deleteDocumentModelWithResponse(modelId, Context.NONE);
System.out.printf("Response Status Code: %d.", response.getStatusCode());
System.out.printf("Model ID: %s is deleted.%n", modelId);
Parameters:
Returns:
getCopyAuthorization
public DocumentModelCopyAuthorization getCopyAuthorization()
Generate authorization for copying a custom model into the target Form Recognizer resource.
This should be called by the target resource (where the model will be copied to) and the output can be passed as the target parameter into beginCopyDocumentModelTo(String sourceModelId, DocumentModelCopyAuthorization target).
Code sample
DocumentModelCopyAuthorization documentModelCopyAuthorization
= documentModelAdministrationClient.getCopyAuthorization();
System.out.printf("Copy Authorization for model id: %s, access token: %s, expiration time: %s, "
+ "target resource ID; %s, target resource region: %s%n",
documentModelCopyAuthorization.getTargetModelId(),
documentModelCopyAuthorization.getAccessToken(),
documentModelCopyAuthorization.getExpiresOn(),
documentModelCopyAuthorization.getTargetResourceId(),
documentModelCopyAuthorization.getTargetResourceRegion()
);
Returns:
getCopyAuthorizationWithResponse
public Response
Generate authorization for copying a custom model into the target Form Recognizer resource.
This should be called by the target resource (where the model will be copied to) and the output can be passed as the target parameter into beginCopyDocumentModelTo(String sourceModelId, DocumentModelCopyAuthorization target).
Parameters:
Response<DocumentModelCopyAuthorization> copyAuthorizationResponse = documentModelAdministrationClient.getCopyAuthorizationWithResponse( new CopyAuthorizationOptions() .setModelId(modelId) .setDescription("model-desc") .setTags(attrs), Context.NONE); System.out.printf("Copy Authorization operation returned with status: %s", copyAuthorizationResponse.getStatusCode()); DocumentModelCopyAuthorization documentModelCopyAuthorization = copyAuthorizationResponse.getValue(); System.out.printf("Copy Authorization for model id: %s, access token: %s, " + "expiration time: %s, target resource ID; %s, target resource region: %s%n", documentModelCopyAuthorization.getTargetModelId(), documentModelCopyAuthorization.getAccessToken(), documentModelCopyAuthorization.getExpiresOn(), documentModelCopyAuthorization.getTargetResourceId(), documentModelCopyAuthorization.getTargetResourceRegion() );
Returns:
getDocumentAnalysisClient
public DocumentAnalysisClient getDocumentAnalysisClient()
Creates a new DocumentAnalysisClient object. The new DocumentAnalysisClient uses the same request policy pipeline as the DocumentAnalysisClient.
Returns:
getDocumentClassifier
public DocumentClassifierDetails getDocumentClassifier(String classifierId)
Get detailed information for a document classifier by its ID.
Code sample
String classifierId = "{classifierId}";
DocumentClassifierDetails documentClassifierDetails
= documentModelAdministrationClient.getDocumentClassifier(classifierId);
System.out.printf("Classifier ID: %s%n", documentClassifierDetails.getClassifierId());
System.out.printf("Classifier Description: %s%n", documentClassifierDetails.getDescription());
System.out.printf("Classifier Created on: %s%n", documentClassifierDetails.getCreatedOn());
documentClassifierDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
if (documentTypeDetails.getContentSource() instanceof BlobContentSource) {
System.out.printf("Blob Source container Url: %s", ((BlobContentSource) documentTypeDetails
.getContentSource()).getContainerUrl());
}
if (documentTypeDetails.getContentSource() instanceof BlobFileListContentSource) {
System.out.printf("Blob File List Source container Url: %s",
((BlobFileListContentSource) documentTypeDetails
.getContentSource()).getContainerUrl());
}
});
Parameters:
Returns:
getDocumentClassifierWithResponse
public Response
Get detailed information for a document classifier by its ID.
Code sample
String modelId = "{custom-model-id}";
Response<DocumentClassifierDetails> response
= documentModelAdministrationClient.getDocumentClassifierWithResponse(modelId, Context.NONE);
System.out.printf("Response Status Code: %d.", response.getStatusCode());
DocumentClassifierDetails documentClassifierDetails = response.getValue();
System.out.printf("Classifier ID: %s%n", documentClassifierDetails.getClassifierId());
System.out.printf("Classifier Description: %s%n", documentClassifierDetails.getDescription());
System.out.printf("Classifier Created on: %s%n", documentClassifierDetails.getCreatedOn());
documentClassifierDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
if (documentTypeDetails.getContentSource() instanceof BlobContentSource) {
System.out.printf("Blob Source container Url: %s", ((BlobContentSource) documentTypeDetails
.getContentSource()).getContainerUrl());
}
if (documentTypeDetails.getContentSource() instanceof BlobFileListContentSource) {
System.out.printf("Blob File List Source container Url: %s",
((BlobFileListContentSource) documentTypeDetails
.getContentSource()).getContainerUrl());
}
});
Parameters:
Returns:
getDocumentModel
public DocumentModelDetails getDocumentModel(String modelId)
Get detailed information for a specified model ID.
Code sample
String modelId = "{custom-model-id}";
DocumentModelDetails documentModelDetails = documentModelAdministrationClient.getDocumentModel(modelId);
System.out.printf("Model ID: %s%n", documentModelDetails.getModelId());
System.out.printf("Model Description: %s%n", documentModelDetails.getDescription());
System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedOn());
documentModelDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> {
System.out.printf("Field: %s", field);
System.out.printf("Field type: %s", documentFieldSchema.getType());
System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field));
});
});
Parameters:
Returns:
getDocumentModelWithResponse
public Response
Get detailed information for a specified model ID.
Code sample
String modelId = "{custom-model-id}";
Response<DocumentModelDetails> response
= documentModelAdministrationClient.getDocumentModelWithResponse(modelId, Context.NONE);
System.out.printf("Response Status Code: %d.", response.getStatusCode());
DocumentModelDetails documentModelDetails = response.getValue();
System.out.printf("Model ID: %s%n", documentModelDetails.getModelId());
System.out.printf("Model Description: %s%n", documentModelDetails.getDescription());
System.out.printf("Model Created on: %s%n", documentModelDetails.getCreatedOn());
documentModelDetails.getDocumentTypes().forEach((key, documentTypeDetails) -> {
documentTypeDetails.getFieldSchema().forEach((field, documentFieldSchema) -> {
System.out.printf("Field: %s", field);
System.out.printf("Field type: %s", documentFieldSchema.getType());
System.out.printf("Field confidence: %.2f", documentTypeDetails.getFieldConfidence().get(field));
});
});
Parameters:
Returns:
getOperation
public OperationDetails getOperation(String operationId)
Get detailed operation information for the specified ID with Http response.
This operations fails if the operation ID used is past 24 hours.
Code sample
String operationId = "{operation-id}";
OperationDetails operationDetails
= documentModelAdministrationClient.getOperation(operationId);
System.out.printf("Operation ID: %s%n", operationDetails.getOperationId());
System.out.printf("Operation Kind: %s%n", operationDetails.getKind());
System.out.printf("Operation Status: %s%n", operationDetails.getStatus());
System.out.printf("Model ID created with this operation: %s%n",
((DocumentModelBuildOperationDetails) operationDetails).getResult().getModelId());
if (OperationStatus.FAILED.equals(operationDetails.getStatus())) {
System.out.printf("Operation fail error: %s%n", operationDetails.getError().getMessage());
}
Parameters:
Returns:
getOperationWithResponse
public Response
Get detailed operation information for the specified ID with Http response.
This operations fails if the operation ID used is past 24 hours.
Code sample
String operationId = "{operation-id}";
Response<OperationDetails> response =
documentModelAdministrationClient.getOperationWithResponse(operationId, Context.NONE);
System.out.printf("Response Status Code: %d.", response.getStatusCode());
OperationDetails operationDetails = response.getValue();
System.out.printf("Operation ID: %s%n", operationDetails.getOperationId());
System.out.printf("Operation Kind: %s%n", operationDetails.getKind());
System.out.printf("Operation Status: %s%n", operationDetails.getStatus());
System.out.printf("Model ID created with this operation: %s%n",
((DocumentModelBuildOperationDetails) operationDetails).getResult().getModelId());
if (OperationStatus.FAILED.equals(operationDetails.getStatus())) {
System.out.printf("Operation fail error: %s%n", operationDetails.getError().getMessage());
}
Parameters:
Returns:
getResourceDetails
public ResourceDetails getResourceDetails()
Get information about the current Form Recognizer resource.
Code sample
ResourceDetails resourceDetails = documentModelAdministrationClient.getResourceDetails();
System.out.printf("Max number of models that can be build for this account: %d%n",
resourceDetails.getCustomDocumentModelLimit());
System.out.printf("Current count of built document analysis models: %d%n",
resourceDetails.getCustomDocumentModelCount());
Returns:
getResourceDetailsWithResponse
public Response
Get information about the current Form recognizer resource with a Http response and a specified Context.
Code sample
Response<ResourceDetails> response =
documentModelAdministrationClient.getResourceDetailsWithResponse(Context.NONE);
System.out.printf("Response Status Code: %d.", response.getStatusCode());
ResourceDetails resourceDetails = response.getValue();
System.out.printf("Max number of models that can be build for this account: %d%n",
resourceDetails.getCustomDocumentModelLimit());
System.out.printf("Current count of built document analysis models: %d%n",
resourceDetails.getCustomDocumentModelCount());
Parameters:
Returns:
listDocumentClassifiers
public PagedIterable
List information for each document classifier on the Form Recognizer account that were built successfully.
Code sample
documentModelAdministrationClient.listDocumentClassifiers()
.forEach(documentModel ->
System.out.printf("Classifier ID: %s, Classifier description: %s, Created on: %s.%n",
documentModel.getClassifierId(),
documentModel.getDescription(),
documentModel.getCreatedOn())
);
Returns:
listDocumentClassifiers
public PagedIterable
List information for each document classifier on the Form Recognizer account that were built successfully with a Http response and a specified Context.
Code sample
documentModelAdministrationClient.listDocumentClassifiers(Context.NONE)
.forEach(documentModel ->
System.out.printf("Classifier ID: %s, Classifier description: %s, Created on: %s.%n",
documentModel.getClassifierId(),
documentModel.getDescription(),
documentModel.getCreatedOn())
);
Parameters:
Returns:
listDocumentModels
public PagedIterable
List information for each model on the Form Recognizer account that were built successfully.
Code sample
documentModelAdministrationClient.listDocumentModels()
.forEach(documentModel ->
System.out.printf("Model ID: %s, Model description: %s, Created on: %s.%n",
documentModel.getModelId(),
documentModel.getDescription(),
documentModel.getCreatedOn())
);
Returns:
listDocumentModels
public PagedIterable
List information for each model on the Form Recognizer account that were built successfully with a Http response and a specified Context.
Code sample
documentModelAdministrationClient.listDocumentModels(Context.NONE)
.forEach(documentModel ->
System.out.printf("Model ID: %s, Model description: %s, Created on: %s.%n",
documentModel.getModelId(),
documentModel.getDescription(),
documentModel.getCreatedOn())
);
Parameters:
Returns:
listOperations
public PagedIterable
List information for each model operation on the Form Recognizer account in the past 24 hours.
Code sample
PagedIterable<OperationSummary>
modelOperationInfo = documentModelAdministrationClient.listOperations();
modelOperationInfo.forEach(modelOperationSummary -> {
System.out.printf("Operation ID: %s%n", modelOperationSummary.getOperationId());
System.out.printf("Operation Status: %s%n", modelOperationSummary.getStatus());
System.out.printf("Operation Created on: %s%n", modelOperationSummary.getCreatedOn());
System.out.printf("Operation Percent completed: %d%n", modelOperationSummary.getPercentCompleted());
System.out.printf("Operation Kind: %s%n", modelOperationSummary.getKind());
System.out.printf("Operation Last updated on: %s%n", modelOperationSummary.getLastUpdatedOn());
System.out.printf("Operation resource location: %s%n", modelOperationSummary.getResourceLocation());
});
Returns:
listOperations
public PagedIterable
List information for each operation on the Form Recognizer account in the past 24 hours with an HTTP response and a specified Context.
Code sample
PagedIterable<OperationSummary>
modelOperationInfo = documentModelAdministrationClient.listOperations(Context.NONE);
modelOperationInfo.forEach(modelOperationSummary -> {
System.out.printf("Operation ID: %s%n", modelOperationSummary.getOperationId());
System.out.printf("Operation Status: %s%n", modelOperationSummary.getStatus());
System.out.printf("Operation Created on: %s%n", modelOperationSummary.getCreatedOn());
System.out.printf("Operation Percent completed: %d%n", modelOperationSummary.getPercentCompleted());
System.out.printf("Operation Kind: %s%n", modelOperationSummary.getKind());
System.out.printf("Operation Last updated on: %s%n", modelOperationSummary.getLastUpdatedOn());
System.out.printf("Operation resource location: %s%n", modelOperationSummary.getResourceLocation());
});
Parameters:
Returns: