ผู้ใช้แพ็กเกจ Blaze สามารถตั้งค่า Firebase Realtime Database สำหรับการสำรองข้อมูลอัตโนมัติ ซึ่งเป็นฟีเจอร์แบบบริการตนเองที่ช่วยให้สำรองข้อมูลแอปพลิเคชันฐานข้อมูลและ Security Rules ในรูปแบบ JSON ไปยังที่เก็บข้อมูล Cloud Storage ได้ทุกวัน
ตั้งค่า
ในคอนโซล Firebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database
ในแท็บข้อมูลสำรอง ให้ใช้เวิร์กโฟลว์ในคอนโซลเพื่อตั้งค่าการสำรองข้อมูลอัตโนมัติ
เราเปิดใช้การบีบอัด Gzip โดยค่าเริ่มต้นเพื่อประหยัดค่าใช้จ่ายในการจัดเก็บข้อมูล และคุณสามารถเลือกเปิดใช้นโยบายวงจร 30 วันในที่เก็บข้อมูลเพื่อลบข้อมูลสำรองที่เก่ากว่า 30 วันโดยอัตโนมัติได้
คุณดูสถานะและกิจกรรมการสำรองข้อมูลได้โดยตรงในคอนโซล Firebase ซึ่งคุณจะเริ่มการสำรองข้อมูลด้วยตนเองได้ด้วย ซึ่งจะมีประโยชน์สำหรับการถ่ายสแนปชอตตามเวลาที่กำหนดหรือเป็นการดำเนินการด้านความปลอดภัยก่อนที่คุณจะทำการเปลี่ยนแปลงโค้ด
เมื่อตั้งค่าแล้ว ระบบจะสร้างที่เก็บข้อมูล Cloud Storage ใหม่ให้คุณพร้อมสิทธิ์ WRITER สำหรับ Firebase คุณไม่ควรจัดเก็บข้อมูลในที่เก็บนี้หากไม่ต้องการให้ Firebase เข้าถึงได้ Firebase จะไม่มีสิทธิ์เข้าถึงเพิ่มเติมในที่เก็บข้อมูล Cloud Storage อื่นๆ หรือพื้นที่อื่นๆ ของ Google Cloud
กำลังกู้คืนจากข้อมูลสำรอง
หากต้องการกู้คืน Firebase จากข้อมูลสำรอง ให้ดาวน์โหลดไฟล์จาก Cloud Storage ไปยังดิสก์ในเครื่องก่อน ซึ่งทำได้โดยคลิกชื่อไฟล์ในส่วนกิจกรรมการสำรองข้อมูลหรือจากอินเทอร์เฟซบักเก็ต Cloud Storage หากไฟล์มีการบีบอัด Gzip ให้คลายการบีบอัดไฟล์ก่อน
คุณมี 2 ตัวเลือกในการนําเข้าข้อมูล ดังนี้
ตัวเลือกที่ 1: ใช้คอนโซล Firebase
ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database > แท็บข้อมูล
คลิกนำเข้า JSON แล้วเลือกไฟล์ JSON ของข้อมูลแอปพลิเคชัน
ตัวเลือกที่ 2: ส่งคำขอ CURL จากบรรทัดคำสั่ง
ดึงข้อมูลลับจาก Firebase ซึ่งคุณสามารถรับได้จากแท็บฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database > การตั้งค่า
ป้อนข้อมูลต่อไปนี้ลงในเทอร์มินัล โดยแทนที่ช่อง
DATABASE_NAMEและSECRETด้วยค่าของคุณเองcurl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json
หากพบปัญหาในการกู้คืนข้อมูลสำรองจากฐานข้อมูลขนาดใหญ่มาก โปรดติดต่อทีมสนับสนุนของ Firebase
การตั้งเวลา
ระบบจะกำหนดเวลาสำรองข้อมูลฐานข้อมูลเป็นเวลาที่เจาะจงในแต่ละวัน เพื่อให้มั่นใจว่าลูกค้าที่สำรองข้อมูลทั้งหมดจะได้รับภาระงานที่สม่ำเสมอและมีความพร้อมใช้งานสูงสุด การสำรองข้อมูลตามกำหนดเวลานี้จะเกิดขึ้นไม่ว่าคุณจะสำรองข้อมูลด้วยตนเองตลอดทั้งวันหรือไม่ก็ตาม
การตั้งชื่อไฟล์
ไฟล์ที่โอนไปยังที่เก็บข้อมูล Cloud Storage จะมีการประทับเวลา (มาตรฐาน ISO 8601) และใช้รูปแบบการตั้งชื่อต่อไปนี้
- ข้อมูลฐานข้อมูล:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json - กฎฐานข้อมูล:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json
หากเปิดใช้ Gzip ระบบจะเพิ่มคำต่อท้าย .gz ไว้ที่ชื่อไฟล์ คุณสามารถค้นหาข้อมูลสำรองจากวันที่หรือเวลาที่ต้องการได้อย่างง่ายดายโดยใช้Cloud Storageการค้นหาคำนำหน้า
การบีบอัด Gzip
โดยค่าเริ่มต้น เราจะบีบอัดไฟล์ข้อมูลสำรองโดยใช้การบีบอัด Gzip เพื่อประหยัดค่าใช้จ่ายในการจัดเก็บและลดเวลาในการโอน ขนาดไฟล์ที่บีบอัดจะแตกต่างกันไปตามลักษณะข้อมูลของฐานข้อมูล แต่โดยทั่วไปแล้วฐานข้อมูลอาจลดลงเหลือ 1 ใน 3 ของขนาดเดิม ซึ่งช่วยประหยัดค่าใช้จ่ายในการจัดเก็บข้อมูลและลดเวลาในการอัปโหลดข้อมูลสำรอง
หากต้องการขยายไฟล์ JSON ที่บีบอัดด้วย Gzip ให้ใช้คำสั่งบรรทัดคำสั่งโดยใช้ไบนารี gunzip ซึ่งจัดส่งโดยค่าเริ่มต้นสำหรับ OS-X และการแจกจ่าย Linux ส่วนใหญ่
gunzip <DATABASE_NAME>.json.gz # Will unzip to <DATABASE_NAME>.json
อายุการใช้งาน 30 วันของพื้นที่เก็บข้อมูล
เรามีสวิตช์การกำหนดค่าที่ใช้งานง่ายซึ่งจะเปิดใช้นโยบายวงจรของออบเจ็กต์ 30 วันตามค่าเริ่มต้นสำหรับที่เก็บข้อมูล Cloud Storage เมื่อเปิดใช้ ระบบจะลบไฟล์ในที่เก็บข้อมูลโดยอัตโนมัติหลังจากผ่านไป 30 วัน ซึ่งจะช่วยลดข้อมูลสำรองเก่าที่ไม่ต้องการ ประหยัดค่าใช้จ่ายด้านพื้นที่เก็บข้อมูล และทำให้ไดเรกทอรีที่เก็บข้อมูลเป็นระเบียบ หากคุณวางไฟล์อื่นๆ ลงในที่เก็บข้อมูลการสำรองข้อมูลอัตโนมัติ ระบบจะลบไฟล์เหล่านั้นด้วยนโยบายเดียวกัน
ค่าใช้จ่าย
คุณสามารถเปิดใช้ฟีเจอร์การสำรองข้อมูลสำหรับโปรเจ็กต์ในแพ็กเกจ Blaze ได้โดยไม่มีค่าใช้จ่ายเพิ่มเติม อย่างไรก็ตาม ระบบจะเรียกเก็บเงินคุณในอัตรามาตรฐานสำหรับไฟล์ข้อมูลสำรองที่อยู่ในที่เก็บข้อมูล Cloud Storage คุณสามารถเปิดใช้การบีบอัด Gzip และวงจรพื้นที่เก็บข้อมูล 30 วันเพื่อลดค่าใช้จ่ายด้านพื้นที่เก็บข้อมูลได้