Wprowadzenie do Cloud Storage w internecie

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 multimedialnych. Twoje dane są przechowywane w Zasobnik Google Cloud Storage – rozwiązanie do przechowywania obiektów w skali eksabajtów z wysoką dostępnością i globalną nadmiarowość. Cloud Storage for Firebase umożliwia bezpieczne przesyłanie tych plików bezpośrednio z urządzeń mobilnych i przeglądarek, co pozwala na obsługę niestabilnych sieci łatwość użycia.

Wymagania wstępne

Zainstaluj pakiet SDK Firebase JS i zainicjuj Firebase, jeśli jeszcze go nie masz.

Utwórz domyślny zasobnik Cloud Storage

  1. W panelu nawigacyjnym konsoli Firebase wybierz Przechowywanie danych, a następnie kliknij Rozpocznij.

  2. Zapoznaj się z informacjami na temat zabezpieczania danych Cloud Storage przy użyciu zabezpieczeń reguł. Podczas tworzenia projektu warto wziąć pod uwagę konfigurowanie reguł dostępu publicznego.

  3. Wybierz lokalizację domyślną. Zasobnik: Cloud Storage.

    • To ustawienie lokalizacji jest domyślną lokalizacją zasobów Google Cloud Platform (GCP) Twojego projektu. Pamiętaj, że ta lokalizacja będzie używana w przypadku usług GCP w Twoim projekcie które wymagają ustawienia lokalizacji, Cloud Firestore Aplikacja App Engine (wymagane, jeśli używasz Cloud Scheduler).

    • Jeśli nie możesz wybrać lokalizacji, oznacza to, że Twój projekt już tam jest. ma domyślną lokalizację zasobów GCP. Został ustawiony podczas projektu lub podczas konfigurowania innej usługi, która wymaga podania lokalizacji. .

    Jeśli masz abonament Blaze, utworzyć wiele zasobników, każdy z własnym lokalizacja.

  4. Kliknij Gotowe.

Konfigurowanie dostępu publicznego

Cloud Storage for Firebase udostępnia język deklaratywny, który pozwala zdefiniować, jak dane powinny być ustrukturyzowane, jak powinny być indeksowane oraz kiedy można je odczytywać i zapisywać. Domyślnie uprawnienia do odczytu i zapisu w Aplikacja Cloud Storage jest ograniczona, więc tylko uwierzytelnieni użytkownicy mogą odczytywać i zapisywać i skalowalnych danych. Aby zacząć korzystać z Authentication bez konfigurowania, możesz skonfigurować reguły dostępu publicznego.

W ten sposób usługa Cloud Storage będzie dostępna dla wszystkich, nawet osób, które nie korzystają z Twojego Aplikacja, więc ponownie ogranicz dostęp do Cloud Storage, gdy ją skonfigurujesz. uwierzytelnianie.

Dodaj URL zasobnika do aplikacji

Jeśli go tam nie ma, musisz dodać URL swojego zasobnika Cloud Storage do Twój Obiekt konfiguracji aplikacji Firebase.

  1. Otwórz panel Storage 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 postać project-id.appspot.com

  4. Do obiektu firebaseConfig w aplikacji dodaj storageBucket za pomocą adresu URL Twojego zasobnika:

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: ''
};

// 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: '[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ąć używać Cloud Storage.

Co dalej? Dowiedz się, jak utworzyć element Cloud Storage odwołania.

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 i przechowywanie danych w pobliżu. Można na przykład utworzyć zasobniki w Stanach Zjednoczonych, w Europie i Azji do przechowywania danych użytkowników w tych regionach, aby zmniejszyć czas oczekiwania.

Drugi przypadek użycia jest przydatny, gdy masz dane o różnych wzorcach dostępu. Możesz na przykład skonfigurować zasobnik dla wielu regionów lub jeden region, w którym będzie przechowywana zdjęcia lub inne często używane treści, a także zbiór zdjęć Nearline lub Coldline, który zawiera kopie zapasowe użytkowników lub inne rzadko używane treści.

W obu przypadkach użyj kilku zasobników Cloud Storage.

Trzeci przypadek użycia jest przydatny, gdy tworzysz aplikację, np. Dysk Google, który umożliwia użytkownikom posiadanie wielu kont (na przykład konto osobiste, i konto służbowe). Możesz użyć niestandardowej aplikacji Firebase. do uwierzytelniania każdego dodatkowego konta.

Używanie wielu grup Cloud Storage

Jeśli chcesz użyć innego zasobnika Cloud Storage niż podany powyżej, lub używasz wielu zasobników Cloud Storage w jednej aplikacji, możesz utworzyć instancję z firebase.storage, które odwołuje się do Twojego zasobnika niestandardowego:

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 istniejącego zasobu Cloud Storage do Firebase musisz przyznać Firebase uprawnienia dostępu do tych plików za pomocą narzędzia gsutil, które jest częścią pakietu Google Cloud SDK:

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

Numer projektu znajdziesz w sposób opisany w wprowadzeniu do projektów Firebase.

Nie ma to wpływu na nowo utworzone zasobniki, ponieważ mają one domyślny dostęp aby zezwolić na używanie Firebase. Jest to rozwiązanie tymczasowe i w sposób nie będzie odbywać się automatycznie.

Użyj niestandardowej aplikacji Firebase

Jeśli chcesz utworzyć bardziej złożoną aplikację, korzystając z niestandardowego interfejsu firebase.app.App, może utworzyć instancję firebase.storage.Storage zainicjowaną przy użyciu 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