Creating and managing processors

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_PROCESSOR
  • FORM_PARSER_PROCESSOR
  • LAYOUT_PARSER_PROCESSOR

Pretrained processors

  • BANK_STATEMENT_PROCESSOR
  • EXPENSE_PROCESSOR
  • FORM_W2_PROCESSOR
  • ID_PROOFING_PROCESSOR
  • INVOICE_PROCESSOR
  • PAYSTUB_PROCESSOR
  • US_DRIVER_LICENSE_PROCESSOR
  • US_PASSPORT_PROCESSOR
  • UTILITY_PROCESSOR

Extract / classify / split processors

  • CUSTOM_EXTRACTION_PROCESSOR
  • CUSTOM_CLASSIFICATION_PROCESSOR
  • CUSTOM_SPLITTING_PROCESSOR
  • SUMMARIZER_PROCESSOR

List processor types

Web UI

  1. In the Google Cloud console, in the Document AI section, go to the Processor Gallery page.

    Go to Processor Gallery

  2. 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 States
    • eu - 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
end

C#

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

  1. In the Google Cloud console, in the Document AI section, go to the Processor Gallery page.

    Go to Processor Gallery

  2. View or search the processor gallery to find the processor you want to create.

  3. Click on the processor type from the list you want to create.

  4. In the side Create processor window specify a processor name.

  5. Select your Region from the list.

  6. 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 States
    • eu - European Union
  • PROJECT_ID: Your Google Cloud project ID.
  • PROCESSOR_TYPE: Type of the Processor, for example:
    • OCR_PROCESSOR
    • FORM_PARSER_PROCESSOR
    • INVOICE_PROCESSOR
    • US_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
end

C#

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

  1. In the Google Cloud console, in the Document AI section, go to the Processors page.

    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 States
    • eu - 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
end

C#

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

  1. In the Google Cloud console, in the Document AI section, go to the Processors page.

    Go to the Processors page

  2. 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 States
    • eu - 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
end

C#

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

  1. In the Google Cloud console, in the Document AI section, go to the Processors page.

    Go to the Processors page

  2. 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 States
    • eu - 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"
 }
 }
}
  1. 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"
  2. The EnableProcessorMetadata in 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
end

C#

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

  1. In the Google Cloud console, in the Document AI section, go to the Processors page.

    Go to the Processors page

    1. 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 States
    • eu - 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"
 }
 }
}
  1. 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"
    1. The DisableProcessorMetadata in 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
end

C#

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

  1. In the Google Cloud console, in the Document AI section, go to the Processors page.

    Go to the Processors page

    1. 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 States
    • eu - 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"
 }
 }
}
  1. 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"
  2. The DeleteProcessorMetadata in 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
end

C#

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;
}
}
}

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年11月05日 UTC.