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

Google Cloud Shell中Dataflow管道CERTIFICATE_VERIFY_FAILED错误修复

SSLHandshakeError When Running Dataflow Pipeline from Google Cloud Shell

看起来你遇到的问题是Cloud Shell环境下的SSL证书验证异常,而本地运行正常——这种情况通常和Cloud Shell的Python环境CA证书配置有关,下面是具体的分析和修复建议:

问题原因

Cloud Shell作为容器化环境,其Python默认的SSL证书路径可能没被Apache Beam SDK正确识别,导致连接GCS(Google Cloud Storage)时无法验证服务器证书,从而抛出SSL: CERTIFICATE_VERIFY_FAILED错误。而本地机器的Python环境通常已正确配置系统CA证书,所以不会出现这个问题。

修复方案

1. 临时指定SSL证书路径运行

直接在启动命令中指定系统CA证书的路径,Cloud Shell的默认CA证书文件通常在/etc/ssl/certs/ca-certificates.crt:

SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt python -m simple_pipeline --runner DataflowRunner --project myproject --staging_location gs://bucket/staging --temp_location gs://bucket/temp

或者也可以在Python代码开头添加环境变量设置:

from __future__ import print_function
import os
os.environ['SSL_CERT_FILE'] = '/etc/ssl/certs/ca-certificates.crt'
import apache_beam as beam
from apache_beam.options.pipeline_options import PipelineOptions

# 后续代码保持不变
with beam.Pipeline(options=PipelineOptions()) as p:
    lines = p | 'Read' >> beam.io.ReadFromText('test.csv')
    lines | 'Write' >> beam.io.WriteToText('gs://bucket/output_20193003', file_name_suffix='.csv')
result = p.run()
result.wait_until_finish()

2. 更新Cloud Shell的CA证书

有时候Cloud Shell的CA证书可能过期,执行以下命令更新:

sudo update-ca-certificates

更新完成后再重新运行管道命令。

3. 切换到Python3环境(推荐)

你当前使用的Python2.7已停止官方维护,Apache Beam对Python2.7的支持也早已终止,Cloud Shell的Python3环境配置更完善,建议切换到Python3:

  1. 创建并激活Python3虚拟环境:
    python3 -m venv beam-env3
    source beam-env3/bin/activate
    
  2. 安装适配Python3的Beam SDK:
    pip install apache-beam[gcp]
    
  3. 用Python3运行你的管道:
    python3 -m simple_pipeline --runner DataflowRunner --project myproject --staging_location gs://bucket/staging --temp_location gs://bucket/temp
    

验证

完成上述任一操作后,重新运行Dataflow管道,应该就能正常连接GCS并完成读写操作了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:50:30