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

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

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

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

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

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

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

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

ค่าใช้จ่าย

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

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

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

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

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

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

หากต้องการรับสิทธิ์ที่จําเป็นในการจัดการข้อมูลสํารองและกำหนดเวลาการสํารองข้อมูล ให้ขอให้ผู้ดูแลระบบมอบหมายบทบาทการจัดการข้อมูลประจำตัวและการเข้าถึง (IAM) ต่อไปนี้อย่างน้อย 1 บทบาท

  • roles/datastore.owner: สิทธิ์เข้าถึงฐานข้อมูล Cloud Firestore แบบเต็ม
  • บทบาทต่อไปนี้ก็มีให้ใช้งานเช่นกัน แต่จะไม่ปรากฏในคอนโซล Google Cloud ใช้ Google Cloud CLI เพื่อมอบหมายบทบาทต่อไปนี้

    • 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. เลือกช่องทําเครื่องหมายรายวัน ตั้งค่าระยะเวลาการเก็บรักษา แล้วคลิกบันทึก
gcloud
หากต้องการสร้างกำหนดการสำรองข้อมูลสำหรับฐานข้อมูล ให้ใช้คำสั่ง gcloud firestore backups schedules create หากต้องการสร้างกำหนดการสำรองข้อมูลรายวัน ให้ตั้งค่า Flag --recurrence เป็น daily
gcloud firestore backups schedules create \
--database='DATABASE_ID' \
--recurrence=daily \
--retention=RETENTION_PERIOD

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

  • DATABASE_ID: รหัสของฐานข้อมูลที่จะใช้สํารองข้อมูล ตั้งค่าเป็น '(default)' สำหรับฐานข้อมูลเริ่มต้น
  • RETENTION_PERIOD: ตั้งค่านี้เป็นค่าสูงสุด 14 สัปดาห์ (14w)
Firebase CLI
หากต้องการสร้างกำหนดการสำรองข้อมูลสำหรับฐานข้อมูล ให้ใช้คำสั่ง firebase firestore:databases:backups:schedules หรือ หากต้องการสร้างกำหนดการสำรองข้อมูลรายวัน ให้ตั้งค่า Flag --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. เลือกช่องทําเครื่องหมายรายสัปดาห์ เลือกวันสํารองข้อมูล ตั้งค่าระยะเวลาการเก็บรักษา แล้วคลิกบันทึก
gcloud
หากต้องการตั้งเวลาการสำรองข้อมูลรายสัปดาห์ ให้ตั้งค่า Flag --recurrence เป็น weekly
gcloud firestore backups schedules create \
--database='DATABASE_ID' \
--recurrence=weekly \
--retention=RETENTION_PERIOD \
--day-of-week=DAY
แทนที่ข้อมูลต่อไปนี้
  • DATABASE_ID: รหัสของฐานข้อมูลที่จะใช้สํารองข้อมูล ตั้งค่าเป็น '(default)' สำหรับฐานข้อมูลเริ่มต้น
  • RETENTION_PERIOD: ตั้งค่านี้เป็นค่าสูงสุด 14 สัปดาห์ (14w)
  • DAY: วันของสัปดาห์ที่จะสำรองข้อมูล ตั้งค่าเป็นค่าใดค่าหนึ่งต่อไปนี้
    • SUN สำหรับวันอาทิตย์
    • MON สำหรับวันจันทร์
    • TUE สำหรับวันอังคาร
    • WED สำหรับวันพุธ
    • THU สำหรับวันพฤหัสบดี
    • FRI สำหรับวันศุกร์
    • SAT สำหรับวันเสาร์
Firebase CLI
หากต้องการตั้งเวลาการสำรองข้อมูลรายสัปดาห์ ให้ตั้งค่า Flag --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. หน้าการกู้คืนภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูลและแสดงข้อมูลสำรองที่ใช้ได้
gcloud
ใช้คำสั่ง gcloud firestore backups schedules list
gcloud firestore backups schedules list \
--database='DATABASE_ID'
แทนที่ DATABASE_ID ด้วยรหัสของฐานข้อมูล ใช้ '(default)' สำหรับฐานข้อมูลเริ่มต้น
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. แก้ไขการตั้งค่ากำหนดเวลาการสำรองข้อมูล แล้วคลิกบันทึก
gcloud
ใช้คำสั่ง gcloud firestore backups schedules update
gcloud firestore backups schedules update \
--database='DATABASE_ID' \
--backup-schedule=BACKUP_SCHEDULE_ID \
--retention=RETENTION_PERIOD
แทนที่ข้อมูลต่อไปนี้
  • DATABASE_ID: รหัสของฐานข้อมูลที่จะใช้สํารองข้อมูล ตั้งค่าเป็น '(default)' สำหรับฐานข้อมูลเริ่มต้น
  • BACKUP_SCHEDULE_ID: รหัสของกำหนดการสำรองข้อมูล คุณสามารถดูรหัสของกำหนดการสำรองข้อมูลแต่ละรายการเมื่อแสดงรายการกำหนดการสำรองข้อมูลทั้งหมด
  • RETENTION_PERIOD: ตั้งค่านี้เป็นค่าสูงสุด 14 สัปดาห์ (14w)
