สำรองและกู้คืนข้อมูล

หน้านี้อธิบายวิธีใช้ฟีเจอร์Cloud Firestoreการสำรองข้อมูลที่กำหนดเวลาไว้ ใช้ข้อมูลสำรองเพื่อปกป้องข้อมูลจากการเสียหายของข้อมูลระดับแอปพลิเคชัน หรือจากการลบข้อมูลโดยไม่ตั้งใจ

การสำรองข้อมูลช่วยให้คุณกำหนดค่ากำหนดเวลาการสำรองข้อมูลเพื่อทำการสำรองข้อมูลรายวันหรือรายสัปดาห์ของฐานข้อมูลที่ระบุได้ จากนั้นคุณจะใช้ข้อมูลสำรองเหล่านี้เพื่อกู้คืน ข้อมูลไปยังฐานข้อมูลใหม่ได้

เกี่ยวกับข้อมูลสำรอง

ข้อมูลสำรองคือสำเนาที่สอดคล้องกันของฐานข้อมูล ณ เวลาหนึ่ง ข้อมูลสำรองประกอบด้วยการกำหนดค่าข้อมูลและดัชนีทั้งหมด ณ จุดนั้น ข้อมูลสำรองไม่มีนโยบายเวลาในการใช้งานของฐานข้อมูล ข้อมูลสำรองจะอยู่ในตำแหน่งเดียวกับฐานข้อมูลต้นทาง

ข้อมูลสำรองมีระยะเวลาเก็บรักษาที่กำหนดค่าได้ และจะจัดเก็บไว้จนกว่าระยะเวลาเก็บรักษาจะหมดอายุหรือจนกว่าคุณจะลบข้อมูลสำรอง การลบฐานข้อมูลต้นทางจะไม่ลบข้อมูลสำรองที่เกี่ยวข้องโดยอัตโนมัติ

Cloud Firestore จัดเก็บข้อมูลเมตาที่เกี่ยวข้องกับการสำรองข้อมูลและกำหนดเวลาสำรองข้อมูลที่เกี่ยวข้องกับฐานข้อมูล Cloud Firestore จะเก็บรักษาข้อมูลเมตานี้ จนกว่าข้อมูลสำรองทั้งหมดของฐานข้อมูลจะหมดอายุหรือถูกลบ

การสร้างหรือเก็บข้อมูลสำรองไว้จะไม่ส่งผลต่อประสิทธิภาพการอ่านหรือการเขียนในฐานข้อมูลที่ใช้งานจริง

ค่าใช้จ่าย

เมื่อใช้ข้อมูลสำรอง ระบบจะเรียกเก็บเงินจากคุณสำหรับรายการต่อไปนี้

  • ปริมาณพื้นที่เก็บข้อมูลที่ใช้ในการสำรองข้อมูลแต่ละครั้ง
  • สำหรับการดำเนินการกู้คืน ระบบจะเรียกเก็บเงินตามขนาดของข้อมูลสำรอง

ดูรายละเอียดเพิ่มเติมและอัตราที่แน่นอนได้ที่หน้าราคา

ก่อนเริ่มต้น

ฟีเจอร์นี้ต้องใช้แพ็กเกจราคา Blaze

บทบาทที่จำเป็น

หากต้องการรับสิทธิ์ที่จำเป็นในการจัดการข้อมูลสำรองและกำหนดเวลาสำรองข้อมูล โปรดขอให้ผู้ดูแลระบบมอบหมายบทบาท Identity and Access Management ต่อไปนี้อย่างน้อย 1 บทบาทให้คุณ

  • roles/datastore.owner: สิทธิ์เข้าถึงฐานข้อมูล Cloud Firestore แบบเต็ม
  • roles/datastore.backupsAdmin: สิทธิ์การอ่านและเขียนข้อมูลสำรอง
  • roles/datastore.backupsViewer: สิทธิ์เข้าถึงแบบอ่านสำหรับข้อมูลสำรอง
  • roles/datastore.backupSchedulesAdmin: สิทธิ์การอ่านและเขียนกำหนดการสำรองข้อมูล
  • roles/datastore.backupSchedulesViewer: สิทธิ์อ่านกำหนดการสำรองข้อมูล
  • roles/datastore.restoreAdmin: สิทธิ์ในการเริ่มการดำเนินการกู้คืน

