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

如何通过Python云函数连接启用AUTH和TLS的GCP Redis实例

Cloud Functions上Flask应用连接Redis实例的问题

我需要将部署在Cloud Functions上的Flask应用连接到Redis实例,使用StrictRedis库,已将redis_host、redis_port、redis_password和redis_cert作为Cloud Functions的运行时变量存储,尝试了以下几种解决方案:

方案1

redis_client = redis.StrictRedis(
                host=os.environ.get("redis_host"),
                port=os.environ.get("redis_port"),
                password=os.environ.get("redis_password"),
                ssl=True,
                ssl_cert_reqs=ssl.CERT_REQUIRED,
                ssl_ca_certs=os.environ.get("redis_cert"))

方案2

ssl_context = ssl.SSLContext()
ssl_context.verify_mode = ssl.CERT_REQUIRED
ssl_context = ssl.load_verify_locations(cadata=os.environ.get("redis_cert").encode())
redis_client = redis.StrictRedis(
                host=os.environ.get("redis_host"),
                port=os.environ.get("redis_port"),
                password=os.environ.get("redis_password"),
                ssl=True,
                ssl_cert_reqs=ssl.CERT_REQUIRED,
                ssl_context=ssl_context)

方案3

ssl_context = ssl.create_default_context(cadata=os.environ.get("redis_cert").encode())
redis_client = redis.StrictRedis(
                host=os.environ.get("redis_host"),
                port=os.environ.get("redis_port"),
                password=os.environ.get("redis_password"),
                ssl=True,
                ssl_cert_reqs=ssl.CERT_REQUIRED,
                ssl_context=ssl_context)

方案4

我尝试下载server-ca.pem文件并在cafile中传入,但遇到如下错误:

Error:
context.load_verify_locations(cafile, capath, cadata)
FileNotFoundError: [Errno 2] No such file or directory

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:28:23