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 na tworzenie w aplikacjach treści rich media. Twoje dane są przechowywane w Google Cloud Storage zasobniku – rozwiązaniu do przechowywania obiektów o skali eksabajtów, które charakteryzuje się wysoką dostępnością 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, z łatwością radząc sobie z niestabilnymi sieciami.
Zanim zaczniesz
Jeśli jeszcze tego nie zrobisz, upewnij się, że masz za sobą przewodnik dla początkujących dotyczący aplikacji internetowych. Obejmuje to m.in.:
Tworzenie projektu w Firebase.
Rejestrowanie aplikacji internetowej w projekcie i łączenie aplikacji z Firebase przez dodanie pakietu Firebase JS SDK oraz obiektu konfiguracji Firebase do aplikacji.
Upewnij się, że Twój projekt w Firebase korzysta z planu taryfowego Blaze z płatnością według wykorzystania, który jest wymagany do korzystania z Cloud Storage dla FirebaseCloud Storage for Firebase. Jeśli dopiero zaczynasz korzystać z Firebase i Google Cloud, sprawdź, czy kwalifikujesz się do bezpłatnego okresu próbnego o wartości 300 USD.
Tworzenie domyślnego Cloud Storage zasobnika
W konsoli Firebase otwórz Bazy danych i miejsce na dane > Miejsce na dane.
Jeśli Twój projekt nie korzysta jeszcze z planu taryfowego Blaze z płatnością według wykorzystania, pojawi się prośba o przejście na ten plan.
Kliknij Rozpocznij.
Wybierz lokalizację domyślnego zasobnika.
Zasobniki w lokalizacjach
,US-CENTRAL1 iUS-EAST1 mogą korzystać z "Zawsze bezpłatnie" warstwy dla Google Cloud Storage. W przypadku zasobników w pozostałych lokalizacjach obowiązują Google Cloud Storage ceny i zasady użytkowania.US-WEST1Jeśli chcesz, możesz później utworzyć kilka zasobników, z których każdy będzie miał własną lokalizację.
Skonfiguruj Firebase Security Rules dla domyślnego zasobnika. Podczas programowania, rozważ skonfigurowanie reguł dostępu publicznego.
Kliknij Gotowe.
Teraz możesz wyświetlić zasobnik w konsoli Firebase (otwórz kartę
Bazy danych i miejsce na dane > Miejsce na dane >
Pliki).
Format nazwy domyślnego zasobnika 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 dane można odczytywać i zapisywać. Domyślnie dostęp do odczytu i zapisu w Cloud Storage jest ograniczony, więc tylko uwierzytelnieni użytkownicy mogą odczytywać i zapisywać dane. Aby rozpocząć korzystanie z usługi bez konfigurowania Authentication, możesz skonfigurować reguły dostępu publicznego.
Spowoduje to, że Cloud Storage będzie otwarty dla wszystkich, nawet dla osób, które nie korzystają z Twojej aplikacji. Pamiętaj, aby po skonfigurowaniu uwierzytelniania ponownie ograniczyć dostęp do Cloud Storage.
Dodawanie pakietu Cloud Storage JS SDK i inicjowanie Cloud Storage
Podczas inicjowania pakietu JavaScript SDK musisz podać nazwę zasobnika Cloud Storage.
Nazwę zasobnika Cloud Storage znajdziesz w konsoli Firebase (otwórz kartę Bazy danych i miejsce na dane > Miejsce na dane > Pliki). 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 we wrześniu 2024 r. lub późniejPROJECT_ID.firebasestorage.app) -
(starszy domyślny zasobnik utworzony przedPROJECT_ID.appspot.comwrześniem 2024 r. )
Zainicjuj pakiet SDK, używając 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!
Następny krok? Dowiedz się, jak utworzyć odniesienie Cloud Storage.
Konfiguracja zaawansowana
W kilku przypadkach użycia wymagana jest dodatkowa konfiguracja:
- Korzystanie z Cloud Storage zasobników w wielu regionach geograficznych
- Korzystanie z Cloud Storage zasobników w różnych klasach pamięci
- Korzystanie z 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 pobliżu. 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óźnienie.
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 użycia warto korzystać z kilku Cloud Storage zasobników.
Trzeci przypadek użycia jest przydatny, jeśli tworzysz aplikację, taką jak Dysk Google, która umożliwia użytkownikom korzystanie z kilku zalogowanych kont (np. konta osobistego i konta służbowego). Do uwierzytelniania każdego dodatkowego konta możesz użyć niestandardowej instancji aplikacji Firebase.
Korzystanie z kilku zasobników Cloud Storage
Jeśli chcesz używać innego zasobnika Cloud Storage niż domyślny zasobnik opisany
wcześniej w tym przewodniku lub używać kilku zasobników Cloud Storage 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 importowanymi zasobnikami
Podczas importowania istniejącego zasobnika Cloud Storage do Firebase musisz
przyznać Firebase dostęp do tych plików za pomocą narzędzia
gsutil zawartego w pakiecie
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 sposób opisany we wprowadzeniu do projektów Firebase.
Nie ma to wpływu na nowo utworzone zasobniki, ponieważ mają one domyślną kontrolę dostępu ustawioną na zezwalanie Firebase. Jest to środek tymczasowy, który w przyszłości będzie wykonywany automatycznie.
Korzystanie z niestandardowej aplikacji Firebase
Jeśli tworzysz bardziej złożoną aplikację, która korzysta z niestandardowej aplikacji firebase.app.App, możesz utworzyć instancję 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 opublikowania aplikacji:
Włącz App Check, aby mieć pewność, że tylko Twoje aplikacje mogą uzyskiwać dostęp do zasobników.
Skonfiguruj budżet alertów dla swojego projektu w Google Cloud konsoli.
Monitoruj panel Użycie i płatności w konsoli Firebase aby uzyskać ogólny obraz wykorzystania projektu w różnych usługach Firebase. Aby uzyskać bardziej szczegółowe informacje o użyciu, możesz też otworzyć panel Cloud Storage Użycie dashboard w Cloud Storage.
Zapoznaj się z listą kontrolną dotyczącą publikowania aplikacji w Firebase.