สร้างและจัดการกำหนดเวลาสำรองข้อมูล

ตัวอย่างด้านล่างแสดงวิธีตั้งค่ากำหนดการสำรองข้อมูล คุณกำหนดค่ากำหนดการสำรองข้อมูลรายวันได้สูงสุด 1 รายการและกำหนดการสำรองข้อมูลรายสัปดาห์ได้สูงสุด 1 รายการสำหรับแต่ละ ฐานข้อมูล คุณไม่สามารถกำหนดค่ากำหนดการสำรองข้อมูลรายสัปดาห์หลายรายการสำหรับ วันต่างๆ ของสัปดาห์ได้

คุณกำหนดค่าเวลาที่แน่นอนของการสำรองข้อมูลไม่ได้ ระบบจะสำรองข้อมูลในเวลาที่ แตกต่างกันในแต่ละวัน สําหรับกําหนดการสํารองข้อมูลรายสัปดาห์ คุณสามารถกําหนดค่าวันในสัปดาห์ที่จะทําการสํารองข้อมูลได้

สร้างกำหนดเวลาสำรองข้อมูล

ใช้เครื่องมือใดเครื่องมือหนึ่งต่อไปนี้เพื่อสร้างกำหนดการสำรองข้อมูล

สร้างกำหนดเวลาสำรองข้อมูลรายวัน

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
  3. คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
  4. เลือกช่องทำเครื่องหมายรายวัน กำหนดระยะเวลาการเก็บรักษา แล้วคลิกบันทึก
Firebase CLI
หากต้องการสร้างกำหนดเวลาสำรองข้อมูลสำหรับฐานข้อมูล ให้ใช้คำสั่ง หรือ firebase firestore:databases:backups:schedules หากต้องการสร้างกำหนดการสำรองข้อมูลรายวัน ให้ตั้งค่าแฟล็ก --recurrence เป็น DAILY
firebase firestore:backups:schedules:create \
--database 'DATABASE_ID' \
--recurrence 'DAILY' \
--retention RETENTION_PERIOD

แทนที่ค่าต่อไปนี้

  • DATABASE_ID: รหัสของฐานข้อมูลที่จะสำรองข้อมูล ตั้งค่าเป็น '(default)' สำหรับฐานข้อมูลเริ่มต้น
  • RETENTION_PERIOD: ตั้งค่านี้เป็นค่าสูงสุด 14 สัปดาห์ (14w)
Terraform
หากต้องการสร้างกำหนดการสำรองข้อมูลรายวัน ให้สร้างgoogle_firestore_backup_schedule
resource "google_firestore_backup_schedule" "daily-backup" {
  project  = PROJECT_ID
  database = DATABASE_ID

  retention = RETENTION_PERIOD_SECONDS

  daily_recurrence {}
}

แทนที่ค่าต่อไปนี้

  • PROJECT_ID: รหัสของโปรเจ็กต์
  • DATABASE_ID: รหัสของฐานข้อมูลที่จะสำรองข้อมูล ตั้งค่าเป็น '(default)' สำหรับฐานข้อมูลเริ่มต้น
  • นอกจากนี้ คุณยังใช้การอ้างอิงทรัพยากรกับ ทรัพยากร Terraform ประเภท google_firestore_database ได้ด้วย
  • RETENTION_PERIOD_SECONDS: ตั้งค่านี้เป็นค่าในหน่วยวินาที ตามด้วย "s" ค่าสูงสุดคือ 8467200s (14 สัปดาห์)

สร้างกำหนดเวลาการสำรองข้อมูลรายสัปดาห์

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
  3. คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
  4. เลือกช่องทําเครื่องหมายรายสัปดาห์ เลือกวันสํารอง ตั้งค่าระยะเวลาการเก็บรักษา แล้วคลิกบันทึก
