我想每天备份一个Firestore数据库。
我的数据结构如下:
usersCollection
uid
defaultCurrency: 'USD'
name: 'something'
dreamsCollection
name
image
我查看了firestore-export-import
和node-firestore-backup
进行备份并将数据导出到JSON文件。
我的问题是:
任何帮助,无论多么小,都会受到赞赏。
由于
答案 0 :(得分:2)
我在博客中介绍了如何创建一个完全托管的、自动触发的无服务器工作流,该工作流会触发 Firestore 导出/备份 API,并将其放入 Cloud Storage 存储分区,这样您就可以确保为灾难恢复进行适当的备份。
由于它是无服务器的无需维护 SDK 工具,无需更新库,甚至非开发人员也可以设置。
答案 1 :(得分:0)
这是我计划使用的解决方案:https://github.com/firebase/snippets-node/tree/master/firestore/solution-scheduled-backups
此示例演示了如何使用AppEngine cron作业每晚运行 Cloud Firestore中的数据备份。
答案 2 :(得分:0)
您现在可以将数据导出并导入到指定的存储桶中。
此处有更多信息:https://firebase.google.com/docs/firestore/manage-data/export-import
以下是有关如何自动执行的信息:
https://firebase.google.com/docs/firestore/solutions/schedule-export
答案 3 :(得分:0)
老实说,我不喜欢firebase页面上提供的示例解决方案。它不必要地令人费解,尤其是需要在应用引擎from selenium import webdriver
import time
urllist = []
with open('urls.txt') as file_object:
for line in file_object:
#[:-1] gets rid of newline "\n" at end of string
urllist.append(line[:-1])
driver = webdriver.Firefox()
driver.get("https://google.com/search?q=wikipedia")
while True:
url = driver.current_url
time.sleep(0.2)
if url != driver.current_url:
for a in driver.find_elements_by_xpath('.//a'):
try:
if "google.com" not in a.get_attribute('href') and "googleusercontent.com" not in a.get_attribute('href'):
if a.get_attribute('href') in urllist:
driver.execute_script("arguments[0].style.backgroundColor = 'yellow'", a)
except:
pass
使用Cloud Scheduler和google-auth-library可以将备份直接存储在Firebase Cloud Storage中,这是一种更简单的方法。我写了一篇深入的文章,介绍了我在生产中使用的无缝工作代码。看看。