如何在 python 中的 Cloud 运行 实例之间共享全局字典?

How to share a global dict between Cloud Run instances in python?

我正在 python 中使用 Cloud 运行 构建一个 flask 服务器,供聊天机器人调用。

有时如果用户想用聊天机器人做某事,机器人需要在做这些事情之前要求用户登录到第 3 方服务器。

我有两条路线:

它在我的本地机器上运行良好。但在Google云运行中,由于支持多实例,有时会在服务器调用“回调”时触发新的实例,因此无法获取“运行时”,因为它们在不同的实例中。

我知道我可以将运行时指令保存到数据库来解决这个问题,但它看起来太过分了...只是看起来不对。

有什么简单的方法可以让“运行时”在实例之间共享吗?

这里的解决方案是使用一个中心存储点:数据库、memorystore、firestore,...来自 Cloud 运行 本身的东西。

您也可以尝试 Cloud 运行 execution runtime v2,它允许您挂载网络磁盘,例如 Cloud Storage 或 Filestore。您可以想象将会话数据存储在一个以会话 ID 为名称的文件中。

注意:在云运行这边,有些东西正在烹饪,但不是100%安全,这将是最大的努力。即使使用该新功能也需要数据库备份