Cloud Storage dla Firebase umożliwia przesyłanie i udostępnianie treści użytkowników, np. obrazów i filmów, co pozwala umieszczać w aplikacjach treści multimedialne. Twoje dane są przechowywane w zasobniku Google Cloud Storage – rozwiązaniu obiektowej pamięci masowej w skali eksabajtowej o wysokiej dostępności i globalnej nadmiarowości. Cloud Storage dla Firebase umożliwia bezpieczne przesyłanie tych plików bezpośrednio z urządzeń mobilnych i przeglądarek, co pozwala łatwo obsługiwać niestabilne sieci.
Wymagania wstępne
Zainstaluj pakiet SDK Firebase JS i zainicjuj Firebase, jeśli jeszcze go nie masz.
Tworzenie domyślnego zasobnika Cloud Storage
W panelu nawigacji konsoli Firebase kliknij Miejsce na dane, a potem kliknij Rozpocznij.
Przeczytaj komunikaty na temat zabezpieczania danych w Cloud Storage za pomocą reguł zabezpieczeń. W trakcie programowania rozważ skonfigurowanie reguł dostępu publicznego.
Wybierz lokalizację domyślnego zasobnika Cloud Storage.
To ustawienie lokalizacji określa domyślną lokalizację zasobów Google Cloud Platform (GCP) dla Twojego projektu. Pamiętaj, że ta lokalizacja będzie używana w przypadku usług GCP w projekcie, które wymagają ustawienia lokalizacji, a zwłaszcza bazy danych Cloud Firestore i aplikacji App Engine (co jest wymagane, jeśli używasz usługi Cloud Scheduler).
Jeśli nie możesz wybrać lokalizacji, oznacza to, że Twój projekt ma już domyślną lokalizację zasobów GCP. Wartość została ustawiona podczas tworzenia projektu lub podczas konfigurowania innej usługi, która wymaga ustawienia lokalizacji.
Jeśli korzystasz z abonamentu Blaze, możesz utworzyć wiele zasobników, z których każdy będzie miał własną lokalizację.
Kliknij Gotowe.
Konfigurowanie dostępu publicznego
Cloud Storage dla Firebase udostępnia język reguł deklaratywnych, który pozwala zdefiniować, jak dane powinny być uporządkowane, jak powinny być indeksowane oraz kiedy dane mogą być odczytywane i zapisywane. Domyślnie uprawnienia do odczytu i zapisu w Cloud Storage są ograniczone, więc tylko uwierzytelnieni użytkownicy mogą odczytywać i zapisywać dane. Aby rozpocząć bez konfigurowania uwierzytelniania, możesz skonfigurować reguły dostępu publicznego.
Dzięki temu usługa Cloud Storage jest dostępna dla wszystkich, nawet dla osób, które nie korzystają z Twojej aplikacji. Pamiętaj więc, aby ponownie ograniczyć Cloud Storage podczas konfigurowania uwierzytelniania.
Dodaj URL zasobnika do aplikacji
Musisz dodać adres URL zasobnika Cloud Storage do obiektu konfiguracji aplikacji Firebase, jeśli jeszcze go tam nie ma.
Otwórz panel Miejsce na dane w konsoli Firebase.
Kliknij kartę Pliki, a następnie spójrz w nagłówek przeglądarki plików.
Skopiuj adres URL do schowka. Zwykle ma ona taki format:
project-id.appspot.com
.Do obiektu
firebaseConfig
w aplikacji dodaj atrybutstorageBucket
z adresem URL zasobnika:
Web Modular API
import { initializeApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
Interfejs API internetowej przestrzeni nazw
import firebase from "firebase/app"; import "firebase/compat/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '[your-storage-bucket-url]' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
Możesz już zacząć korzystać z Cloud Storage.
Co dalej? Dowiedz się, jak utworzyć plik referencyjny Cloud Storage.
Konfiguracja zaawansowana
W kilku przypadkach dodatkowa konfiguracja może być wymagana:
- Korzystanie z zasobników Cloud Storage w wielu regionach geograficznych
- Używanie zasobników Cloud Storage w różnych klasach pamięci masowej
- Używanie zasobników Cloud Storage z wieloma uwierzytelnionymi użytkownikami w tej samej aplikacji
Pierwszy przypadek użycia jest idealny, jeśli masz użytkowników na całym świecie i chcesz przechowywać ich dane w ich pobliżu. Możesz na przykład utworzyć zasobniki w Stanach Zjednoczonych, Europie i Azji do przechowywania danych użytkowników w tych regionach, aby skrócić czas oczekiwania.
Drugi przypadek użycia jest przydatny, gdy masz dane o różnych wzorcach dostępu. Możesz na przykład skonfigurować wieloregionalny lub regionalny zasobnik do przechowywania zdjęć lub innych często używanych treści, a także zasobnik Nearline lub Coldline, w którym będą przechowywane kopie zapasowe danych użytkowników lub inne rzadko używane treści.
W każdym z tych przypadków warto używać wielu zasobników Cloud Storage.
Trzeci przypadek użycia jest przydatny, gdy tworzysz aplikację, np. Dysk Google, która pozwala użytkownikom mieć więcej niż jedno konto (na przykład konto osobiste i służbowe). Do uwierzytelniania każdego dodatkowego konta możesz użyć niestandardowej instancji aplikacji Firebase.
Korzystanie z wielu zasobników Cloud Storage
Jeśli chcesz użyć innego zasobnika Cloud Storage niż podany powyżej lub użyć wielu zasobników Cloud Storage w jednej aplikacji, możesz utworzyć instancję firebase.storage
odwołującą się do zasobnika niestandardowego:
Web Modular API
import { getApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // Get a non-default Storage bucket const firebaseApp = getApp(); const storage = getStorage(firebaseApp, "gs://my-custom-bucket");
Interfejs API internetowej przestrzeni nazw
// Get a non-default Storage bucket var storage = firebase.app().storage("gs://my-custom-bucket");
Praca z zaimportowanymi zasobnikami
Podczas importowania do Firebase istniejącego zasobnika Cloud Storage musisz zezwolić Firebase na dostęp do tych plików za pomocą narzędzia gsutil
, które wchodzi w skład pakietu SDK Google Cloud:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
Numer projektu znajdziesz we wprowadzeniu do projektów Firebase.
Nie ma to wpływu na nowo utworzone zasobniki, ponieważ ich domyślna kontrola dostępu zezwala na dostęp Firebase. Jest to środek tymczasowy i w przyszłości będzie realizowany automatycznie.
Użyj niestandardowej aplikacji Firebase
Jeśli tworzysz bardziej złożoną aplikację za pomocą niestandardowego obiektu firebase.app.App
, możesz utworzyć instancję firebase.storage.Storage
zainicjowaną z tą aplikacją:
Web Modular API
import { getStorage } from "firebase/storage"; // Get the default bucket from a custom firebase.app.App const storage1 = getStorage(customApp); // Get a non-default bucket from a custom firebase.app.App const storage2 = getStorage(customApp, "gs://my-custom-bucket");
Interfejs API internetowej przestrzeni nazw
// Get the default bucket from a custom firebase.app.App var storage = customApp.storage(); // Get a non-default bucket from a custom firebase.app.App var storage = customApp.storage("gs://my-custom-bucket");
Dalsze kroki
Przygotowanie do wprowadzenia aplikacji:
Włącz Sprawdzanie aplikacji, aby mieć pewność, że tylko Twoje aplikacje mają dostęp do zasobników na dane.
W konsoli Google Cloud skonfiguruj alerty dotyczące budżetu dla swojego projektu.
Monitoruj wykorzystanie i płatności panel w konsoli Firebase, aby mieć ogólny obraz wykorzystania projektu w wielu usługach Firebase. Bardziej szczegółowe informacje o wykorzystaniu możesz też znaleźć w panelu Wykorzystanie Cloud Storage.
Zapoznaj się z listą kontrolną uruchamiania Firebase.