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

如何用Python客户端处理Document AI中GCS存储的单个文件?

如何用Google Document AI Python客户端处理单个GCS存储的文件

要通过process_document()处理GCS中的单个文档,关键是正确使用GcsDocument类并指定到ProcessRequest的gcs_document字段,而不是错误地塞进inline_document或raw_document属性。

正确代码示例

from google.api_core.client_options import ClientOptions
from google.cloud import documentai

opts = ClientOptions(api_endpoint=f"us-documentai.googleapis.com")
client = documentai.DocumentProcessorServiceClient(client_options=opts)
name = client.processor_path("my_project_id", "us", "my_processor_id")

# 初始化GcsDocument对象,指定GCS URI和MIME类型
gcs_document = documentai.GcsDocument(
    uri="gs://my_image.jpeg",
    mime_type="image/jpeg"
)

# 构建ProcessRequest时,使用gcs_document参数
request = documentai.ProcessRequest(
    name=name,
    gcs_document=gcs_document
)

# 执行同步处理
result = client.process_document(request=request)
# 处理输出结果
print(result.document.text)

你之前的错误原因

  1. 错误传入GcsDocument到非对应字段:ProcessRequest的raw_document用于承载本地文件的二进制内容,inline_document用于传入已解析的Document对象,这两个字段都不兼容GcsDocument,必须使用专门的gcs_document字段来指定GCS文件。
  2. 使用Document类传URI无效:inline_document要求传入包含文件内容payload的Document对象,而非GCS URI,因此会触发400 Only content payload is supported for Sync Process错误。

补充说明

  • 该同步处理方式的速度和上传本地文件接近,既避免了批量处理的延迟,也无需下载GCS文件再上传,节省带宽且更优雅。
  • 确保你的服务账号拥有GCS目标文件的storage.objects.get读取权限,以及Document AI处理器的调用权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 20:42:10