从Cloud Data Fusion触发HTTP型Cloud Function遇SSL错误如何解决?
可能的原因及对应解决方法
检查Cloud Function的URL配置
确保HTTP Sink中填写的Cloud Function URL是正确的HTTPS地址,无路径遗漏或拼写错误。Cloud Function触发URL通常格式为https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME,需确认REGION、PROJECT_ID、FUNCTION_NAME全部准确。验证SSL证书兼容性
Cloud Data Fusion运行环境的JVM可能不认可Cloud Function的SSL证书,可尝试两种处理方式:- 测试环境下,启用HTTP Sink的
trustAllCertificates选项(生产环境不推荐) - 生产环境中,配置自定义信任库:将Cloud Function的根证书导入Data Fusion的信任存储,在HTTP Sink高级配置中添加
ssl.trustStore和ssl.trustStorePassword参数,指向包含对应证书的存储文件。
- 测试环境下,启用HTTP Sink的
调整请求超时设置
EOFException有时因请求超时导致连接提前关闭。在HTTP Sink配置中增大connectionTimeout和readTimeout值,比如设置为30000毫秒(30秒),给Cloud Function足够的处理时间。检查Cloud Function的访问权限
确认Cloud Function的IAM权限允许Cloud Data Fusion的服务账号调用:给Data Fusion服务账号添加roles/cloudfunctions.invoker角色,确保请求能被正确授权。升级HTTP Sink插件版本
你使用的1.2.2版本可能存在已知SSL兼容性问题,尝试升级到插件最新版本,新版本通常会修复这类底层连接问题。排查网络连通性
确保Cloud Data Fusion所在VPC与Cloud Function网络连通:若Data Fusion在私有VPC中,需配置VPC访问控制或云NAT,让Data Fusion能够访问外部Cloud Function端点。
内容的提问来源于stack exchange,提问作者hansa29

