Cloud Storage for Firebase ให้คุณอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น รูปภาพและวิดีโอ ซึ่งช่วยให้คุณสร้างเนื้อหาสื่อสมบูรณ์ลงในแอปของคุณได้ ข้อมูลของคุณจัดเก็บไว้ในบัคเก็ต Google Cloud Storage ซึ่งเป็นโซลูชันพื้นที่จัดเก็บอ็อบเจ็กต์ขนาดเอกซะไบต์ที่มีความพร้อมใช้งานสูงและมีความซ้ำซ้อนทั่วโลก Cloud Storage for Firebase ช่วยให้คุณอัปโหลดไฟล์เหล่านี้ได้อย่างปลอดภัยจากอุปกรณ์เคลื่อนที่และเว็บเบราว์เซอร์ จัดการเครือข่ายที่ไม่แน่นอนได้อย่างง่ายดาย
ก่อนจะเริ่ม
ก่อนที่คุณจะสามารถใช้ Cloud Storage คุณต้อง:
ลงทะเบียนโปรเจ็กต์ C++ ของคุณและกำหนดค่าให้ใช้ Firebase
หากโปรเจ็กต์ C++ ของคุณใช้ Firebase อยู่แล้ว แสดงว่าได้ลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว
เพิ่ม Firebase C++ SDK ให้กับโปรเจ็กต์ C++ ของคุณ
โปรดทราบว่าการเพิ่ม Firebase ให้กับโปรเจ็กต์ C++ เกี่ยวข้องกับงานทั้งใน คอนโซล Firebase และในโปรเจ็กต์ C++ แบบเปิดของคุณ (เช่น คุณดาวน์โหลดไฟล์กำหนดค่า Firebase จากคอนโซล จากนั้นย้ายไปยังโปรเจ็กต์ C++)
สร้างที่เก็บข้อมูล Cloud Storage เริ่มต้น
จากบานหน้าต่างนำทางของ คอนโซล Firebase ให้เลือกที่ เก็บข้อมูล จากนั้นคลิก เริ่มต้น ใช้งาน
ตรวจสอบข้อความเกี่ยวกับการรักษาความปลอดภัยข้อมูล Cloud Storage โดยใช้กฎความปลอดภัย ในระหว่างการพัฒนา โปรดพิจารณา ตั้งกฎสำหรับการเข้าถึงแบบสาธารณะ
เลือก ตำแหน่ง สำหรับที่เก็บข้อมูล Cloud Storage เริ่มต้นของคุณ
การตั้งค่าตำแหน่งนี้คือ ตำแหน่งทรัพยากร Google Cloud Platform (GCP) เริ่มต้น ของโปรเจ็กต์ของคุณ โปรดทราบว่าตำแหน่งนี้จะใช้สำหรับบริการ GCP ในโครงการของคุณที่ต้องมีการตั้งค่าตำแหน่ง โดยเฉพาะฐานข้อมูล Cloud Firestore และ แอป App Engine ของคุณ (ซึ่งจำเป็นหากคุณใช้ Cloud Scheduler)
หากคุณเลือกสถานที่ไม่ได้ แสดงว่าโปรเจ็กต์ของคุณมีตำแหน่งทรัพยากร GCP เริ่มต้นอยู่แล้ว มันถูกตั้งค่าระหว่างการสร้างโครงการหรือเมื่อตั้งค่าบริการอื่นที่ต้องมีการตั้งค่าตำแหน่ง
หากคุณใช้แผน Blaze คุณสามารถ สร้างที่เก็บข้อมูลได้หลาย อัน โดยแต่ละอันมี ตำแหน่ง ของตัวเอง
คลิก เสร็จสิ้น
ตั้งค่าการเข้าถึงสาธารณะ
Cloud Storage for Firebase มีภาษาของกฎการประกาศที่ให้คุณกำหนดว่าข้อมูลของคุณควรมีโครงสร้างอย่างไร ควรจัดทำดัชนีอย่างไร และเมื่อใดที่ข้อมูลของคุณสามารถอ่านและเขียนได้ โดยค่าเริ่มต้น การเข้าถึงแบบอ่านและเขียนใน Cloud Storage จะถูกจำกัด ดังนั้นเฉพาะผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เท่านั้นจึงจะสามารถอ่านหรือเขียนข้อมูลได้ ในการเริ่มต้นโดยไม่ต้องตั้งค่าการ ตรวจสอบสิทธิ์ คุณสามารถ กำหนดค่ากฎสำหรับการเข้าถึงแบบสาธารณะ
การดำเนินการนี้จะทำให้ Cloud Storage เปิดสำหรับทุกคน แม้กระทั่งผู้ที่ไม่ได้ใช้แอปของคุณ ดังนั้นอย่าลืมจำกัด Cloud Storage ของคุณอีกครั้งเมื่อคุณตั้งค่าการตรวจสอบสิทธิ์
สร้างและเริ่มต้น firebase::App
ก่อนที่คุณจะสามารถเข้าถึง Cloud Storage คุณจะต้องสร้างและเริ่มต้น firebase::App
รวมไฟล์ส่วนหัวสำหรับ firebase::App
:
#include "firebase/app.h"
Android
สร้าง firebase::App
ผ่านสภาพแวดล้อม JNI และการอ้างอิง jobject
ไปยังกิจกรรม Java เป็นอาร์กิวเมนต์:
app = App::Create(AppOptions(), jni_env, activity);
iOS+
สร้าง firebase::App
:
app = App::Create(AppOptions());
เข้าถึง firebase::storage::Storage
class
คลาส firebase::storage::Storage
เป็นจุดเริ่มต้นสำหรับ Cloud Storage C++ SDK
Storage* storage = Storage::GetInstance(app);
คุณพร้อมที่จะเริ่มใช้ Cloud Storage แล้ว!
ก่อนอื่น มาเรียนรู้วิธี สร้างข้อมูลอ้างอิง Cloud Storage
การตั้งค่าขั้นสูง
มีบางกรณีการใช้งานที่ต้องมีการตั้งค่าเพิ่มเติม:
- การใช้ที่เก็บข้อมูล Cloud Storage ใน หลายภูมิภาค
- การใช้ที่เก็บข้อมูล Cloud Storage ใน คลาสพื้นที่เก็บข้อมูลต่างๆ
- การใช้ที่เก็บข้อมูล Cloud Storage กับผู้ใช้ที่ตรวจสอบสิทธิ์หลายคนในแอปเดียวกัน
กรณีการใช้งานครั้งแรกจะสมบูรณ์แบบถ้าคุณมีผู้ใช้ทั่วโลก และต้องการจัดเก็บข้อมูลไว้ใกล้ตัว ตัวอย่างเช่น คุณสามารถสร้างบัคเก็ตในสหรัฐอเมริกา ยุโรป และเอเชียเพื่อจัดเก็บข้อมูลสำหรับผู้ใช้ในภูมิภาคเหล่านั้นเพื่อลดเวลาในการตอบสนอง
กรณีการใช้งานที่สองจะมีประโยชน์หากคุณมีข้อมูลที่มีรูปแบบการเข้าถึงต่างกัน ตัวอย่างเช่น คุณสามารถตั้งค่าบัคเก็ตแบบหลายภูมิภาคหรือระดับภูมิภาคที่เก็บรูปภาพหรือเนื้อหาอื่นๆ ที่เข้าถึงบ่อย และบัคเก็ต Nearline หรือ Coldline ที่เก็บข้อมูลสำรองของผู้ใช้หรือเนื้อหาอื่นๆ ที่เข้าถึงไม่บ่อย
ในกรณีการใช้งานเหล่านี้ คุณจะต้อง ใช้ที่เก็บข้อมูล Cloud Storage หลายที่
กรณีการใช้งานที่สามมีประโยชน์หากคุณกำลังสร้างแอป เช่น Google ไดรฟ์ ซึ่งให้ผู้ใช้มีหลายบัญชีที่ลงชื่อเข้าใช้ (เช่น บัญชีส่วนตัวและบัญชีงาน) คุณสามารถ ใช้อินสแตนซ์แอป Firebase ที่กำหนดเอง เพื่อตรวจสอบสิทธิ์บัญชีเพิ่มเติมแต่ละบัญชี
ใช้ที่เก็บข้อมูล Cloud Storage หลายอัน
หากคุณต้องการใช้ที่เก็บข้อมูล Cloud Storage นอกเหนือจากค่าเริ่มต้นที่ให้ไว้ข้างต้น หรือใช้ที่เก็บข้อมูล Cloud Storage หลายรายการในแอปเดียว คุณสามารถสร้างอินสแตนซ์ของ firebase::storage::Storage
ที่อ้างอิงที่เก็บข้อมูลที่กำหนดเองของคุณ:
// Get a non-default Cloud Storage bucket Storage* storage = Storage::GetInstance("gs://my-custom-bucket");
การทำงานกับถังนำเข้า
เมื่อนำเข้าที่เก็บข้อมูล Cloud Storage ที่มีอยู่ไปยัง Firebase คุณจะต้องให้สิทธิ์ Firebase ในการเข้าถึงไฟล์เหล่านี้โดยใช้เครื่องมือ gsutil
ซึ่งรวมอยู่ใน Google Cloud SDK :
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
คุณสามารถค้นหาหมายเลขโปรเจ็กต์ตามที่อธิบายไว้ใน บทนำของโปรเจ็กต์ Firebase
การดำเนินการนี้ไม่มีผลกับที่เก็บข้อมูลที่สร้างขึ้นใหม่ เนื่องจากมีการตั้งค่าการควบคุมการเข้าถึงเริ่มต้นให้อนุญาต Firebase นี่เป็นมาตรการชั่วคราวและจะดำเนินการโดยอัตโนมัติในอนาคต
ใช้แอพ Firebase แบบกำหนดเอง
หากคุณกำลังสร้างแอปที่ซับซ้อนมากขึ้นโดยใช้ firebase::App
ที่กำหนดเอง คุณสามารถสร้างอินสแตนซ์ของ firebase::storage::Storage
ที่เริ่มต้นด้วยแอปนั้นได้:
// Get the default bucket from a custom firebase::App Storage* storage = Storage::GetInstance(customApp); // Get a non-default bucket from a custom firebase::App Storage* storage = Storage::GetInstance(customApp, "gs://my-custom-bucket");
ขั้นตอนถัดไป
เตรียมเปิดแอปของคุณ:
- ตั้งค่า การแจ้งเตือนงบประมาณ สำหรับโครงการของคุณใน Google Cloud Console
- ตรวจสอบ แดชบอร์ด การใช้งานและการเรียกเก็บเงิน ในคอนโซล Firebase เพื่อดูภาพรวมการใช้งานโปรเจ็กต์ของคุณในบริการ Firebase ที่หลากหลาย คุณยังสามารถไปที่ แดชบอร์ด การใช้งาน ที่เก็บข้อมูลบนคลาวด์ เพื่อดูข้อมูลการใช้งานโดยละเอียดเพิ่มเติม
- ตรวจ สอบรายการตรวจสอบการเปิดตัว Firebase