Firebase CLI
หากต้องการสร้างกำหนดเวลาสำรองข้อมูลรายสัปดาห์ ให้ตั้งค่าสถานะ --recurrence เป็น WEEKLY ดังนี้
firebase firestore:backups:schedules:create \
--database 'DATABASE_ID' \
--recurrence 'WEEKLY' \
--retention RETENTION_PERIOD
--day-of-week DAY
แทนที่ค่าต่อไปนี้
  • DATABASE_ID: รหัสของฐานข้อมูลที่จะสำรองข้อมูล ตั้งค่าเป็น '(default)' สำหรับฐานข้อมูลเริ่มต้น
  • RETENTION_PERIOD: ตั้งค่านี้เป็นค่าสูงสุด 14 สัปดาห์ (14w)
  • DAY: วันในสัปดาห์ที่จะทำการสำรองข้อมูล ตั้งค่าเป็นค่าใดค่าหนึ่งต่อไปนี้
    • SUNDAY สำหรับวันอาทิตย์
    • MONDAY สำหรับวันจันทร์
    • TUESDAY สำหรับวันอังคาร
    • WEDNESDAY สำหรับวันพุธ
    • THURSDAY สำหรับวันพฤหัสบดี
    • FRIDAY สำหรับวันศุกร์
    • SATURDAY สำหรับวันเสาร์
Terraform
หากต้องการสร้างกำหนดเวลาสำรองข้อมูลรายสัปดาห์ ให้สร้างgoogle_firestore_backup_schedule
resource "google_firestore_backup_schedule" "weekly-backup" {
  project  = PROJECT_ID
  database = DATABASE_ID

  retention = RETENTION_PERIOD_SECONDS

  weekly_recurrence {
    day = DAY
  }
}

แทนที่ค่าต่อไปนี้

  • PROJECT_ID: รหัสของโปรเจ็กต์
  • DATABASE_ID: รหัสของฐานข้อมูลที่จะสำรองข้อมูล ตั้งค่าเป็น '(default)' สำหรับฐานข้อมูลเริ่มต้น
  • นอกจากนี้ คุณยังใช้การอ้างอิงทรัพยากรกับ ทรัพยากร Terraform ประเภท google_firestore_database ได้ด้วย
  • RETENTION_PERIOD_SECONDS: ตั้งค่านี้เป็นค่าในหน่วยวินาที ตามด้วย "s" ค่าสูงสุดคือ 8467200s (14 สัปดาห์)
  • DAY: วันในสัปดาห์ที่จะทำการสำรองข้อมูล ตั้งค่าเป็นค่าใดค่าหนึ่งต่อไปนี้
    • SUNDAY สำหรับวันอาทิตย์
    • MONDAY สำหรับวันจันทร์
    • TUESDAY สำหรับวันอังคาร
    • WEDNESDAY สำหรับวันพุธ
    • THURSDAY สำหรับวันพฤหัสบดี
    • FRIDAY สำหรับวันศุกร์
    • SATURDAY สำหรับวันเสาร์

แสดงรายการกำหนดเวลาสำรองข้อมูล

หากต้องการแสดงรายการกำหนดเวลาสำรองข้อมูลทั้งหมดสำหรับฐานข้อมูล ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
  3. หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
Firebase CLI
ใช้คำสั่ง firebase firestore:backups:schedules:list
firebase firestore:backups:schedules:list \
--database 'DATABASE_ID'
แทนที่ DATABASE_ID ด้วยรหัสของฐานข้อมูล ใช้ '(default)' สำหรับฐานข้อมูลเริ่มต้น

อธิบายกำหนดเวลาการสำรองข้อมูล

หากต้องการดึงข้อมูลเกี่ยวกับกำหนดการสำรองข้อมูล ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
  3. หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
gcloud
ใช้คำสั่ง gcloud firestore backups schedules describe
gcloud firestore backups schedules describe \
--database='DATABASE_ID' \
--backup-schedule=BACKUP_SCHEDULE_ID
แทนที่ค่าต่อไปนี้
  • DATABASE_ID: รหัสของฐานข้อมูลที่จะสำรองข้อมูล ตั้งค่าเป็น '(default)' สำหรับฐานข้อมูลเริ่มต้น
  • BACKUP_SCHEDULE_ID: รหัสของกำหนดการสำรองข้อมูล คุณดูรหัสของกำหนดการสำรองข้อมูลแต่ละรายการได้เมื่อแสดงกำหนดการสำรองข้อมูลทั้งหมด

อัปเดตกำหนดเวลาสำรองข้อมูล

