Use o Cloud Storage para disponibilizar arquivos como filmes, imagens ou outros conteúdos estáticos.
Neste documento, descrevemos como usar a biblioteca de cliente do Google Cloud no seu aplicativo para armazenar e recuperar dados do Cloud Storage.
Antes de começar
Siga as instruções em "Hello, World!" para Node.js no App Engine e configure o ambiente e o projeto. Saiba também como os aplicativos Node.js são estruturados no App Engine. Anote e salve o ID do projeto. Você precisará dele para executar o aplicativo de amostra descrito neste documento.
Certifique-se de criar um bucket do Cloud Storage para o aplicativo invocando o seguinte comando:
gsutil mb gs://[YOUR_BUCKET_NAME]
Configure o bucket como acessível para leitura pública para disponibilização de arquivos:
gsutil defacl set public-read gs://[YOUR_BUCKET_NAME]
Fazer o download da amostra
Para clonar o repositório:
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples/
cd nodejs-docs-samples/appengine/storage/standard
Edite a configuração do projeto e instale as dependências
Em app.yaml
, adicione o ID do projeto ao
valor do ambiente GOOGLE_CLOUD_PROJECT
. Em seguida, configure o valor de ambiente GCLOUD_STORAGE_BUCKET
para o nome do
bucket do Cloud Storage criado anteriormente.
Em package.json
, adicione @google-cloud/storage
como uma dependência, que
fornece as funções para usar o Cloud Storage.
Consulte o arquivo README.md
para instruções sobre como executar e testar localmente.
Código do aplicativo
O aplicativo de amostra apresenta uma página da Web que solicita ao usuário um arquivo para ser armazenado no Cloud Storage. Depois que o usuário seleciona o arquivo e clica em enviar, o gerenciador de upload carrega o conteúdo do arquivo em um blob e o salva no Cloud Storage.
Após o upload do arquivo no Cloud Storage, o URL público dele é retornado. É possível usá-lo para disponibilizar o arquivo diretamente do Cloud Storage. Armazene esse valor no app para uso futuro.
Para saber mais
Consulte a documentação do Cloud Storage para informações completas.