Firebase CLI
ใช้คำสั่ง firebase firestore:backups:schedules:update
firebase firestore:backups:schedules:update \
BACKUP_SCHEDULE \
--retention RETENTION_PERIOD
แทนที่ข้อมูลต่อไปนี้

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

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

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

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

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

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

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

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

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

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

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

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

  2. ค้นหาแถวของฐานข้อมูลในรายการฐานข้อมูล ในคอลัมน์การสํารองข้อมูลที่ตั้งเวลาไว้ ให้คลิกดูการสํารองข้อมูลหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกําหนดเวลาการสํารองข้อมูลหรือไม่
  3. คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนภัยพิบัติ
  4. แก้ไขการตั้งค่ากำหนดเวลาการสำรองข้อมูล แล้วคลิกบันทึก
gcloud
ใช้คำสั่ง gcloud firestore backups list
gcloud firestore backups list \
--format="table(name, database, state)"
Flag --format="table(name, database, state)" จะจัดรูปแบบเอาต์พุตเป็นรูปแบบที่อ่านง่ายขึ้น หากต้องการแสดงเฉพาะข้อมูลสำรองจากตำแหน่งที่เฉพาะเจาะจง ให้ใช้ Flag --location ดังนี้
gcloud firestore backups list \
--location=LOCATION \
--format="table(name, database, state)"
แทนที่ LOCATION ด้วยชื่อCloud Firestore สถานที่
Firebase CLI
ใช้คำสั่ง firebase firestore:backups:list
firebase firestore:backups:list
หากต้องการแสดงเฉพาะข้อมูลสำรองจากตำแหน่งที่เฉพาะเจาะจง ให้ใช้ Flag --location ดังนี้
firebase firestore:backups:list \
--location=LOCATION
แทนที่ LOCATION ด้วยชื่อCloud Firestore สถานที่

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

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

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

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

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

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

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

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

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

  2. ค้นหาแถวของฐานข้อมูลในรายการฐานข้อมูล ในคอลัมน์การสํารองข้อมูลที่ตั้งเวลาไว้ ให้คลิกดูการสํารองข้อมูลหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกําหนดเวลาการสํารองข้อมูลหรือไม่ หน้าการกู้คืนภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูลและแสดงข้อมูลสำรองที่ใช้ได้
  3. ในตารางข้อมูลสํารอง ให้ค้นหาแถวสําหรับข้อมูลสํารอง แล้วคลิกดูเพิ่มเติม() ในคอลัมน์การดําเนินการ แล้วคลิกลบ
  4. ยืนยันการดำเนินการโดยใช้ช่องข้อความ แล้วคลิกลบ
gcloud
ใช้คำสั่ง gcloud firestore backups delete
gcloud firestore backups delete \
--location=LOCATION \
--backup=BACKUP_ID
แทนที่ข้อมูลต่อไปนี้
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'
แทนที่ข้อมูลต่อไปนี้
  • PROJECT_ID: รหัสโปรเจ็กต์
  • LOCATION: ตำแหน่งของข้อมูลสำรองฐานข้อมูลและตำแหน่งของฐานข้อมูลใหม่ที่สร้างขึ้นสำหรับข้อมูลที่กู้คืน
  • BACKUP_ID: รหัสของข้อมูลสํารอง คุณดูรหัสของการสํารองข้อมูลแต่ละรายการได้เมื่อแสดงรายการสํารองข้อมูลทั้งหมด
  • DATABASE_ID: รหัสฐานข้อมูลสําหรับฐานข้อมูลใหม่ คุณใช้รหัสฐานข้อมูลที่มีคนใช้อยู่แล้วไม่ได้
เอาต์พุตจะมีคอมโพเนนต์ 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
Firebase CLI
ใช้คำสั่ง firebase firestore:databases:restore
firebase firestore:databases:restore \
--backup 'BACKUP' \
--database 'DATABASE_ID'
แทนที่ข้อมูลต่อไปนี้
  • BACKUP: ชื่อทรัพยากรแบบเต็มของข้อมูลสํารอง คุณสามารถดูชื่อของการสำรองข้อมูลแต่ละรายการเมื่อแสดงรายการการสำรองข้อมูลทั้งหมด
  • DATABASE_ID: รหัสฐานข้อมูลสําหรับฐานข้อมูลใหม่ คุณใช้รหัสฐานข้อมูลที่มีคนใช้อยู่แล้วไม่ได้