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

หน้านี้อธิบายวิธีใช้ฟีเจอร์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. เลือกช่องทำเครื่องหมายรายวัน ตั้งค่าระยะเวลาการเก็บรักษา แล้วคลิกบันทึก
gcloud
หากต้องการสร้างกำหนดการสำรองข้อมูลสำหรับฐานข้อมูล ให้ใช้คำสั่ง gcloud firestore backups schedules create หากต้องการสร้างกำหนดการสำรองข้อมูลรายวัน ให้ตั้งค่าแฟล็ก --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 หากต้องการสร้างกำหนดการสำรองข้อมูลรายวัน ให้ตั้งค่าแฟล็ก --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
หากต้องการสร้างกำหนดเวลาสำรองข้อมูลรายสัปดาห์ ให้ตั้งค่าสถานะ --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
หากต้องการสร้างกำหนดเวลาสำรองข้อมูลรายสัปดาห์ ให้ตั้งค่าสถานะ --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
แทนที่ค่าต่อไปนี้
  • BACKUP_SCHEDULE: ชื่อทรัพยากรแบบเต็มของกำหนดการสำรองข้อมูล คุณดูชื่อของกำหนดการสำรองข้อมูลแต่ละรายการได้เมื่อแสดงกำหนดการสำรองข้อมูลทั้งหมด
  • RETENTION_PERIOD: ตั้งค่านี้เป็นค่าสูงสุด 14 สัปดาห์ (14w)

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

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

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

คอนโซล 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)"
แฟล็ก --format="table(name, database, state)" จะจัดรูปแบบเอาต์พุตเป็นรูปแบบที่อ่านง่ายขึ้น หากต้องการแสดงเฉพาะข้อมูลสำรองจากสถานที่ตั้งที่เฉพาะเจาะจง ให้ใช้แฟล็ก --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
หากต้องการแสดงเฉพาะข้อมูลสำรองจากสถานที่ตั้งที่เฉพาะเจาะจง ให้ใช้แฟล็ก --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 \
--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
Firebase CLI
ใช้คำสั่ง firebase firestore:databases:restore ดังนี้
firebase firestore:databases:restore \
--backup 'BACKUP' \
--database 'DATABASE_ID'
แทนที่ค่าต่อไปนี้
  • BACKUP: ชื่อทรัพยากรแบบเต็มของข้อมูลสำรอง คุณดูชื่อของการสำรองข้อมูลแต่ละรายการได้เมื่อแสดงการสำรองข้อมูลทั้งหมด
  • DATABASE_ID: รหัสฐานข้อมูลสำหรับฐานข้อมูลใหม่ คุณไม่สามารถใช้รหัสฐานข้อมูลที่มีการใช้งานอยู่แล้ว