Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

เริ่มต้นกับ Cloud Storage สำหรับ C ++

ที่เก็บข้อมูลบนคลาวด์สำหรับ Firebase ให้คุณอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้นเช่นรูปภาพและวิดีโอซึ่งช่วยให้คุณสร้างเนื้อหาสื่อสมบูรณ์ลงในแอปของคุณ ข้อมูลของคุณจะถูกเก็บไว้ในที่เก็บข้อมูล Google Cloud Storage ซึ่งเป็นโซลูชันการจัดเก็บข้อมูลวัตถุขนาด exabyte พร้อมความพร้อมใช้งานสูงและความซ้ำซ้อนระดับโลก ที่เก็บข้อมูลบนคลาวด์ช่วยให้คุณอัปโหลดไฟล์เหล่านี้ได้อย่างปลอดภัยโดยตรงจากอุปกรณ์มือถือและเว็บเบราว์เซอร์

ก่อนที่คุณจะเริ่ม

ก่อนที่คุณจะสามารถใช้ Cloud Storage คุณต้อง:

  • ลงทะเบียนโครงการ C ++ ของคุณและกำหนดค่าให้ใช้ Firebase

    หากโครงการ C ++ ของคุณใช้ Firebase อยู่แล้วแสดงว่ามีการลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว

  • ในโครงการระดับ build.gradle ไฟล์ให้แน่ใจว่าจะรวมถึงพื้นที่เก็บข้อมูล Maven ของ Google ในทั้งสองของคุณ buildscript และ allprojects ส่วน

  • เพิ่ม Firebase C ++ SDK ให้กับโปรเจ็กต์ C ++ ของคุณ

โปรดทราบว่าการเพิ่ม Firebase ในโครงการ C ++ ของคุณเกี่ยวข้องกับงานทั้งใน คอนโซล Firebase และในโครงการ C ++ แบบเปิด (ตัวอย่างเช่นคุณดาวน์โหลดไฟล์ Firebase config จากคอนโซลจากนั้นย้ายไปยังโครงการ C ++ ของคุณ)

สร้างที่เก็บข้อมูลเริ่มต้น

  1. จากบานหน้าต่างนำทางของ คอนโซล Firebase ให้เลือกที่ เก็บข้อมูล จากนั้นคลิก เริ่มต้น ใช้งาน

  2. ตรวจสอบการส่งข้อความเกี่ยวกับการรักษาความปลอดภัยข้อมูล Storage ของคุณโดยใช้กฎความปลอดภัย ในระหว่างการพัฒนาให้พิจารณา ตั้งค่ากฎของคุณสำหรับการเข้าถึงสาธารณะ

  3. เลือก ที่ตั้ง สำหรับที่เก็บข้อมูลเริ่มต้นของคุณ

    • การตั้งค่าตำแหน่งนี้เป็น ตำแหน่งทรัพยากรเริ่มต้นของ Google Cloud Platform (GCP) ของ โครงการ โปรดทราบว่าตำแหน่งนี้จะใช้สำหรับบริการ GCP ในโครงการของคุณที่ต้องมีการตั้งค่าตำแหน่งโดยเฉพาะฐานข้อมูล Cloud Firestore ของคุณและ แอพ App Engine ของคุณ (ซึ่งเป็นสิ่งจำเป็นหากคุณใช้ Cloud Scheduler)

    • หากคุณไม่สามารถเลือกตำแหน่งที่ตั้งได้แสดงว่าโครงการของคุณมีตำแหน่งทรัพยากร GCP เริ่มต้นแล้ว มันถูกตั้งค่าอย่างใดอย่างหนึ่งระหว่างการสร้างโครงการหรือเมื่อตั้งค่าบริการอื่นที่ต้องมีการตั้งค่าตำแหน่งที่ตั้ง

    หากคุณอยู่ในแผน Blaze คุณสามารถ สร้างถังได้หลายถัง โดยแต่ละแห่งมี ที่ตั้ง ของตัวเอง

  4. คลิก เสร็จสิ้น

ตั้งค่าการเข้าถึงสาธารณะ

