Creating and managing processors
Stay organized with collections
Save and categorize content based on your preferences.
Before you can send documents to be processed, you must first create your own instance of a processor. This page provides details about creating and managing processors.
Available processors
To create a processor instance using API, you need to know the name for each processor type. Get this list dynamically (with the code below), because your access may change.
The publicly available processor types are:
Digitize processors
OCR_PROCESSORFORM_PARSER_PROCESSORLAYOUT_PARSER_PROCESSOR
Pretrained processors
BANK_STATEMENT_PROCESSOREXPENSE_PROCESSORFORM_W2_PROCESSORID_PROOFING_PROCESSORINVOICE_PROCESSORPAYSTUB_PROCESSORUS_DRIVER_LICENSE_PROCESSORUS_PASSPORT_PROCESSORUTILITY_PROCESSOR
Extract / classify / split processors
CUSTOM_EXTRACTION_PROCESSORCUSTOM_CLASSIFICATION_PROCESSORCUSTOM_SPLITTING_PROCESSORSUMMARIZER_PROCESSOR
List processor types
Web UI
In the Google Cloud console, in the Document AI section, go to the Processor Gallery page.
View or search the list of processor types.
REST
This sample shows how to list the available processor types for your project using the fetchProcessorTypes method.
Before using any of the request data, make the following replacements:
- LOCATION: your processor's location, for example:
us- United Stateseu- European Union
- PROJECT_ID: Your Google Cloud project ID.
HTTP method and URL:
GET https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:fetchProcessorTypes
To send your request, choose one of these options:
curl
Execute the following command:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:fetchProcessorTypes"
PowerShell
Execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:fetchProcessorTypes" | Select-Object -Expand Content
The response is a list of ProcessorType which shows the available processor types, along with the category and available locations.
{
"processorTypes": [
[
...
{
"name": "projects/PROJECT_ID/locations/LOCATION/processorTypes/FORM_PARSER_PROCESSOR",
"type": "FORM_PARSER_PROCESSOR",
"category": "GENERAL",
"availableLocations": [
{
"locationId": "eu"
},
{
"locationId": "us"
}
],
"allowCreation": true,
"launchStage": "GA"
},
{
"name": "projects/PROJECT_ID/locations/LOCATION/processorTypes/OCR_PROCESSOR",
"type": "OCR_PROCESSOR",
"category": "GENERAL",
"availableLocations": [
{
"locationId": "eu"
},
{
"locationId": "us"
}
],
"allowCreation": true,
"launchStage": "GA"
},
{
"name": "projects/PROJECT_ID/locations/LOCATION/processorTypes/INVOICE_PROCESSOR",
"type": "INVOICE_PROCESSOR",
"category": "SPECIALIZED",
"availableLocations": [
{
"locationId": "eu"
},
{
"locationId": "us"
}
],
"allowCreation": true,
"launchStage": "GA"
},
{
"name": "projects/PROJECT_ID/locations/LOCATION/processorTypes/US_DRIVER_LICENSE_PROCESSOR",
"type": "US_DRIVER_LICENSE_PROCESSOR",
"category": "SPECIALIZED",
"availableLocations": [
{
"locationId": "us"
},
{
"locationId": "eu"
}
],
"allowCreation": true,
"launchStage": "GA"
},
...
]
}
Python
For more information, see the Document AI Python API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
fromgoogle.api_core.client_optionsimport ClientOptions
fromgoogle.cloudimport documentai # type: ignore
# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu'
deffetch_processor_types_sample(project_id: str, location: str) -> None:
# You must set the api_endpoint if you use a location other than 'us'.
opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient (client_options=opts)
# The full resource name of the location
# e.g.: projects/project_id/locations/location
parent = client.common_location_path (project_id, location)
# Fetch all processor types
response = client.fetch_processor_types (parent=parent)
print("Processor types:")
# Print the available processor types
for processor_type in response.processor_types:
if processor_type.allow_creation:
print(processor_type.type_)
Go
For more information, see the Document AI Go API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
packagemain
import(
"context"
documentai"cloud.google.com/go/documentai/apiv1"
documentaipb"cloud.google.com/go/documentai/apiv1/documentaipb"
)
funcmain(){
ctx:=context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c,err:=documentai.NewDocumentProcessorClient (ctx)
iferr!=nil{
// TODO: Handle error.
}
deferc.Close ()
req:=&documentaipb.FetchProcessorTypesRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/documentai/apiv1/documentaipb#FetchProcessorTypesRequest.
}
resp,err:=c.FetchProcessorTypes(ctx,req)
iferr!=nil{
// TODO: Handle error.
}
// TODO: Use resp.
_=resp
}
Java
For more information, see the Document AI Java API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
importcom.google.cloud.documentai.v1.DocumentProcessorServiceClient ;
importcom.google.cloud.documentai.v1.FetchProcessorTypesRequest ;
importcom.google.cloud.documentai.v1.FetchProcessorTypesResponse ;
importcom.google.cloud.documentai.v1.LocationName ;
publicclass SyncFetchProcessorTypes{
publicstaticvoidmain(String[]args)throwsException{
syncFetchProcessorTypes();
}
publicstaticvoidsyncFetchProcessorTypes()throwsException{
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try(DocumentProcessorServiceClient documentProcessorServiceClient=
DocumentProcessorServiceClient .create()){
FetchProcessorTypesRequest request=
FetchProcessorTypesRequest .newBuilder()
.setParent(LocationName .of("[PROJECT]","[LOCATION]").toString())
.build();
FetchProcessorTypesResponse response=
documentProcessorServiceClient.fetchProcessorTypes(request);
}
}
}Ruby
For more information, see the Document AI Ruby API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
require"google/cloud/document_ai/v1"
##
# Snippet for the fetch_processor_types call in the DocumentProcessorService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client#fetch_processor_types.
#
deffetch_processor_types
# Create a client object. The client can be reused for multiple calls.
client=Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client.new
# Create a request. To set request fields, pass in keyword arguments.
request=Google::Cloud::DocumentAI::V1::FetchProcessorTypesRequest.new
# Call the fetch_processor_types method.
result=client.fetch_processor_typesrequest
# The returned object is of type Google::Cloud::DocumentAI::V1::FetchProcessorTypesResponse.
presult
endC#
For more information, see the Document AI C# API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
usingGoogle.Api.Gax.ResourceNames ;
usingGoogle.Cloud.DocumentAI.V1 ;
publicsealedpartialclassGeneratedDocumentProcessorServiceClientSnippets
{
/// <summary>Snippet for FetchProcessorTypes</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
publicvoidFetchProcessorTypesRequestObject()
{
// Create client
DocumentProcessorServiceClient documentProcessorServiceClient=DocumentProcessorServiceClient .Create ();
// Initialize request argument(s)
FetchProcessorTypesRequest request=newFetchProcessorTypesRequest
{
ParentAsLocationName=LocationName .FromProjectLocation ("[PROJECT]","[LOCATION]"),
};
// Make the request
FetchProcessorTypesResponse response=documentProcessorServiceClient.FetchProcessorTypes (request);
}
}Create a processor
Web UI
In the Google Cloud console, in the Document AI section, go to the Processor Gallery page.
View or search the processor gallery to find the processor you want to create.
Click on the processor type from the list you want to create.
In the side Create processor window specify a processor name.
Select your Region from the list.
Click Create to create your processor.
You will be taken to the processor's Overview tab, which contains information such as Name, ID, Type, and Prediction endpoint. Use this endpoint to send requests.
REST
This sample shows you how to create a new processor using the processors.create method.
Before using any of the request data, make the following replacements:
- LOCATION: your processor's location, for example:
us- United Stateseu- European Union
- PROJECT_ID: Your Google Cloud project ID.
- PROCESSOR_TYPE: Type of the Processor, for example:
OCR_PROCESSORFORM_PARSER_PROCESSORINVOICE_PROCESSORUS_DRIVER_LICENSE_PROCESSOR
- DISPLAY_NAME: Display name for the processor.
HTTP method and URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors
Request JSON body:
{
"type": "PROCESSOR_TYPE",
"displayName": "DISPLAY_NAME"
}
To send your request, choose one of these options:
curl
Save the request body in a file named request.json,
and execute the following command:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors"
PowerShell
Save the request body in a file named request.json,
and execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors" | Select-Object -Expand Content
If the request is successful, the server returns a 200 OK HTTP status code and the response in JSON format. The response contains information about the newly created processor, such as the processEndpoint and full processor name.
Both of these strings contain the unique processor ID (e.g. aa22ec60216f6ccc) needed to send requests.
{
"name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID",
"type": "PROCESSOR_TYPE",
"displayName": "DISPLAY_NAME",
"state": "ENABLED",
"processEndpoint": "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process",
"createTime": "2022-03-02T22:50:31.395849Z",
"defaultProcessorVersion": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/pretrained"
}
Python
For more information, see the Document AI Python API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
fromgoogle.api_core.client_optionsimport ClientOptions
fromgoogle.cloudimport documentai # type: ignore
# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu'
# processor_display_name = 'YOUR_PROCESSOR_DISPLAY_NAME' # Must be unique per project, e.g.: 'My Processor'
# processor_type = 'YOUR_PROCESSOR_TYPE' # Use fetch_processor_types to get available processor types
defcreate_processor_sample(
project_id: str, location: str, processor_display_name: str, processor_type: str
) -> None:
# You must set the api_endpoint if you use a location other than 'us'.
opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient (client_options=opts)
# The full resource name of the location
# e.g.: projects/project_id/locations/location
parent = client.common_location_path (project_id, location)
# Create a processor
processor = client.create_processor (
parent=parent,
processor=documentai.Processor (
display_name=processor_display_name, type_=processor_type
),
)
# Print the processor information
print(f"Processor Name: {processor.name}")
print(f"Processor Display Name: {processor.display_name}")
print(f"Processor Type: {processor.type_}")
Go
For more information, see the Document AI Go API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
packagemain
import(
"context"
documentai"cloud.google.com/go/documentai/apiv1"
documentaipb"cloud.google.com/go/documentai/apiv1/documentaipb"
)
funcmain(){
ctx:=context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c,err:=documentai.NewDocumentProcessorClient (ctx)
iferr!=nil{
// TODO: Handle error.
}
deferc.Close ()
req:=&documentaipb.CreateProcessorRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/documentai/apiv1/documentaipb#CreateProcessorRequest.
}
resp,err:=c.CreateProcessor(ctx,req)
iferr!=nil{
// TODO: Handle error.
}
// TODO: Use resp.
_=resp
}
Java
For more information, see the Document AI Java API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
importcom.google.cloud.documentai.v1.CreateProcessorRequest ;
importcom.google.cloud.documentai.v1.DocumentProcessorServiceClient ;
importcom.google.cloud.documentai.v1.LocationName ;
importcom.google.cloud.documentai.v1.Processor ;
publicclass SyncCreateProcessor{
publicstaticvoidmain(String[]args)throwsException{
syncCreateProcessor();
}
publicstaticvoidsyncCreateProcessor()throwsException{
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try(DocumentProcessorServiceClient documentProcessorServiceClient=
DocumentProcessorServiceClient .create()){
CreateProcessorRequest request=
CreateProcessorRequest .newBuilder()
.setParent(LocationName .of("[PROJECT]","[LOCATION]").toString())
.setProcessor(Processor .newBuilder().build())
.build();
Processor response=documentProcessorServiceClient.createProcessor(request);
}
}
}Ruby
For more information, see the Document AI Ruby API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
require"google/cloud/document_ai/v1"
##
# Snippet for the create_processor call in the DocumentProcessorService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client#create_processor.
#
defcreate_processor
# Create a client object. The client can be reused for multiple calls.
client=Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client.new
# Create a request. To set request fields, pass in keyword arguments.
request=Google::Cloud::DocumentAI::V1::CreateProcessorRequest.new
# Call the create_processor method.
result=client.create_processorrequest
# The returned object is of type Google::Cloud::DocumentAI::V1::Processor.
presult
endC#
For more information, see the Document AI C# API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
usingGoogle.Api.Gax.ResourceNames ;
usingGoogle.Cloud.DocumentAI.V1 ;
publicsealedpartialclassGeneratedDocumentProcessorServiceClientSnippets
{
/// <summary>Snippet for CreateProcessor</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
publicvoidCreateProcessorRequestObject()
{
// Create client
DocumentProcessorServiceClient documentProcessorServiceClient=DocumentProcessorServiceClient .Create ();
// Initialize request argument(s)
CreateProcessorRequest request=newCreateProcessorRequest
{
ParentAsLocationName=LocationName .FromProjectLocation ("[PROJECT]","[LOCATION]"),
Processor=newProcessor (),
};
// Make the request
Processor response=documentProcessorServiceClient.CreateProcessor (request);
}
}Get a list of processors
Web UI
In the Google Cloud console, in the Document AI section, go to the Processors page.
The Processors page lists all of the processors along with their Name, Status, Region, and Type.
REST
This sample shows you how to list existing processors using the processors.list method.
Before using any of the request data, make the following replacements:
- LOCATION: your processor's location, for example:
us- United Stateseu- European Union
- PROJECT_ID: Your Google Cloud project ID.
HTTP method and URL:
GET https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors
To send your request, choose one of these options:
curl
Execute the following command:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors"
PowerShell
Execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors" | Select-Object -Expand Content
The response is a list of Processors, which contains information about each processor
such as its name, type, state, and other details.
{
"processors": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID",
"type": "FORM_PARSER_PROCESSOR",
"displayName": "DISPLAY_NAME",
"state": "ENABLED",
"processEndpoint": "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process",
"createTime": "2022-03-02T22:33:54.938593Z",
"defaultProcessorVersion": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/pretrained"
}
]
}
Python
For more information, see the Document AI Python API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
fromgoogle.api_core.client_optionsimport ClientOptions
fromgoogle.cloudimport documentai # type: ignore
# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu'
deflist_processors_sample(project_id: str, location: str) -> None:
# You must set the api_endpoint if you use a location other than 'us'.
opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient (client_options=opts)
# The full resource name of the location
# e.g.: projects/project_id/locations/location
parent = client.common_location_path (project_id, location)
# Make ListProcessors request
processor_list = client.list_processors (parent=parent)
# Print the processor information
for processor in processor_list:
print(f"Processor Name: {processor.name}")
print(f"Processor Display Name: {processor.display_name}")
print(f"Processor Type: {processor.type_}")
print("")
Go
For more information, see the Document AI Go API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
packagemain
import(
"context"
documentai"cloud.google.com/go/documentai/apiv1"
documentaipb"cloud.google.com/go/documentai/apiv1/documentaipb"
"google.golang.org/api/iterator"
)
funcmain(){
ctx:=context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c,err:=documentai.NewDocumentProcessorClient (ctx)
iferr!=nil{
// TODO: Handle error.
}
deferc.Close ()
req:=&documentaipb.ListProcessorsRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/documentai/apiv1/documentaipb#ListProcessorsRequest.
}
it:=c.ListProcessors(ctx,req)
for{
resp,err:=it.Next()
iferr==iterator.Done{
break
}
iferr!=nil{
// TODO: Handle error.
}
// TODO: Use resp.
_=resp
// If you need to access the underlying RPC response,
// you can do so by casting the `Response` as below.
// Otherwise, remove this line. Only populated after
// first call to Next(). Not safe for concurrent access.
_=it.Response.(*documentaipb.ListProcessorsResponse)
}
}
Java
For more information, see the Document AI Java API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
importcom.google.cloud.documentai.v1.DocumentProcessorServiceClient ;
importcom.google.cloud.documentai.v1.ListProcessorsRequest ;
importcom.google.cloud.documentai.v1.LocationName ;
importcom.google.cloud.documentai.v1.Processor ;
publicclass SyncListProcessors{
publicstaticvoidmain(String[]args)throwsException{
syncListProcessors();
}
publicstaticvoidsyncListProcessors()throwsException{
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try(DocumentProcessorServiceClient documentProcessorServiceClient=
DocumentProcessorServiceClient .create()){
ListProcessorsRequest request=
ListProcessorsRequest .newBuilder()
.setParent(LocationName .of("[PROJECT]","[LOCATION]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for(Processor element:
documentProcessorServiceClient.listProcessors(request).iterateAll()){
// doThingsWith(element);
}
}
}
}Ruby
For more information, see the Document AI Ruby API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
require"google/cloud/document_ai/v1"
##
# Snippet for the list_processors call in the DocumentProcessorService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client#list_processors.
#
deflist_processors
# Create a client object. The client can be reused for multiple calls.
client=Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client.new
# Create a request. To set request fields, pass in keyword arguments.
request=Google::Cloud::DocumentAI::V1::ListProcessorsRequest.new
# Call the list_processors method.
result=client.list_processorsrequest
# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.eachdo|item|
# Each element is of type ::Google::Cloud::DocumentAI::V1::Processor.
pitem
end
endC#
For more information, see the Document AI C# API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
usingGoogle.Api.Gax ;
usingGoogle.Api.Gax.ResourceNames ;
usingGoogle.Cloud.DocumentAI.V1 ;
usingSystem;
publicsealedpartialclassGeneratedDocumentProcessorServiceClientSnippets
{
/// <summary>Snippet for ListProcessors</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
publicvoidListProcessorsRequestObject()
{
// Create client
DocumentProcessorServiceClient documentProcessorServiceClient=DocumentProcessorServiceClient .Create ();
// Initialize request argument(s)
ListProcessorsRequest request=newListProcessorsRequest
{
ParentAsLocationName=LocationName .FromProjectLocation ("[PROJECT]","[LOCATION]"),
};
// Make the request
PagedEnumerable<ListProcessorsResponse,Processor>response=documentProcessorServiceClient.ListProcessors (request);
// Iterate over all response items, lazily performing RPCs as required
foreach(Processor iteminresponse)
{
// Do something with each item
Console.WriteLine(item);
}
// Or iterate over pages (of server-defined size), performing one RPC per page
foreach(ListProcessorsResponse pageinresponse.AsRawResponses())
{
// Do something with each page of items
Console.WriteLine("A page of results:");
foreach(Processor iteminpage)
{
// Do something with each item
Console.WriteLine(item);
}
}
// Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
intpageSize=10;
Page<Processor>singlePage=response.ReadPage(pageSize);
// Do something with the page of items
Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
foreach(Processor iteminsinglePage)
{
// Do something with each item
Console.WriteLine(item);
}
// Store the pageToken, for when the next page is required.
stringnextPageToken=singlePage.NextPageToken;
}
}View details about a processor
Web UI
In the Google Cloud console, in the Document AI section, go to the Processors page.
From the list of processors, click on the name of the processor that you want to view details for.
You will be taken to the processor's Overview tab, which contains information such as Name, ID, Type, and Prediction endpoint.
REST
This sample shows you how to get details about an existing Processor using the processors.get method.
Before using any of the request data, make the following replacements:
- LOCATION: your processor's location, for example:
us- United Stateseu- European Union
- PROJECT_ID: Your Google Cloud project ID.
- PROCESSOR_ID: the ID of your custom processor.
HTTP method and URL:
GET https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID
To send your request, choose one of these options:
curl
Execute the following command:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID"
PowerShell
Execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID" | Select-Object -Expand Content
The response is a Processor, which contains information about the processor such as its name, type, state, and other details.
{
"processors": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID",
"type": "OCR_PROCESSOR",
"displayName": "DISPLAY_NAME",
"state": "ENABLED",
"processEndpoint": "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process",
"createTime": "2022-03-02T22:33:54.938593Z",
"defaultProcessorVersion": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/pretrained"
}
]
}
Python
For more information, see the Document AI Python API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
fromgoogle.api_core.client_optionsimport ClientOptions
fromgoogle.cloudimport documentai # type: ignore
# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu'
# processor_id = 'YOUR_PROCESSOR_ID'
defget_processor_sample(project_id: str, location: str, processor_id: str) -> None:
# You must set the api_endpoint if you use a location other than 'us'.
opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient (client_options=opts)
# The full resource name of the processor, e.g.:
# projects/{project_id}/locations/{location}/processors/{processor_id}
name = client.processor_path (project_id, location, processor_id)
# Make GetProcessor request
processor = client.get_processor (name=name)
# Print the processor information
print(f"Processor Name: {processor.name}")
print(f"Processor Display Name: {processor.display_name}")
print(f"Processor Type: {processor.type_}")
Go
For more information, see the Document AI Go API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
packagemain
import(
"context"
documentai"cloud.google.com/go/documentai/apiv1"
documentaipb"cloud.google.com/go/documentai/apiv1/documentaipb"
)
funcmain(){
ctx:=context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c,err:=documentai.NewDocumentProcessorClient (ctx)
iferr!=nil{
// TODO: Handle error.
}
deferc.Close ()
req:=&documentaipb.GetProcessorRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/documentai/apiv1/documentaipb#GetProcessorRequest.
}
resp,err:=c.GetProcessor(ctx,req)
iferr!=nil{
// TODO: Handle error.
}
// TODO: Use resp.
_=resp
}
Java
For more information, see the Document AI Java API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
importcom.google.cloud.documentai.v1.DocumentProcessorServiceClient ;
importcom.google.cloud.documentai.v1.GetProcessorRequest ;
importcom.google.cloud.documentai.v1.Processor ;
importcom.google.cloud.documentai.v1.ProcessorName ;
publicclass SyncGetProcessor{
publicstaticvoidmain(String[]args)throwsException{
syncGetProcessor();
}
publicstaticvoidsyncGetProcessor()throwsException{
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try(DocumentProcessorServiceClient documentProcessorServiceClient=
DocumentProcessorServiceClient .create()){
GetProcessorRequest request=
GetProcessorRequest .newBuilder()
.setName(ProcessorName .of("[PROJECT]","[LOCATION]","[PROCESSOR]").toString())
.build();
Processor response=documentProcessorServiceClient.getProcessor(request);
}
}
}Ruby
For more information, see the Document AI Ruby API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
require"google/cloud/document_ai/v1"
##
# Snippet for the get_processor call in the DocumentProcessorService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client#get_processor.
#
defget_processor
# Create a client object. The client can be reused for multiple calls.
client=Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client.new
# Create a request. To set request fields, pass in keyword arguments.
request=Google::Cloud::DocumentAI::V1::GetProcessorRequest.new
# Call the get_processor method.
result=client.get_processorrequest
# The returned object is of type Google::Cloud::DocumentAI::V1::Processor.
presult
endC#
For more information, see the Document AI C# API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
usingGoogle.Cloud.DocumentAI.V1 ;
publicsealedpartialclassGeneratedDocumentProcessorServiceClientSnippets
{
/// <summary>Snippet for GetProcessor</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
publicvoidGetProcessorRequestObject()
{
// Create client
DocumentProcessorServiceClient documentProcessorServiceClient=DocumentProcessorServiceClient .Create ();
// Initialize request argument(s)
GetProcessorRequest request=newGetProcessorRequest
{
ProcessorName=ProcessorName .FromProjectLocationProcessor ("[PROJECT]","[LOCATION]","[PROCESSOR]"),
};
// Make the request
Processor response=documentProcessorServiceClient.GetProcessor (request);
}
}Enable a processor
Web UI
In the Google Cloud console, in the Document AI section, go to the Processors page.
Next to your processor, in the Action menu , click Enable processor.
REST
This sample shows you how to enable an existing Processor using the processors.enable method.
Before using any of the request data, make the following replacements:
- LOCATION: your processor's location, for example:
us- United Stateseu- European Union
- PROJECT_ID: Your Google Cloud project ID.
- PROCESSOR_ID: the ID of your custom processor.
HTTP method and URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:enable
To send your request, choose one of these options:
curl
Execute the following command:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:enable"
PowerShell
Execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:enable" | Select-Object -Expand Content
The response is a long running operation
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION",
"metadata": {
"@type": "type.googleapis.com/google.cloud.documentai.v1.EnableProcessorMetadata",
"commonMetadata": {
"state": "RUNNING",
"createTime": "2022-03-02T22:52:49.957096Z",
"updateTime": "2022-03-02T22:52:50.175976Z",
"resource": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID"
}
}
}
To poll the long-running operation, call operations.get:
curl-XGEThttps://documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION\ -H"Authorization: Bearer "$(gcloudauthprint-access-token)\ -H"X-Goog-User-Project: PROJECT_ID"The
EnableProcessorMetadatain the response indicates the state of the operation:{ "name":"projects/<project_id>/locations/<location>/operations/<operation>", "metadata":{ "@type":"type.googleapis.com/google.cloud.documentai.v1.EnableProcessorMetadata", "commonMetadata":{ "state":"SUCCEEDED", "createTime":"2022-03-02T22:52:49.957096Z", "updateTime":"2022-03-02T22:52:50.175976Z", "resource":"projects/<project_id>/locations/<location>/processors/<processor_id>" } }, "done":true, "response":{ "@type":"type.googleapis.com/google.cloud.documentai.v1.EnableProcessorResponse" } }
Python
For more information, see the Document AI Python API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
fromgoogle.api_core.client_optionsimport ClientOptions
fromgoogle.api_core.exceptionsimport FailedPrecondition
fromgoogle.cloudimport documentai # type: ignore
# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu'
# processor_id = 'YOUR_PROCESSOR_ID'
defenable_processor_sample(project_id: str, location: str, processor_id: str) -> None:
# You must set the api_endpoint if you use a location other than 'us'.
opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient (client_options=opts)
# The full resource name of the location
# e.g.: projects/project_id/locations/location/processors/processor_id
processor_name = client.processor_path (project_id, location, processor_id)
request = documentai.EnableProcessorRequest (name=processor_name)
# Make EnableProcessor request
try:
operation = client.enable_processor (request=request)
# Print operation name
print(operation.operation.name)
# Wait for operation to complete
operation.result()
# Cannot enable a processor that is already enabled
except FailedPrecondition as e:
print(e.message)
Go
For more information, see the Document AI Go API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
packagemain
import(
"context"
documentai"cloud.google.com/go/documentai/apiv1"
documentaipb"cloud.google.com/go/documentai/apiv1/documentaipb"
)
funcmain(){
ctx:=context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c,err:=documentai.NewDocumentProcessorClient (ctx)
iferr!=nil{
// TODO: Handle error.
}
deferc.Close ()
req:=&documentaipb.EnableProcessorRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/documentai/apiv1/documentaipb#EnableProcessorRequest.
}
op,err:=c.EnableProcessor(ctx,req)
iferr!=nil{
// TODO: Handle error.
}
resp,err:=op.Wait(ctx)
iferr!=nil{
// TODO: Handle error.
}
// TODO: Use resp.
_=resp
}
Java
For more information, see the Document AI Java API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
importcom.google.cloud.documentai.v1.DocumentProcessorServiceClient ;
importcom.google.cloud.documentai.v1.EnableProcessorRequest ;
importcom.google.cloud.documentai.v1.EnableProcessorResponse ;
importcom.google.cloud.documentai.v1.ProcessorName ;
publicclass SyncEnableProcessor{
publicstaticvoidmain(String[]args)throwsException{
syncEnableProcessor();
}
publicstaticvoidsyncEnableProcessor()throwsException{
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try(DocumentProcessorServiceClient documentProcessorServiceClient=
DocumentProcessorServiceClient .create()){
EnableProcessorRequest request=
EnableProcessorRequest .newBuilder()
.setName(ProcessorName .of("[PROJECT]","[LOCATION]","[PROCESSOR]").toString())
.build();
EnableProcessorResponse response=
documentProcessorServiceClient.enableProcessorAsync (request).get();
}
}
}Ruby
For more information, see the Document AI Ruby API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
require"google/cloud/document_ai/v1"
##
# Snippet for the enable_processor call in the DocumentProcessorService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client#enable_processor.
#
defenable_processor
# Create a client object. The client can be reused for multiple calls.
client=Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client.new
# Create a request. To set request fields, pass in keyword arguments.
request=Google::Cloud::DocumentAI::V1::EnableProcessorRequest.new
# Call the enable_processor method.
result=client.enable_processorrequest
# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done!timeout:60
ifresult.response?
presult.response
else
puts"No response received."
end
endC#
For more information, see the Document AI C# API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
usingGoogle.Cloud.DocumentAI.V1 ;
usingGoogle.LongRunning ;
publicsealedpartialclassGeneratedDocumentProcessorServiceClientSnippets
{
/// <summary>Snippet for EnableProcessor</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
publicvoidEnableProcessorRequestObject()
{
// Create client
DocumentProcessorServiceClient documentProcessorServiceClient=DocumentProcessorServiceClient .Create ();
// Initialize request argument(s)
EnableProcessorRequest request=newEnableProcessorRequest
{
ProcessorName=ProcessorName .FromProjectLocationProcessor ("[PROJECT]","[LOCATION]","[PROCESSOR]"),
};
// Make the request
Operation<EnableProcessorResponse,EnableProcessorMetadata>response=documentProcessorServiceClient.EnableProcessor (request);
// Poll until the returned long-running operation is complete
Operation<EnableProcessorResponse,EnableProcessorMetadata>completedResponse=response.PollUntilCompleted();
// Retrieve the operation result
EnableProcessorResponse result=completedResponse.Result;
// Or get the name of the operation
stringoperationName=response.Name;
// This name can be stored, then the long-running operation retrieved later by name
Operation<EnableProcessorResponse,EnableProcessorMetadata>retrievedResponse=documentProcessorServiceClient.PollOnceEnableProcessor (operationName);
// Check if the retrieved long-running operation has completed
if(retrievedResponse.IsCompleted)
{
// If it has completed, then access the result
EnableProcessorResponse retrievedResult=retrievedResponse.Result;
}
}
}Disable a processor
Web UI
In the Google Cloud console, in the Document AI section, go to the Processors page.
- Next to your processor, in the Action menu , click Disable processor.
REST
This sample shows you how to disable an existing Processor using the processors.disable method.
Before using any of the request data, make the following replacements:
- LOCATION: your processor's location, for example:
us- United Stateseu- European Union
- PROJECT_ID: Your Google Cloud project ID.
- PROCESSOR_ID: the ID of your custom processor.
HTTP method and URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:disable
To send your request, choose one of these options:
curl
Execute the following command:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:disable"
PowerShell
Execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:disable" | Select-Object -Expand Content
The response is a long running operation
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION",
"metadata": {
"@type": "type.googleapis.com/google.cloud.documentai.v1.DisableProcessorMetadata",
"commonMetadata": {
"state": "RUNNING",
"createTime": "2022-03-02T22:52:49.957096Z",
"updateTime": "2022-03-02T22:52:50.175976Z",
"resource": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID"
}
}
}
To poll the long-running operation, call operations.get:
curl-XGEThttps://documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION\ -H"Authorization: Bearer "$(gcloudauthprint-access-token)\ -H"X-Goog-User-Project: PROJECT_ID"The
DisableProcessorMetadatain the response indicates the state of the operation:{ "name":"projects/<project_id>/locations/<location>/operations/<operation>", "metadata":{ "@type":"type.googleapis.com/google.cloud.documentai.v1.DisableProcessorMetadata", "commonMetadata":{ "state":"SUCCEEDED", "createTime":"2022-03-02T22:52:49.957096Z", "updateTime":"2022-03-02T22:52:50.175976Z", "resource":"projects/<project_id>/locations/<location>/processors/<processor_id>" } }, "done":true, "response":{ "@type":"type.googleapis.com/google.cloud.documentai.v1.DisableProcessorResponse" } }
Python
For more information, see the Document AI Python API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
fromgoogle.api_core.client_optionsimport ClientOptions
fromgoogle.api_core.exceptionsimport FailedPrecondition
fromgoogle.cloudimport documentai # type: ignore
# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu'
# processor_id = 'YOUR_PROCESSOR_ID'
defdisable_processor_sample(project_id: str, location: str, processor_id: str) -> None:
# You must set the api_endpoint if you use a location other than 'us'.
opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient (client_options=opts)
# The full resource name of the processor
# e.g.: projects/project_id/locations/location/processors/processor_id
processor_name = client.processor_path (project_id, location, processor_id)
request = documentai.DisableProcessorRequest (name=processor_name)
# Make DisableProcessor request
try:
operation = client.disable_processor (request=request)
# Print operation name
print(operation.operation.name)
# Wait for operation to complete
operation.result()
# Cannot disable a processor that is already disabled
except FailedPrecondition as e:
print(e.message)
Go
For more information, see the Document AI Go API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
packagemain
import(
"context"
documentai"cloud.google.com/go/documentai/apiv1"
documentaipb"cloud.google.com/go/documentai/apiv1/documentaipb"
)
funcmain(){
ctx:=context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c,err:=documentai.NewDocumentProcessorClient (ctx)
iferr!=nil{
// TODO: Handle error.
}
deferc.Close ()
req:=&documentaipb.DisableProcessorRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/documentai/apiv1/documentaipb#DisableProcessorRequest.
}
op,err:=c.DisableProcessor(ctx,req)
iferr!=nil{
// TODO: Handle error.
}
resp,err:=op.Wait(ctx)
iferr!=nil{
// TODO: Handle error.
}
// TODO: Use resp.
_=resp
}
Java
For more information, see the Document AI Java API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
importcom.google.cloud.documentai.v1.DisableProcessorRequest ;
importcom.google.cloud.documentai.v1.DisableProcessorResponse ;
importcom.google.cloud.documentai.v1.DocumentProcessorServiceClient ;
importcom.google.cloud.documentai.v1.ProcessorName ;
publicclass SyncDisableProcessor{
publicstaticvoidmain(String[]args)throwsException{
syncDisableProcessor();
}
publicstaticvoidsyncDisableProcessor()throwsException{
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try(DocumentProcessorServiceClient documentProcessorServiceClient=
DocumentProcessorServiceClient .create()){
DisableProcessorRequest request=
DisableProcessorRequest .newBuilder()
.setName(ProcessorName .of("[PROJECT]","[LOCATION]","[PROCESSOR]").toString())
.build();
DisableProcessorResponse response=
documentProcessorServiceClient.disableProcessorAsync (request).get();
}
}
}Ruby
For more information, see the Document AI Ruby API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
require"google/cloud/document_ai/v1"
##
# Snippet for the disable_processor call in the DocumentProcessorService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client#disable_processor.
#
defdisable_processor
# Create a client object. The client can be reused for multiple calls.
client=Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client.new
# Create a request. To set request fields, pass in keyword arguments.
request=Google::Cloud::DocumentAI::V1::DisableProcessorRequest.new
# Call the disable_processor method.
result=client.disable_processorrequest
# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done!timeout:60
ifresult.response?
presult.response
else
puts"No response received."
end
endC#
For more information, see the Document AI C# API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
usingGoogle.Cloud.DocumentAI.V1 ;
usingGoogle.LongRunning ;
publicsealedpartialclassGeneratedDocumentProcessorServiceClientSnippets
{
/// <summary>Snippet for DisableProcessor</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
publicvoidDisableProcessorRequestObject()
{
// Create client
DocumentProcessorServiceClient documentProcessorServiceClient=DocumentProcessorServiceClient .Create ();
// Initialize request argument(s)
DisableProcessorRequest request=newDisableProcessorRequest
{
ProcessorName=ProcessorName .FromProjectLocationProcessor ("[PROJECT]","[LOCATION]","[PROCESSOR]"),
};
// Make the request
Operation<DisableProcessorResponse,DisableProcessorMetadata>response=documentProcessorServiceClient.DisableProcessor (request);
// Poll until the returned long-running operation is complete
Operation<DisableProcessorResponse,DisableProcessorMetadata>completedResponse=response.PollUntilCompleted();
// Retrieve the operation result
DisableProcessorResponse result=completedResponse.Result;
// Or get the name of the operation
stringoperationName=response.Name;
// This name can be stored, then the long-running operation retrieved later by name
Operation<DisableProcessorResponse,DisableProcessorMetadata>retrievedResponse=documentProcessorServiceClient.PollOnceDisableProcessor (operationName);
// Check if the retrieved long-running operation has completed
if(retrievedResponse.IsCompleted)
{
// If it has completed, then access the result
DisableProcessorResponse retrievedResult=retrievedResponse.Result;
}
}
}Delete a processor
Web UI
In the Google Cloud console, in the Document AI section, go to the Processors page.
- Next to your processor, in the Action menu , click Delete processor.
REST
This sample shows you how to delete an existing Processor using the processors.delete method.
Before using any of the request data, make the following replacements:
- LOCATION: your processor's location, for example:
us- United Stateseu- European Union
- PROJECT_ID: Your Google Cloud project ID.
- PROCESSOR_ID: the ID of your custom processor.
HTTP method and URL:
DELETE https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID
To send your request, choose one of these options:
curl
Execute the following command:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID"
PowerShell
Execute the following command:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID" | Select-Object -Expand Content
The response is a long-running operation
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION",
"metadata": {
"@type": "type.googleapis.com/google.cloud.documentai.v1.DeleteProcessorMetadata",
"commonMetadata": {
"state": "RUNNING",
"createTime": "2022-03-02T22:52:49.957096Z",
"updateTime": "2022-03-02T22:52:50.175976Z",
"resource": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID"
}
}
}
To poll the long-running operation, call operations.get:
curl-XGEThttps://documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION\ -H"Authorization: Bearer "$(gcloudauthprint-access-token)\ -H"X-Goog-User-Project: PROJECT_ID"The
DeleteProcessorMetadatain the response indicates the state of the operation:{ "name":"projects/<project_id>/locations/<location>/operations/<operation>", "metadata":{ "@type":"type.googleapis.com/google.cloud.documentai.v1.DeleteProcessorMetadata", "commonMetadata":{ "state":"SUCCEEDED", "createTime":"2022-03-02T22:52:49.957096Z", "updateTime":"2022-03-02T22:52:50.175976Z", "resource":"projects/<project_id>/locations/<location>/processors/<processor_id>" } }, "done":true, "response":{ "@type":"type.googleapis.com/google.protobuf.Empty" } }
Python
For more information, see the Document AI Python API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
fromgoogle.api_core.client_optionsimport ClientOptions
fromgoogle.api_core.exceptionsimport NotFound
fromgoogle.cloudimport documentai # type: ignore
# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu'
# processor_id = 'YOUR_PROCESSOR_ID'
defdelete_processor_sample(project_id: str, location: str, processor_id: str) -> None:
# You must set the api_endpoint if you use a location other than 'us'.
opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient (client_options=opts)
# The full resource name of the processor
# e.g.: projects/project_id/locations/location/processors/processor_id
processor_name = client.processor_path (project_id, location, processor_id)
# Delete a processor
try:
operation = client.delete_processor (name=processor_name)
# Print operation details
print(operation.operation.name)
# Wait for operation to complete
operation.result()
except NotFound as e:
print(e.message)
Go
For more information, see the Document AI Go API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
packagemain
import(
"context"
documentai"cloud.google.com/go/documentai/apiv1"
documentaipb"cloud.google.com/go/documentai/apiv1/documentaipb"
)
funcmain(){
ctx:=context.Background()
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in:
// https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
c,err:=documentai.NewDocumentProcessorClient (ctx)
iferr!=nil{
// TODO: Handle error.
}
deferc.Close ()
req:=&documentaipb.DeleteProcessorRequest{
// TODO: Fill request struct fields.
// See https://pkg.go.dev/cloud.google.com/go/documentai/apiv1/documentaipb#DeleteProcessorRequest.
}
op,err:=c.DeleteProcessor(ctx,req)
iferr!=nil{
// TODO: Handle error.
}
err=op.Wait(ctx)
iferr!=nil{
// TODO: Handle error.
}
}
Java
For more information, see the Document AI Java API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
importcom.google.cloud.documentai.v1.DeleteProcessorRequest ;
importcom.google.cloud.documentai.v1.DocumentProcessorServiceClient ;
importcom.google.cloud.documentai.v1.ProcessorName ;
importcom.google.protobuf.Empty ;
publicclass SyncDeleteProcessor{
publicstaticvoidmain(String[]args)throwsException{
syncDeleteProcessor();
}
publicstaticvoidsyncDeleteProcessor()throwsException{
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try(DocumentProcessorServiceClient documentProcessorServiceClient=
DocumentProcessorServiceClient .create()){
DeleteProcessorRequest request=
DeleteProcessorRequest .newBuilder()
.setName(ProcessorName .of("[PROJECT]","[LOCATION]","[PROCESSOR]").toString())
.build();
documentProcessorServiceClient.deleteProcessorAsync (request).get();
}
}
}Ruby
For more information, see the Document AI Ruby API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
require"google/cloud/document_ai/v1"
##
# Snippet for the delete_processor call in the DocumentProcessorService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client#delete_processor.
#
defdelete_processor
# Create a client object. The client can be reused for multiple calls.
client=Google::Cloud::DocumentAI::V1::DocumentProcessorService::Client.new
# Create a request. To set request fields, pass in keyword arguments.
request=Google::Cloud::DocumentAI::V1::DeleteProcessorRequest.new
# Call the delete_processor method.
result=client.delete_processorrequest
# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done!timeout:60
ifresult.response?
presult.response
else
puts"No response received."
end
endC#
For more information, see the Document AI C# API reference documentation.
To authenticate to Document AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
usingGoogle.Cloud.DocumentAI.V1 ;
usingGoogle.LongRunning ;
usingGoogle.Protobuf.WellKnownTypes ;
publicsealedpartialclassGeneratedDocumentProcessorServiceClientSnippets
{
/// <summary>Snippet for DeleteProcessor</summary>
/// <remarks>
/// This snippet has been automatically generated and should be regarded as a code template only.
/// It will require modifications to work:
/// - It may require correct/in-range values for request initialization.
/// - It may require specifying regional endpoints when creating the service client as shown in
/// https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
/// </remarks>
publicvoidDeleteProcessorRequestObject()
{
// Create client
DocumentProcessorServiceClient documentProcessorServiceClient=DocumentProcessorServiceClient .Create ();
// Initialize request argument(s)
DeleteProcessorRequest request=newDeleteProcessorRequest
{
ProcessorName=ProcessorName .FromProjectLocationProcessor ("[PROJECT]","[LOCATION]","[PROCESSOR]"),
};
// Make the request
Operation<Empty,DeleteProcessorMetadata>response=documentProcessorServiceClient.DeleteProcessor (request);
// Poll until the returned long-running operation is complete
Operation<Empty,DeleteProcessorMetadata>completedResponse=response.PollUntilCompleted();
// Retrieve the operation result
Empty result=completedResponse.Result;
// Or get the name of the operation
stringoperationName=response.Name;
// This name can be stored, then the long-running operation retrieved later by name
Operation<Empty,DeleteProcessorMetadata>retrievedResponse=documentProcessorServiceClient.PollOnceDeleteProcessor (operationName);
// Check if the retrieved long-running operation has completed
if(retrievedResponse.IsCompleted)
{
// If it has completed, then access the result
Empty retrievedResult=retrievedResponse.Result;
}
}
}