หากต้องการอัปเดตระยะเวลาการเก็บรักษาของกำหนดเวลาการสำรองข้อมูล ให้ใช้วิธีการใดวิธีการหนึ่งต่อไปนี้

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า
  3. คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
  4. แก้ไขการตั้งค่ากำหนดเวลาสำรองข้อมูล แล้วคลิกบันทึก
Firebase CLI
ใช้คำสั่ง firebase firestore:backups:schedules:update ดังนี้
firebase firestore:backups:schedules:update \
BACKUP_SCHEDULE \
--retention RETENTION_PERIOD
แทนที่ค่าต่อไปนี้
  • BACKUP_SCHEDULE: ชื่อทรัพยากรแบบเต็มของกำหนดการสำรองข้อมูล คุณดูชื่อของกำหนดการสำรองข้อมูลแต่ละรายการได้เมื่อแสดงกำหนดการสำรองข้อมูลทั้งหมด
  • RETENTION_PERIOD: ตั้งค่านี้เป็นค่าสูงสุด 14 สัปดาห์ (14w)

คุณอัปเดตระยะเวลาเก็บรักษาของกำหนดเวลาสำรองข้อมูลได้ แต่จะอัปเดตการเกิดซ้ำไม่ได้ หากต้องการกำหนดเวลาสำรองข้อมูลที่มีการเกิดซ้ำต่างกัน ให้ลบกำหนดเวลาสำรองข้อมูลเก่าหากไม่ต้องใช้แล้ว และสร้างกำหนดเวลาสำรองข้อมูลใหม่ที่มีการเกิดซ้ำที่ต้องการ

ลบกำหนดการสำรองข้อมูล

หากต้องการลบกำหนดเวลาสำรองข้อมูล ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
  3. คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
  4. แก้ไขการตั้งค่ากำหนดเวลาสำรองข้อมูล แล้วคลิกบันทึก
Firebase CLI
ใช้คำสั่ง firebase firestore:backups:schedules:delete ดังนี้
firebase firestore:backups:schedules:delete \
BACKUP_SCHEDULE
แทนที่ค่าต่อไปนี้

โปรดทราบว่าการลบกำหนดการสำรองข้อมูลจะไม่ลบข้อมูลสำรองที่กำหนดการนี้สร้างไว้แล้ว คุณจะรอให้ข้อมูลสำรองหมดอายุหลังจากระยะเวลาเก็บรักษา หรือจะลบข้อมูลสำรองด้วยตนเองก็ได้ โปรดดูลบข้อมูลสำรอง

จัดการข้อมูลสำรอง

สร้างรายการข้อมูลสำรอง

หากต้องการแสดงข้อมูลสำรองที่มีอยู่ ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
  3. คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
  4. แก้ไขการตั้งค่ากำหนดเวลาสำรองข้อมูล แล้วคลิกบันทึก
Firebase CLI
ใช้คำสั่ง firebase firestore:backups:list ดังนี้
firebase firestore:backups:list
หากต้องการแสดงเฉพาะข้อมูลสำรองจากสถานที่ตั้งที่เฉพาะเจาะจง ให้ใช้แฟล็ก --location ดังนี้
firebase firestore:backups:list \
--location=LOCATION
แทนที่ LOCATION ด้วยชื่อCloud Firestore สถานที่

อธิบายข้อมูลสำรอง

หากต้องการดูรายละเอียดเกี่ยวกับการสำรองข้อมูล ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
  3. หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
Firebase CLI
ใช้คำสั่ง firebase firestore:backups:get ดังนี้
firebase firestore:backups:get BACKUP
แทนที่ค่าต่อไปนี้

ลบข้อมูลสำรอง

หากต้องการลบข้อมูลสำรอง ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่ หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
  3. ในตารางข้อมูลสำรอง ให้ค้นหาแถวของข้อมูลสำรอง แล้วคลิกดูเพิ่มเติม() ในคอลัมน์การดำเนินการ คลิกลบ
  4. ยืนยันการดำเนินการโดยใช้ช่องข้อความ แล้วคลิกลบ
Firebase CLI
ใช้คำสั่ง firebase firestore:backups:delete ดังนี้
firebase firestore:backups:delete \
BACKUP
แทนที่ค่าต่อไปนี้

