Cloud Storage for Firebase umożliwia przesyłanie i udostępnianie treści generowanych przez użytkowników, takich jak obrazy i filmy, co pozwala tworzyć w aplikacjach treści multimedialne. Twoje dane są przechowywane w zasobnikuGoogle Cloud Storage, czyli rozwiązaniu do przechowywania obiektów o skali eksabajtów, które zapewnia wysoką dostępność i globalną redundancję. Cloud Storage for Firebase umożliwia bezpieczne przesyłanie tych plików bezpośrednio z urządzeń mobilnych i przeglądarek internetowych, a także łatwe radzenie sobie z niestabilnymi sieciami.
Zanim zaczniesz
Jeśli jeszcze tego nie zrobiono, zapoznaj się z przewodnikiem dla początkujących dotyczącym aplikacji internetowych. Obejmuje to m.in.:
Tworzenie projektu Firebase.
zarejestrować aplikację internetową w projekcie i połączyć ją z Firebase, dodając do niej pakiet Firebase JS SDK i obiekt konfiguracji Firebase.
Sprawdź, czy Twój projekt Firebase korzysta z abonamentu Blaze z płatnością według zużycia zasobów. Jeśli dopiero zaczynasz korzystać z Firebase i Google Cloud, sprawdź, czy kwalifikujesz się do otrzymania środków w wysokości 300 USD.
Tworzenie domyślnego zasobnika Cloud Storage
W panelu nawigacyjnym Firebase konsoli wybierz Przechowywanie.
Jeśli Twój projekt nie korzysta jeszcze z abonamentu Blaze z płatnością według wykorzystania, pojawi się prośba o jego przeniesienie.
Kliknij Rozpocznij.
Wybierz lokalizację domyślnego zasobnika.
Koszyki w
,US-CENTRAL1
iUS-EAST1
mogą korzystać z poziomu „Zawsze bezpłatnie” w przypadku Google Cloud Storage. W pozostałych lokalizacjach kosze podlegają Google Cloud Storagecenom i użyciu.US-WEST1
Jeśli chcesz, możesz później utworzyć kilka zasobników, z których każdy będzie mieć własną lokalizację.
Skonfiguruj Firebase Security Rules dla domyślnego zasobnika. Podczas tworzenia aplikacji rozważ skonfigurowanie reguł dostępu publicznego.
Kliknij Gotowe.
Zasobnik możesz teraz wyświetlić na Cloud Storage karcie Pliki w konsoli Firebase. Domyślny format nazwy kosza to: PROJECT_ID.firebasestorage.app
Konfigurowanie dostępu publicznego
Cloud Storage for Firebase udostępnia deklaratywny język reguł, który umożliwia określenie struktury danych, sposobu ich indeksowania oraz tego, kiedy można je odczytywać i zapisywać. Domyślnie dostęp do odczytu i zapisu w Cloud Storage jest ograniczony, więc tylko uwierzytelnieni użytkownicy mogą odczytywać lub zapisywać dane. Aby rozpocząć bez konfigurowania Authentication, możesz skonfigurować reguły dostępu publicznego.
Sprawia to, że Cloud Storage jest dostępny dla wszystkich, nawet dla osób, które nie korzystają z Twojej aplikacji. Pamiętaj, aby ponownie ograniczyć dostęp do Cloud Storage po skonfigurowaniu uwierzytelniania.
Dodaj pakiet Cloud Storage JS SDK i zainicjuj Cloud Storage
Podczas inicjowania pakietu SDK JavaScript musisz podać Cloud Storagenazwę zasobnika.
Nazwę kosza Cloud Storage znajdziesz na Cloud Storage karcie Pliki w konsoli Firebase. W zależności od tego, kiedy został utworzony domyślny zasobnik, jego nazwa będzie miała jeden z tych formatów:
(domyślny zasobnik utworzony 30 października 2024 r. lub późniejPROJECT_ID.firebasestorage.app
30 października 2024 r. ) (domyślny kosz utworzony przedPROJECT_ID.appspot.com
30 października 2024 r. )
Zainicjuj pakiet SDK za pomocą tego fragmentu kodu:
Web
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: 'BUCKET_NAME' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
Web
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: 'BUCKET_NAME' }; // 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ć Cloud Storage referencję.
Konfiguracja zaawansowana
W kilku przypadkach użycia wymagana jest dodatkowa konfiguracja:
- Korzystanie z zasobników Cloud Storage w wielu regionach geograficznych
- Korzystanie z zasobników Cloud Storage w różnych klasach pamięci
- Używanie Cloud Storage koszyków 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 pobliżu ich lokalizacji. Możesz na przykład utworzyć zasobniki w Stanach Zjednoczonych, Europie i Azji, aby przechowywać dane użytkowników z tych regionów i zmniejszyć opóźnienia.
Drugi przypadek użycia jest przydatny, jeśli masz dane o różnych wzorcach dostępu. Możesz na przykład skonfigurować zasobnik wieloregionowy lub regionalny, w którym będą przechowywane zdjęcia lub inne często używane treści, oraz zasobnik Nearline lub Coldline, w którym będą przechowywane kopie zapasowe użytkowników lub inne rzadko używane treści.
W obu tych przypadkach warto użyć wielu Cloud Storagezasobników.
Trzeci przypadek użycia jest przydatny, jeśli tworzysz aplikację, taką jak Dysk Google, która umożliwia użytkownikom korzystanie z wielu zalogowanych kont (np. konta osobistego i służbowego). Do uwierzytelniania każdego dodatkowego konta możesz używać niestandardowej instancji aplikacji Firebase.
Korzystanie z wielu zasobników Cloud Storage
Jeśli chcesz użyć Cloud Storage zasobnika innego niż domyślny zasobnik opisany wcześniej w tym przewodniku lub użyć wielu Cloud Storage zasobników w jednej aplikacji, możesz utworzyć instancję firebase.storage
, która odwołuje się do Twojego niestandardowego zasobnika:
Web
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");
Web
// 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 przyznać Firebase uprawnienia dostępu do tych plików za pomocą narzędzia gsutil
, które jest częścią Google Cloud SDK:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
Numer projektu znajdziesz w wprowadzeniu do projektów Firebase.
Nie ma to wpływu na nowo utworzone zasobniki, ponieważ domyślna kontrola dostępu jest w nich ustawiona tak, aby zezwalać na dostęp Firebase. Jest to środek tymczasowy, który w przyszłości będzie stosowany automatycznie.
Używanie niestandardowej aplikacji Firebase
Jeśli tworzysz bardziej skomplikowaną aplikację przy użyciu niestandardowego elementu firebase.app.App
, możesz utworzyć instancję elementu firebase.storage.Storage
zainicjowaną za pomocą tej aplikacji:
Web
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");
Web
// 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
Przygotuj się do uruchomienia aplikacji:
Włącz App Check, aby mieć pewność, że tylko Twoje aplikacje będą miały dostęp do zasobników miejsca na dane.
Skonfiguruj alerty dotyczące budżetu w projekcie w konsoli Google Cloud.
Monitoruj panel Wykorzystanie i rozliczenia w Firebase konsoli, aby uzyskać ogólny obraz wykorzystania usług Firebase w projekcie. Szczegółowe informacje o wykorzystaniu znajdziesz też w Cloud Storage panelu Wykorzystanie.
Zapoznaj się z listą kontrolną dotyczącą uruchamiania Firebase.