来自mlab的GCP Cron Job MongoDB备份

我想建立一种方法(使用GCP)来自动频繁地下载mlab上托管的一个MongoDB实例的副本/备份,并使用它来还原/填充同样在mlab上的另一个MongoDB实例。我的思考过程如下:

  1. 使用Cloud Scheduler在GCP上创建cron作业。这项cron作业每周都会触发有关发布/订阅主题的消息。
  2. 接下来,我将设置一个Cloud Function来侦听此发布/订阅主题,以便每周都会调用该Cloud函数
  3. 最后,在云函数(用Python编写)中,我会以某种方式在我的mlab mongodb实例上调用mongodump。然后,我将使用已下载的备份呼叫mongorestore

我的问题是mongodumpmongorestore是通用的命令行实用程序,与Python并没有真正的关联。在本地,我可以只安装它们,但是,我认为我无法使用云功能做到这一点。我的问题就是这样,

  1. 我是否可以使用mongodump或从Python中的Cloud Function下载备份?
  2. 是否有更简单的方法来完成整个过程? (即每周一次从GCP下载备份)
miaodidi 回答:来自mlab的GCP Cron Job MongoDB备份

Cloud Functions runtime是只读的,但tmp目录是可写的。这意味着无法运行或安装mongodumpmongorestore之类的可执行文件。

我为您看到的用例可能性是:

  1. 使用Python MongoDB客户端库与Cloud Funtion一起执行任务。也许pymongo
  2. Cloud Run与包含mongodumpmongorestore的Docker映像一起使用,并使用HTTP请求从Cloud Function调用此Cloud Run服务。
本文链接:https://www.f2er.com/2316791.html

大家都在问