กู้คืนข้อมูลจากข้อมูลสำรองของฐานข้อมูล

การดำเนินการกู้คืนจะเขียนข้อมูลจากข้อมูลสำรองไปยังCloud Firestore ฐานข้อมูลใหม่

หากต้องการเริ่มการดำเนินการกู้คืน ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

คอนโซล Google Cloud
  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่ หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
  3. ในตารางข้อมูลสำรอง ให้ค้นหาแถวของข้อมูลสำรอง แล้วคลิกดูเพิ่มเติม() ในคอลัมน์การดำเนินการ คลิกกู้คืนด้วย Cloud Shell
  4. Cloud Shell แผงจะเปิดขึ้นพร้อมกับคำสั่ง gcloud CLI เพื่อกู้คืนจากข้อมูลสำรองที่เลือก แทนที่ ID_OF_NEW_DATABASE ด้วย รหัสของฐานข้อมูล แล้วเรียกใช้คำสั่ง

    การเรียกใช้คำสั่งจะแสดงการตอบกลับพร้อมข้อมูลเพิ่มเติมเกี่ยวกับ การดำเนินการ ฐานข้อมูลจะปรากฏในรายการฐานข้อมูลในไม่ช้า การดำเนินการกู้คืน จะใช้เวลาสักครู่และต้องเสร็จสมบูรณ์ก่อนจึงจะเข้าถึงฐานข้อมูลได้

gcloud
ใช้คำสั่ง gcloud firestore databases restore
gcloud firestore databases restore \
--source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
--destination-database='DATABASE_ID \
--tags=[KEY=VALUE]'
แทนที่ค่าต่อไปนี้
  • PROJECT_ID: รหัสโปรเจ็กต์
  • LOCATION: ตำแหน่งของข้อมูลสำรองฐานข้อมูลและตำแหน่งของฐานข้อมูลใหม่ที่สร้างขึ้นสำหรับข้อมูลที่กู้คืน
  • BACKUP_ID: รหัสของข้อมูลสำรอง คุณดูรหัสของการสำรองข้อมูลแต่ละรายการได้เมื่อแสดงการสำรองข้อมูลทั้งหมด
  • DATABASE_ID: รหัสฐานข้อมูลสำหรับฐานข้อมูลใหม่ คุณใช้รหัสฐานข้อมูลที่มีการใช้งานอยู่แล้วไม่ได้
  • [KEY=VALUE]: รายการคู่คีย์=ค่าของแท็กที่ไม่บังคับที่จะเชื่อมโยง เช่น
    • --tags=123/environment=production,123/costCenter=marketing
    • --tags=tagKeys/333=tagValues/444
โหมดฐานข้อมูลจะตรงกับโหมดของข้อมูลสำรอง เอาต์พุตจะมีคอมโพเนนต์ metadata, name และ response ดังนี้
metadata:
  '@type': type.googleapis.com/google.firestore.admin.v1.RestoreDatabaseMetadata
  backup: projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
  database: projects/PROJECT_ID/databases/DATABASE_ID
  operationState: PROCESSING
  progressPercentage:
    completedWork: '20'
    estimatedWork: '100'
  startTime: '2023-12-06T14:20:17.398325Z'
name: projects/PROJECT_ID/databases/DATABASE_ID/operations/operation_uuid
response:
  '@type': type.googleapis.com/google.firestore.admin.v1.Database
  createTime: '2023-12-06T14:20:17.398325Z'
  name: projects/PROJECT_ID/databases/DATABASE_ID
  ...
ฟิลด์ metadata มีคอมโพเนนต์ progressPercentage ซึ่งแสดงรายละเอียดความคืบหน้าโดยประมาณของการกู้คืนจนถึงตอนนี้ และ operationState ซึ่งระบุสถานะโดยรวมของการกู้คืน หากต้องการดึงข้อมูลนี้อีกครั้ง ให้ใช้ gcloud firestore operations list โดยทำดังนี้
gcloud firestore operations list --database=DATABASE_ID
หรือใช้ฟิลด์ name จากเอาต์พุตที่อธิบายไว้ข้างต้น โดยมี gcloud firestore operations describe ดังนี้
gcloud firestore operations describe OPERATION_NAME