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

运行Google Cloud DocumentAI Python示例代码返回503 DNS解析错误

解决方案

按以下顺序排查修改即可:

  1. 修正processor资源名构造错误
    你当前手写的name参数多了:process后缀,该后缀是API请求路径的一部分,不属于资源名的内容。推荐直接用客户端内置的资源路径构造方法避免手写错误:
# 删掉原来的手写name行,替换成下面这行
name = client.processor_path(project_id, location, processor_id)
  1. 删除强制指定grpc DNS解析器的配置
    你代码里的os.environ['GRPC_DNS_RESOLVER'] = 'native'会在多数非原生Linux环境下导致DNS解析异常,直接删除这行即可。
  2. 显式指定所有区域的接口端点
    不要仅对eu区域配置endpoint,所有区域都显式声明,避免客户端默认拼接地址出错:
opts = {"api_endpoint": f"{location}-documentai.googleapis.com"}
  1. 排查网络代理配置
    grpc默认不会读取系统代理配置,如果你需要走代理访问谷歌服务,需要额外添加环境变量:
# 替换成你自己的代理地址
os.environ['HTTP_PROXY'] = 'http://127.0.0.1:7890'
os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:7890'
  1. 确认本地身份凭据有效
    运行gcloud auth application-default login完成本地身份授权,确保你的账号有对应DocumentAI处理器的调用权限。

核心修改后代码片段示例

from google.cloud import documentai_v1 as documentai
import os

project_id= '123456789'
location = 'us'
processor_id = '1a23345gh823892'
file_path = 'document.jpg'

# 有代理需求就加下面两行,不需要就删掉
# os.environ['HTTP_PROXY'] = 'http://127.0.0.1:7890'
# os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:7890'

def quickstart(project_id: str, location: str, processor_id: str, file_path: str):
    # 所有区域都显式指定endpoint
    opts = {"api_endpoint": f"{location}-documentai.googleapis.com"}
    client = documentai.DocumentProcessorServiceClient(client_options=opts)
    # 用官方方法构造资源名,不会出错
    name = client.processor_path(project_id, location, processor_id)

    with open(file_path, "rb") as image:
        image_content = image.read()
    document = {"content": image_content, "mime_type": "image/jpeg"}
    request = {"name": name, "raw_document": document}
    
    # 后续逻辑保持不变
    result = client.process_document(request=request)
    # ...其余原有代码...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 08:15:02