ที่เก็บข้อมูลบนคลาวด์สำหรับ Firebase ให้ภาษากฎกฏประกาศที่อนุญาตให้คุณกำหนดวิธีการจัดโครงสร้างข้อมูลของคุณวิธีการจัดทำดัชนีและเมื่อข้อมูลของคุณสามารถอ่านและเขียนได้ โดยค่าเริ่มต้นการเข้าถึงการอ่านและเขียนไปยังที่จัดเก็บถูก จำกัด ดังนั้นผู้ใช้ที่ผ่านการตรวจสอบแล้วเท่านั้นที่สามารถอ่านหรือเขียนข้อมูลได้ ในการเริ่มต้นโดยไม่ต้องตั้งค่าการ รับรองความถูกต้อง คุณสามารถ กำหนดค่ากฎของคุณสำหรับการเข้าถึงสาธารณะ

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

สร้างและเตรียมใช้งาน firebase::App

ก่อนที่คุณจะสามารถเข้าถึงที่จัดเก็บข้อมูลคุณจะต้องสร้างและเริ่มต้น firebase::App

รวมไฟล์ส่วนหัวสำหรับ firebase::App :

#include "firebase/app.h"

Android

สร้าง firebase::App ผ่านสภาพแวดล้อม JNI และอ้างอิง jobject ไปยัง Java Activity เป็นอาร์กิวเมนต์:

app = App::Create(AppOptions(), jni_env, activity);

iOS

สร้าง firebase::App :

app = App::Create(AppOptions());

เข้าถึง firebase::storage::Storage คลาสการ firebase::storage::Storage

firebase::storage::Storage class เป็นจุดเริ่มต้นสำหรับ Cloud Storage C ++ SDK

Storage* storage = Storage::GetInstance(app);

คุณพร้อมที่จะเริ่มใช้งาน Cloud Storage แล้ว!

ก่อนอื่นมาเรียนรู้วิธี สร้างการอ้างอิง Cloud Storage

การตั้งค่าขั้นสูง

มีบางกรณีที่ต้องใช้การตั้งค่าเพิ่มเติม:

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

กรณีใช้งานครั้งที่สองจะมีประโยชน์หากคุณมีข้อมูลที่มีรูปแบบการเข้าถึงที่แตกต่างกัน ตัวอย่างเช่น: คุณสามารถตั้งค่าที่เก็บข้อมูลหลายภูมิภาคหรือภูมิภาคที่เก็บรูปภาพหรือเนื้อหาที่เข้าถึงบ่อยอื่น ๆ และถังที่อยู่ใกล้หรือถังเก็บความเย็นที่เก็บข้อมูลสำรองของผู้ใช้หรือเนื้อหาที่เข้าถึงไม่บ่อยอื่น ๆ

ในกรณีใช้อย่างใดอย่างหนึ่งเหล่านี้คุณจะต้อง ใช้ที่เก็บข้อมูลหลายชุด

กรณีการใช้งานครั้งที่สามมีประโยชน์หากคุณกำลังสร้างแอปเช่น Google Drive ซึ่งช่วยให้ผู้ใช้มีบัญชีที่ลงชื่อเข้าใช้หลายบัญชี (เช่นบัญชีส่วนตัวและบัญชีงาน) คุณสามารถ ใช้ อินสแตนซ์ Firebase App แบบกำหนดเอง เพื่อตรวจสอบสิทธิ์บัญชีเพิ่มเติมแต่ละบัญชี

ใช้ที่เก็บข้อมูลหลายอัน

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

// Get a non-default Storage bucket
Storage* storage = Storage::GetInstance("gs://my-custom-bucket");

ทำงานกับถังนำเข้า

เมื่อนำเข้าที่เก็บข้อมูล Cloud Storage ที่มีอยู่ใน Firebase คุณจะต้องให้สิทธิ์ Firebase ในการเข้าถึงไฟล์เหล่านี้โดยใช้เครื่องมือ gsutil ซึ่งรวมอยู่ใน Google Cloud SDK :

gsutil -m acl ch -r -u firebase-storage@system.gserviceaccount.com:O gs://<your-cloud-storage-bucket>

สิ่งนี้จะไม่ส่งผลกระทบต่อถังที่สร้างขึ้นใหม่เนื่องจากมีการตั้งค่าการควบคุมการเข้าถึงเริ่มต้นเพื่ออนุญาตให้ 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");

ขั้นตอนถัดไป