Como usar o Cloud Storage

Se o aplicativo PHP 5 precisar ler e gravar arquivos durante o ambiente de execução ou exibir arquivos, como filmes, imagens ou outro conteúdo estático, recomendamos o uso de um bucket do Cloud Storage.

Ao criar um aplicativo, o App Engine cria um bucket padrão que fornece gratuitamente os primeiros 5 GB de armazenamento e inclui uma cota gratuita para operações de E/S do Cloud Storage. É possível criar outros buckets do Cloud Storage, mas apenas o bucket padrão inclui os primeiros 5 GB de armazenamento gratuito.

Como usar o Cloud Storage com o App Engine

Para usar um bucket do Cloud Storage a partir de um aplicativo do App Engine:

  1. Veja os nomes dos buckets atuais no seu projeto do App Engine. Esses nomes são especificados durante o upload ou download de dados do Cloud Storage.

    É recomendável armazenar os nomes dos buckets do Cloud Storage nas variáveis de ambiente do aplicativo, em vez de codificá-lo no app.

  2. No seu aplicativo, declare o Cloud Storage como uma dependência adicionando google/cloud-storage ao arquivo composer.json do seu aplicativo e executando composer install a partir do diretório do aplicativo. Saiba mais sobre o composer (em inglês).

  3. Registre Google\Cloud\Storage\StorageClient como o wrapper de stream do aplicativo. Em seguida, use o protocolo gs para ler e gravar arquivos.

    Veja um exemplo de registro e uso do wrapper de stream.

    É possível também usar diretamente a biblioteca de cliente do Google Cloud.

Como usar o bucket padrão

Ao criar um aplicativo, o App Engine cria um bucket padrão que fornece gratuitamente os primeiros 5 GB de armazenamento. O bucket padrão também inclui uma cota gratuita para operações de E/S do Cloud Storage. Consulte Preços, cotas e limites para mais detalhes. Além disso, você será cobrado pelo armazenamento que exceder o limite dos 5 GB.

O nome do bucket padrão está no seguinte formato:

project-id.appspot.com

O App Engine também cria um bucket para armazenamento temporário quando implanta novas versões do aplicativo. Esse bucket, denominado staging.project-id.appspot.com, precisa ser usado somente pelo App Engine. Os aplicativos não podem interagir com esse bucket.

Como configurar permissões de bucket e de objeto

A conta de serviço associada ao seu app precisa de permissões para ler e gravar nos buckets do seu projeto. Para saber quais permissões são necessárias, consulte Papéis do IAM para o Cloud Storage.

Normalmente, a conta de serviço associada ao seu aplicativo é a conta de serviço padrão do App Engine.

Dependendo da configuração da política da organização, a conta de serviço padrão pode receber automaticamente o papel de Editor no projeto. É altamente recomendável desativar a concessão automática de papéis aplicando a restrição da política da organização iam.automaticIamGrantsForDefaultServiceAccounts. Se você criou a organização após 3 de maio de 2024, essa restrição será aplicada por padrão.

Se você desativar a concessão automática de papéis, precisará decidir quais papéis conceder às contas de serviço padrão e, em seguida, conceder esses papéis por conta própria.

Se a conta de serviço padrão já tiver o papel de Editor, recomendamos que você o substitua por papéis menos permissivos.Para modificar com segurança os papéis da conta de serviço, use o Simulador de política para conferir o impacto da mudança e, em seguida, conceda e revogue os papéis apropriados.

Para informações sobre como permitir que outros usuários, aplicativos ou projetos acessem um bucket e o conteúdo dele, consulte Como configurar permissões de buckete Como configurar permissões de objeto.

Como usar o Cloud Storage com o servidor de desenvolvimento local

O servidor de desenvolvimento local do App Engine não emula o Cloud Storage. Portanto, todas as solicitações do Cloud Storage precisam ser enviadas pela Internet para um bucket real do Cloud Storage.

Preços, cotas e limites

Não há cobranças de largura de banda associadas às chamadas da biblioteca de cliente para Cloud Storage. No entanto, há cobranças de operações. Além disso, as chamadas são contabilizadas na cota de busca de URL, uma vez que a biblioteca usa o serviço de busca de URL para interagir com o Cloud Storage.

O Cloud Storage é um serviço pago. Você será cobrado de acordo com a tabela de preços desse serviço.