หน้านี้อธิบายวิธีใช้ฟีเจอร์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
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
- คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
- เลือกช่องทำเครื่องหมายรายวัน ตั้งค่าระยะเวลาการเก็บรักษา แล้วคลิกบันทึก
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 ประเภท - RETENTION_PERIOD_SECONDS: ตั้งค่านี้เป็นค่าในหน่วยวินาที ตามด้วย "s" ค่าสูงสุดคือ
8467200s
(14 สัปดาห์)
google_firestore_database
ได้ด้วย
สร้างกำหนดเวลาการสำรองข้อมูลรายสัปดาห์
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
- คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
- เลือกช่องทําเครื่องหมายรายสัปดาห์ เลือกวันสํารอง ตั้งค่าระยะเวลาการเก็บรักษา แล้วคลิกบันทึก
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 ประเภท - RETENTION_PERIOD_SECONDS: ตั้งค่านี้เป็นค่าในหน่วยวินาที ตามด้วย "s" ค่าสูงสุดคือ
8467200s
(14 สัปดาห์) - DAY: วันในสัปดาห์ที่จะทำการสำรองข้อมูล ตั้งค่าเป็นค่าใดค่าหนึ่งต่อไปนี้
SUNDAY
สำหรับวันอาทิตย์MONDAY
สำหรับวันจันทร์TUESDAY
สำหรับวันอังคารWEDNESDAY
สำหรับวันพุธTHURSDAY
สำหรับวันพฤหัสบดีFRIDAY
สำหรับวันศุกร์SATURDAY
สำหรับวันเสาร์
google_firestore_database
ได้ด้วย
แสดงรายการกำหนดเวลาสำรองข้อมูล
หากต้องการแสดงรายการกำหนดเวลาสำรองข้อมูลทั้งหมดสำหรับฐานข้อมูล ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
- หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
gcloud
ใช้คำสั่งgcloud firestore backups schedules list
gcloud firestore backups schedules list \ --database='DATABASE_ID'
'(default)'
สำหรับฐานข้อมูลเริ่มต้น
Firebase CLI
ใช้คำสั่งfirebase firestore:backups:schedules:list
firebase firestore:backups:schedules:list \ --database 'DATABASE_ID'
'(default)'
สำหรับฐานข้อมูลเริ่มต้น
อธิบายกำหนดเวลาการสำรองข้อมูล
หากต้องการดึงข้อมูลเกี่ยวกับกำหนดการสำรองข้อมูล ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
- หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
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
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า
- คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
- แก้ไขการตั้งค่ากำหนดเวลาสำรองข้อมูล แล้วคลิกบันทึก
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
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
- คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
- แก้ไขการตั้งค่ากำหนดเวลาสำรองข้อมูล แล้วคลิกบันทึก
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
- BACKUP_SCHEDULE: ชื่อทรัพยากรแบบเต็มของกำหนดการสำรองข้อมูล คุณดูชื่อของกำหนดการสำรองข้อมูลแต่ละรายการได้เมื่อแสดงกำหนดการสำรองข้อมูลทั้งหมด
โปรดทราบว่าการลบกำหนดการสำรองข้อมูลจะไม่ลบข้อมูลสำรองที่กำหนดการนี้สร้างไว้แล้ว คุณจะรอให้ข้อมูลสำรองหมดอายุหลังจากระยะเวลาเก็บรักษา หรือจะลบข้อมูลสำรองด้วยตนเองก็ได้ โปรดดูลบข้อมูลสำรอง
จัดการข้อมูลสำรอง
สร้างรายการข้อมูลสำรอง
หากต้องการแสดงข้อมูลสำรองที่มีอยู่ ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
- คลิกแก้ไขเพื่อแก้ไขการตั้งค่าการกู้คืนจากภัยพิบัติ
- แก้ไขการตั้งค่ากำหนดเวลาสำรองข้อมูล แล้วคลิกบันทึก
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
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่
- หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
gcloud
ใช้คำสั่งgcloud firestore backups describe
gcloud firestore backups describe \ --location=LOCATION \ --backup=BACKUP_ID
- LOCATION: ตำแหน่งของฐานข้อมูล
- BACKUP_ID: รหัสของข้อมูลสำรอง คุณดูรหัสของการสำรองข้อมูลแต่ละรายการได้เมื่อแสดงการสำรองข้อมูลทั้งหมด
Firebase CLI
ใช้คำสั่งfirebase firestore:backups:get
ดังนี้
firebase firestore:backups:get BACKUP
- BACKUP: ชื่อทรัพยากรแบบเต็มของข้อมูลสำรอง คุณดูชื่อของการสำรองข้อมูลแต่ละรายการได้เมื่อแสดงการสำรองข้อมูลทั้งหมด
ลบข้อมูลสำรอง
หากต้องการลบข้อมูลสำรอง ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่ หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
- ในตารางข้อมูลสำรอง ให้ค้นหาแถวของข้อมูลสำรอง แล้วคลิกดูเพิ่มเติม( ) ในคอลัมน์การดำเนินการ คลิกลบ
- ยืนยันการดำเนินการโดยใช้ช่องข้อความ แล้วคลิกลบ
gcloud
ใช้คำสั่งgcloud firestore backups delete
gcloud firestore backups delete \ --location=LOCATION \ --backup=BACKUP_ID
- LOCATION: ตำแหน่งของฐานข้อมูล
- BACKUP_ID: รหัสของข้อมูลสำรอง คุณดูรหัสของการสำรองข้อมูลแต่ละรายการได้เมื่อแสดงการสำรองข้อมูลทั้งหมด
Firebase CLI
ใช้คำสั่งfirebase firestore:backups:delete
ดังนี้
firebase firestore:backups:delete \ BACKUP
- BACKUP: ชื่อทรัพยากรแบบเต็มของข้อมูลสำรอง คุณดูชื่อของข้อมูลสำรองแต่ละรายการได้ เมื่อแสดงข้อมูลสำรองทั้งหมด
กู้คืนข้อมูลจากข้อมูลสำรองของฐานข้อมูล
การดำเนินการกู้คืนจะเขียนข้อมูลจากข้อมูลสำรองไปยังCloud Firestore ฐานข้อมูลใหม่
หากต้องการเริ่มการดำเนินการกู้คืน ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
- ในรายการฐานข้อมูล ให้ค้นหาแถวของฐานข้อมูล ในคอลัมน์การสำรองข้อมูลที่กำหนดเวลาไว้ ให้คลิกดูข้อมูลสำรองหรือแก้ไขการตั้งค่า ทั้งนี้ขึ้นอยู่กับว่ามีกำหนดเวลาการสำรองข้อมูลหรือไม่ หน้าการกู้คืนจากภัยพิบัติจะเปิดขึ้น หน้านี้จะอธิบายกำหนดการสำรองข้อมูล และแสดงรายการข้อมูลสำรองที่มี
- ในตารางข้อมูลสำรอง ให้ค้นหาแถวของข้อมูลสำรอง แล้วคลิกดูเพิ่มเติม(Cloud Shell ) ในคอลัมน์การดำเนินการ คลิกกู้คืนด้วย
-
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: รหัสฐานข้อมูลสำหรับฐานข้อมูลใหม่ คุณไม่สามารถใช้รหัสฐานข้อมูลที่มีการใช้งานอยู่แล้ว