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

Cloud Storage for Firebase ช่วยให้คุณสามารถอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น เป็นรูปภาพและวิดีโอ ซึ่งจะช่วยให้คุณสามารถสร้างเนื้อหาสื่อสมบูรณ์ลงใน แอป ข้อมูลของคุณจะเก็บไว้ใน ที่เก็บข้อมูล Google Cloud Storage — โซลูชันพื้นที่เก็บข้อมูลออบเจ็กต์ขนาด Exabytes ที่มีความพร้อมใช้งานสูงและใช้ได้ทั่วโลก การทำซ้ำ Cloud Storage for 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 คุณจะทำสิ่งต่อไปนี้ได้ สร้างที่เก็บข้อมูลหลายรายการ โดยแต่ละที่เก็บข้อมูลมีของตัวเอง location

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

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

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

การดำเนินการนี้จะทำให้ 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

firebase::storage::Storage คือจุดแรกเข้าของ Cloud Storage C++ SDK

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

คุณเริ่มใช้ Cloud Storage ได้แล้ว

ก่อนอื่น มาดูวิธีสร้าง Cloud Storage กัน ข้อมูลอ้างอิง

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

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

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

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

ในกรณีการใช้งานทั้งสอง คุณควรทำดังนี้ ใช้ที่เก็บข้อมูล Cloud Storage หลายรายการ

กรณีการใช้งานที่ 3 มีประโยชน์ถ้าคุณกำลังสร้างแอป เช่น 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 ซึ่งรวมอยู่ใน SDK ของ Google Cloud

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");

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