Com o Cloud Storage para Firebase, é possível enviar e compartilhar conteúdo gerado pelo usuário, como imagens e vídeos. Assim, você pode criar elementos de rich media nos apps. Os seus dados são armazenados em um bucket do Google Cloud Storage, uma solução de armazenamento de objetos com capacidade que chega aos exabytes, alta disponibilidade e redundância global. Com o Cloud Storage, o upload dos arquivos é feito com segurança e facilidade diretamente de dispositivos móveis e navegadores da Web, mesmo em redes intermitentes.
Pré-requisitos
Adicione e configure o SDK do Firebase no seu app.
Criar um intervalo padrão do Storage
No painel de navegação do Console do Firebase, selecione Storage e clique em Primeiros passos.
Leia as mensagens sobre como proteger seus dados do Storage por meio de regras de segurança. Durante o desenvolvimento, avalie a possibilidade de configurar suas regras para acesso público.
Selecione um local para o intervalo padrão do Storage.
Essa configuração de localização é o local padrão dos recursos do Google Cloud Platform (GCP) no seu projeto. Esse local será usado em serviços do GCP no projeto que exigem uma configuração de localização, especificamente no banco de dados do Cloud Firestore e no aplicativo do App Engine, que é necessário se você usa o Cloud Scheduler.
Se você não conseguir selecionar um local, isso significa que seu projeto já tem um local padrão dos recursos do GCP. Ele foi definido durante a criação do projeto ou ao configurar outro serviço que requer uma configuração de local.
Se você estiver no plano Blaze, poderá criar vários buckets, cada um com o próprio local.
Clique em Concluído.
Configurar o acesso público
Com o Cloud Storage para Firebase, você tem uma linguagem de regras declarativas para definir como os dados são estruturados, indexados e quando podem ser lidos e gravados. Por padrão, o acesso à leitura e gravação no Storage é restrito aos usuários autenticados. Para iniciar sem configurar o Authentication, defina as regras para acesso público.
Isso deixa o Storage disponível para todos, até para os que não utilizam o app. Por isso, restrinja o Storage novamente quando configurar a autenticação.
Adicionar o URL do seu intervalo ao seu app
Se o URL do intervalo do Storage ainda não estiver incluído, será necessário adicioná-lo ao objeto de configuração do app do Firebase.
Acesse o painel do Storage no Console do Firebase.
Clique na guia Arquivos e procure no cabeçalho do visualizador de arquivos.
Copie o URL para sua área de transferência. Geralmente, está no formato
project-id.appspot.com
.Ao objeto
firebaseConfig
do app, adicione o atributostorageBucket
com o URL do bucket:// 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();
Você já pode usar o Cloud Storage.
Próxima etapa? Aprenda a criar uma referência do Cloud Storage.
Configuração avançada
Há alguns casos de uso que requerem configuração adicional:
- Usar buckets de armazenamento em várias regiões geográficas.
- Usar buckets de armazenamento em diferentes classes de armazenamento.
- Usar buckets de armazenamento com vários usuários autenticados no mesmo app.
O primeiro caso de uso é perfeito para quem tem usuários em todo o mundo e quer armazenar os dados perto deles. Por exemplo, para armazenar os dados dos usuários dos EUA, da Europa e da Ásia, crie buckets nessas regiões para reduzir a latência.
O segundo caso de uso é útil quando você tem dados com diferentes padrões de acesso. Por exemplo, configure um intervalo multirregional ou regional que armazene imagens ou outros conteúdos acessados frequentemente e um intervalo nearline ou coldline que armazene backups de usuários ou outros conteúdos pouco acessados.
Em qualquer um desses casos de uso, você deverá usar vários buckets de armazenamento.
O terceiro caso de uso é útil ao criar um app, como o Google Drive, em que os usuários têm diversas contas conectadas (por exemplo, uma conta pessoal e uma conta corporativa). Para autenticar cada conta adicional, é possível usar uma instância personalizada do app do Firebase.
Usar vários buckets de armazenamento
Para usar um bucket de armazenamento diferente do padrão fornecido acima, ou usar vários buckets de armazenamento em um único app, crie uma instância de firebase.storage
que faça referência ao seu bucket personalizado:
// Get a non-default Storage bucket var storage = firebase.app().storage("gs://my-custom-bucket");
Como trabalhar com buckets importados
Ao importar um bucket do Cloud Storage para o Firebase, é
preciso conceder ao Firebase acesso a esses arquivos com a ferramenta
gsutil
inclusa no
SDK do Google Cloud:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
Você encontra o número do projeto conforme descrito na introdução a projetos do Firebase.
Isso não afeta os buckets recém-criados, porque eles têm o controle de acesso padrão, que autoriza o Firebase. Essa é uma medida temporária e será realizada automaticamente no futuro.
Usar um app personalizado do Firebase
Para desenvolver um app mais complexo usando um firebase.app.App
personalizado, crie uma instância de firebase.storage.Storage
inicializada com esse app:
// 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");
A seguir
Siga estas etapas e prepare-se para lançar seu app:
- Configure alertas de orçamento para o projeto no Console do Google Cloud.
- Monitore seu painel de uso e faturamento no Console do Firebase. Você também pode monitorar seu painel de uso do Storage.
- Consulte a lista de verificação de lançamento do Firebase.