Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
Эта страница переведена с помощью Cloud Translation API.
Switch to English

Начните работу с облачным хранилищем в Интернете

Облачное хранилище для Firebase позволяет загружать и обмениваться пользовательским контентом, таким как изображения и видео, что позволяет встраивать мультимедийный контент в свои приложения. Ваши данные хранятся в корзине Google Cloud Storage - решении для хранения объектов в масштабе эксабайт с высокой доступностью и глобальной избыточностью. Облачное хранилище для Firebase позволяет безопасно загружать эти файлы прямо с мобильных устройств и веб-браузеров, с легкостью обрабатывая нестабильные сети.

Предпосылки

Добавьте и настройте Firebase SDK в свое приложение.

Создайте корзину Cloud Storage по умолчанию

  1. На панели навигации консоли Firebase выберите « Хранилище» , затем нажмите « Начать» .

  2. Просмотрите сообщения о защите данных облачного хранилища с помощью правил безопасности. Во время разработки подумайте о настройке ваших правил для общего доступа .

  3. Выберите расположение для сегмента облачного хранилища по умолчанию.

    • Этот параметр местоположения является местоположением ресурса Google Cloud Platform (GCP) по умолчанию для вашего проекта. Обратите внимание, что это местоположение будет использоваться для сервисов GCP в вашем проекте, для которых требуется настройка местоположения, в частности, для вашей базы данных Cloud Firestore и вашего приложения App Engine (что необходимо, если вы используете Cloud Scheduler).

    • Если вы не можете выбрать местоположение, значит, в вашем проекте уже есть местоположение ресурса GCP по умолчанию. Он был установлен либо во время создания проекта, либо при настройке другой службы, для которой требуется настройка местоположения.

    Если вы используете план Blaze, вы можете создать несколько сегментов , каждое со своим местоположением .

  4. Щелкните Готово .

Настроить публичный доступ

Облачное хранилище для Firebase предоставляет язык декларативных правил, который позволяет вам определять, как ваши данные должны быть структурированы, как они должны индексироваться и когда ваши данные могут быть прочитаны и записаны. По умолчанию доступ для чтения и записи в облачное хранилище ограничен, поэтому только прошедшие аутентификацию пользователи могут читать или записывать данные. Чтобы начать работу без настройки аутентификации , вы можете настроить свои правила для общего доступа .

Это делает облачное хранилище открытым для всех, даже для людей, не использующих ваше приложение, поэтому обязательно снова ограничьте облачное хранилище при настройке аутентификации.

Добавьте URL-адрес корзины в приложение

Если он еще не включен, вам необходимо добавить URL-адрес корзины Cloud Storage в объект конфигурации вашего приложения Firebase .

  1. Перейдите на панель управления хранилищем в консоли Firebase .

  2. Щелкните вкладку Файлы , затем посмотрите заголовок средства просмотра файлов.

  3. Скопируйте URL-адрес в буфер обмена. Обычно это project-id .appspot.com .

  4. Для вашего firebaseConfig объекта в вашем приложении, добавьте storageBucket атрибут с ковшом URL:

    Интернет v8

    // Set the configuration for your app
    // TODO: Replace with your app's config object
    var firebaseConfig = {
      apiKey: '<your-api-key>',
      authDomain: '<your-auth-domain>',
      databaseURL: '<your-database-url>',
      storageBucket: '<your-storage-bucket-url>'
    };
    firebase.initializeApp(firebaseConfig);
    
    // Get a reference to the storage service, which is used to create references in your storage bucket
    var storage = firebase.storage();

    Интернет v9

    import { initializeApp } from "firebase/app";
    import { getStorage } from "firebase/storage";
    
    // Set the configuration for your app
    // TODO: Replace with your app's config object
    const firebaseConfig = {
      apiKey: '<your-api-key>',
      authDomain: '<your-auth-domain>',
      databaseURL: '<your-database-url>',
      storageBucket: '<your-storage-bucket-url>'
    };
    const firebaseApp = initializeApp(firebaseConfig);
    
    // Get a reference to the storage service, which is used to create references in your storage bucket
    const storage = getStorage(firebaseApp);

Вы готовы начать использовать облачное хранилище!

Следующий шаг? Узнайте, как создать ссылку на облачное хранилище .

Advanced Setup

Есть несколько вариантов использования, требующих дополнительной настройки:

Первый вариант использования идеален, если у вас есть пользователи по всему миру и вы хотите хранить их данные рядом с ними. Например, вы можете создавать корзины в США, Европе и Азии для хранения данных для пользователей в этих регионах, чтобы уменьшить задержку.

Второй вариант использования полезен, если у вас есть данные с разными шаблонами доступа. Например: вы можете настроить мультирегиональное или региональное ведро, в котором хранятся изображения или другой часто используемый контент, а также ведро ближней или холодной линии, в котором хранятся резервные копии пользователей или другой редко используемый контент.

В любом из этих вариантов использования вы захотите использовать несколько сегментов Cloud Storage .

Третий вариант использования полезен, если вы создаете приложение, такое как Google Диск, которое позволяет пользователям иметь несколько зарегистрированных учетных записей (например, личную учетную запись и рабочую учетную запись). Вы можете использовать собственный экземпляр приложения Firebase для аутентификации каждой дополнительной учетной записи.

Используйте несколько сегментов Cloud Storage

Если вы хотите использовать сегмент облачного хранилища, отличный от указанного выше по умолчанию, или использовать несколько сегментов облачного хранилища в одном приложении, вы можете создать экземпляр firebase.storage который ссылается на ваш пользовательский сегмент:

Интернет v8

// Get a non-default Storage bucket
var storage = firebase.app().storage("gs://my-custom-bucket");

Интернет v9

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");

Работа с импортированными ведрами

При импорте существующего сегмента облачного хранилища в Firebase вам необходимо предоставить Firebase возможность доступа к этим файлам с gsutil инструмента gsutil , включенного в Google Cloud SDK :

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

Вы можете найти номер своего проекта, как описано во введении к проектам Firebase .

Это не влияет на вновь созданные корзины, поскольку для них установлен контроль доступа по умолчанию, разрешающий Firebase. Это временная мера, и в будущем она будет выполняться автоматически.

Используйте собственное приложение Firebase

Если вы создаете более сложное приложение с использованием настраиваемого firebase.app.App , вы можете создать экземпляр firebase.storage.Storage инициализированный этим приложением:

Интернет v8

// 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");

Интернет v9

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");

Следующие шаги