Wprowadzenie do Cloud Storage w internecie

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

  1. W panelu nawigacji konsoli Firebase kliknij Miejsce na dane, a potem kliknij Rozpocznij.

  2. Przeczytaj komunikaty na temat zabezpieczania danych w Cloud Storage za pomocą reguł zabezpieczeń. W trakcie programowania rozważ skonfigurowanie reguł dostępu publicznego.

  3. 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ę.

  4. 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.

  1. Otwórz panel Miejsce na dane w konsoli Firebase.

  2. Kliknij kartę Pliki, a następnie spójrz w nagłówek przeglądarki plików.

  3. Skopiuj adres URL do schowka. Zwykle ma ona taki format: project-id.appspot.com.

  4. Do obiektu firebaseConfig w aplikacji dodaj atrybut storageBucket 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:

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