You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Doc AI托管版Custom Document Extractor时Processor ID未找到问题

解决Doc AI托管版自定义提取器Processor ID未识别的问题

核心问题分析

使用控制台「部署与使用」标签页的托管版自定义文档提取器时,出现PROCESSOR_NOT_FOUND错误,且list_processors接口无法识别该ID,但通用开箱即用处理器正常工作,说明问题出在托管版处理器的调用方式、位置参数或权限配置上。

排查与解决步骤

  • 确认托管版处理器的完整资源路径
    托管版自定义提取器的处理器ID并非单独字符串,而是包含完整层级的资源名称。控制台「部署与使用」页的托管版处理器,完整名称格式为:projects/{project_id}/locations/{location}/processors/{processor_id},检查代码中是否直接使用短ID而非完整路径。

  • 修正位置参数(location)
    托管版处理器的位置可能不是us或eu这类全局区域,而是具体区域(如us-central1)。到控制台查看托管版处理器的详情页,确认实际部署区域,替换代码中的location参数。

  • 检查API调用权限

    • 确保当前账号拥有documentai.processors.get和documentai.processors.list权限,可通过IAM角色roles/documentai.admin或roles/documentai.user授予。
    • 验证本地Google Cloud认证是否正确,可执行gcloud auth application-default login重新认证,或确认服务账号密钥文件配置无误。
  • 调整list_processors代码的区域参数
    若托管版处理器部署在特定区域,修改代码中的location值:

    from google.cloud import documentai_v1
    
    def list_processors(project_id, location):
        client = documentai_v1.DocumentProcessorServiceClient()
        parent = f"projects/{project_id}/locations/{location}"
    
        response = client.list_processors(parent=parent)
        for processor in response:
            print(f"Processor name: {processor.name}")
            print(f"Processor display name: {processor.display_name}\n")
    
    project_id = "你的项目ID"
    location = "us-central1"  # 替换为托管版处理器实际部署的区域
    list_processors(project_id, location)
    
  • 直接使用完整处理器名称调用
    在调用自定义提取器时,直接传入控制台复制的完整处理器资源名称,而非单独ID:

    def process_document():
        client = documentai_v1.DocumentProcessorServiceClient()
        # 替换为控制台复制的完整处理器名称
        processor_name = "projects/你的项目ID/locations/us-central1/processors/你的托管版处理器ID"
        # 后续处理逻辑...
    

内容的提问来源于stack exchange,提问作者Energy Plat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 01:52:40