Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

เริ่มต้นใช้งาน Cloud Storage สำหรับ C ++

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

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

ก่อนที่คุณจะใช้ Cloud Storage ได้คุณต้อง:

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

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

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

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

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

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

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

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

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

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

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

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

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

Cloud Storage สำหรับ 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 Activity เป็นอาร์กิวเมนต์:

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 หลายชุด

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

ใช้ที่เก็บข้อมูล Cloud Storage หลายรายการ

หากคุณต้องการใช้ที่เก็บข้อมูล Cloud Storage นอกเหนือจากค่าเริ่มต้นที่ให้ไว้ข้างต้นหรือใช้ที่เก็บข้อมูล Cloud Storage หลายรายการในแอปเดียวคุณสามารถสร้างอินสแตนซ์ของ firebase::storage::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");

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