> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# App Storage

> Aprenda a usar o App Storage para hospedar e gerenciar uploads de arquivos como imagens, vídeos e documentos.

O App Storage é o armazenamento de objetos integrado da Replit que permite ao seu app hospedar e salvar uploads de forma simples, como imagens, vídeos e documentos.
Buckets são contêineres para armazenar objetos como arquivos. Eles incluem políticas de acesso para limitar quais ações usuários ou aplicações podem realizar sobre seus conteúdos.

<Info>
  Renomeamos o <strong>Object Storage</strong> para <strong>App Storage</strong>. A funcionalidade não foi alterada e seus buckets, permissões e acesso programático existentes devem continuar funcionando.
</Info>

Com o App Storage, você pode criar apps como:

* **Plataformas de compartilhamento de fotos**: Permita que criadores façam upload, armazenem e exibam imagens
* **Serviços de streaming de vídeo**: Gerencie uploads de vídeo e sirva conteúdo aos espectadores
* **Sistemas de gerenciamento de documentos**: Armazene e organize arquivos de criadores com acesso seguro
* **Sites de portfólio**: Exiba trabalhos com arquivos de mídia que carregam de forma confiável
* **Serviços de backup de arquivos**: Forneça aos criadores armazenamento em nuvem para seus arquivos importantes

<Frame>
  <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/cloud-services/object-storage-overview.jpg?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=c53aad8c878144b598254a49ae090bc2" alt="captura de tela da ferramenta App Storage" width="1920" height="1080" data-path="images/cloud-services/object-storage-overview.jpg" />
</Frame>

<Note>
  Peça ao **Agent** para adicionar o App Storage ao seu app com detalhes sobre quais tipos de arquivos seu app deve gerenciar. O Agent configurará a integração, criará os buckets necessários e atualizará seu app para fazer upload, armazenar e recuperar arquivos com recursos avançados como autenticação e controles de acesso.
</Note>

A ferramenta App Storage permite compartilhar dados de forma integrada entre seus
ambientes de desenvolvimento e produção ou com outros Replit Apps.

## Recursos

<Info>
  O App Storage é alimentado pelo Google Cloud Storage (GCS).
  Isso significa que você recebe os benefícios de uptime,
  disponibilidade e segurança líderes do setor.
</Info>

O App Storage oferece os seguintes recursos para seus Replit Apps:

* **Armazenamento em nuvem persistente**: Armazene arquivos que permanecem acessíveis ao seu app publicado e aos usuários
* **Gerenciamento escalável de arquivos**: Gerencie necessidades crescentes de dados sem se preocupar com limites de armazenamento
* **Compartilhamento de dados entre apps**: Compartilhe buckets entre múltiplos Replit Apps para arquiteturas distribuídas
* **Acesso programático**: Faça upload, download e gerencie arquivos usando APIs intuitivas
* **Integração aprimorada com o Agent**: Deixe o Agent configurar o App Storage com configurações avançadas, inspecionar configurações existentes e gerar código completo de backend e frontend com autenticação e controles de acesso

Veja algumas formas de usar o App Storage em seus Replit Apps:

* Armazenar fotos de perfil e uploads de mídia de criadores
* Servir imagens de produtos para sites de e-commerce
* Gerenciar uploads de documentos para envios de formulários
* Criar recursos de compartilhamento de arquivos e colaboração
* Construir sistemas de gerenciamento de conteúdo com bibliotecas de mídia

<Tip>
  **Integração aprimorada com o Agent**: Você pode instruir o [Replit Agent](/references/agent/overview) a adicionar automaticamente o App Storage aos seus apps! O Agent agora pode configurar o armazenamento de objetos, inspecionar configurações e gerar código completo de backend e frontend com recursos avançados como autenticação e controles de acesso. Basta mencionar "App Storage" ou "armazenamento de arquivos" no seu prompt.

  <AiPrompt>Adicione o App Storage ao meu app para armazenar arquivos</AiPrompt>
  <AiPrompt>Crie um app de galeria de fotos com App Storage para imagens</AiPrompt>
  <AiPrompt>Configure o App Storage com autenticação para uploads de arquivos de usuários</AiPrompt>

  Saiba mais sobre as [integrações do Agent](/references/integrations/overview#data-storage--management) e veja todos os prompts disponíveis para o App Storage.
</Tip>

## Uso

<Note>
  Seu Replit App deve autenticar com o Google Cloud Storage para acessar um bucket e seus objetos.
  Use as bibliotecas cliente oficiais do Replit App Storage para autenticar automaticamente.
</Note>

Você pode acessar a ferramenta App Storage diretamente no Editor de Projeto.

<Accordion title="Como acessar a ferramenta App Storage">
  No **painel de ferramentas** à esquerda:

  1. Selecione <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/workspace-all-tools-button.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=579643854fb13c402de516695e52c554" alt="Ícone de todas as ferramentas" width="16" height="16" data-path="images/icons/workspace-all-tools-button.svg" /> **Todas as ferramentas** para ver a lista de ferramentas do Editor de Projeto.
  2. Selecione <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/object-storage-monoochrome-icon.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=ab89fc1e797b8471d0a9b6c6231a93ae" alt="Ícone do App Storage" width="16" height="16" data-path="images/icons/object-storage-monoochrome-icon.svg" /> **App Storage**.

  Na **barra de pesquisa**:

  1. Selecione a <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/workspace-search-icon.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=d3feed840da2d19e1ee4873d137114dc" alt="ícone de lupa" width="16" height="16" data-path="images/icons/workspace-search-icon.svg" /> lupa no topo para abrir a ferramenta de pesquisa.
  2. Digite "App Storage" para localizar a ferramenta e selecione-a nos resultados.
</Accordion>

Para associar um novo bucket de armazenamento ao seu Replit App, crie um bucket.

<Accordion title="Como criar um bucket">
  Na ferramenta **App Storage**:

  1. Clique em **Criar novo bucket**.
  2. Digite um nome para o bucket no campo **Nome** e selecione **Criar bucket**.

  A aba App Storage deve ser semelhante à seguinte captura de tela:

  <Frame>
    <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/databases/object-storage-empty-bucket.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=d3ac92cbf149819e34c5a770bc71401b" alt="captura de tela da ferramenta App Storage" width="2790" height="1218" data-path="images/databases/object-storage-empty-bucket.png" />
  </Frame>

  Para criar buckets adicionais, abra o menu suspenso de buckets no canto superior esquerdo da aba **App Storage** e selecione **Criar novo bucket**.
</Accordion>

As seções a seguir explicam as opções de gerenciamento de buckets e objetos na ferramenta App Storage.

### Selecionar um bucket

Para alternar entre seus buckets de armazenamento, selecione o menu suspenso no canto superior esquerdo da aba **App Storage**.

O bucket selecionado exibe uma marca de verificação ao lado do seu nome, conforme mostrado na captura de tela abaixo:

<Frame>
  <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/databases/select-bucket.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=e383ae2e2e2c6d4af43922242a6068b8" alt="captura de tela do menu de seleção de bucket" width="1852" height="704" data-path="images/databases/select-bucket.png" />
</Frame>

### Acessar o ID do bucket

Para visualizar o **ID do bucket**, selecione a visualização **Configurações** no menu suspenso no topo da aba **App Storage**.
O ID do bucket identifica o bucket de forma única, e seu código deve referenciá-lo para realizar uma operação.

Se você tiver múltiplos buckets, selecione o bucket correto no menu suspenso no canto superior esquerdo.

A captura de tela a seguir mostra o ID do bucket para o bucket "FileVault Bucket One":

<Frame>
  <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/databases/bucket-id.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=dd5593bef5878a96c6972f3cbf94e30d" alt="captura de tela da ferramenta App Storage" width="1596" height="428" data-path="images/databases/bucket-id.png" />
</Frame>

### Fazer upload ou download de objetos

Para fazer upload de um objeto para o bucket selecionado:

1. Navegue até a visualização **Objetos** na aba **App Storage**.
2. Selecione <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/upload-file.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=8fc9609ec9b854c24c1873e0d544317c" alt="ícone de upload de arquivo" width="16" height="16" data-path="images/icons/upload-file.svg" /> **Enviar arquivos**, ou <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/upload-folder.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=e35e5e61344451e0e49ddadfd0948b54" alt="ícone de upload de pasta" width="16" height="16" data-path="images/icons/upload-folder.svg" /> **Enviar pasta** para enviar todos os arquivos de uma pasta.
   Em seguida, selecione um ou mais arquivos para enviar no diálogo de arquivo.
   Como alternativa, arraste um arquivo ou pasta para a área que lista o conteúdo do bucket.

Para fazer download de um objeto do bucket selecionado:

1. Navegue até a visualização **Objetos** na aba **App Storage**.
2. Selecione o ícone <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/download-icon.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=2d532a1cef651ec0c2f06cff8a349b06" alt="ícone de download" width="16" height="16" data-path="images/icons/download-icon.svg" /> de download à direita do arquivo para baixá-lo.

### Organizar objetos em pastas

Para criar uma pasta no bucket selecionado:

1. Navegue até a visualização **Objetos** na aba **App Storage**.
2. Selecione <img class="icon-svg" src="https://mintcdn.com/replit/rJldsgYVucXB_6kW/images/icons/create-folder.svg?fit=max&auto=format&n=rJldsgYVucXB_6kW&q=85&s=2c57fa06e09e39c6a127a42d5c858eb8" alt="ícone de criar pasta" width="16" height="16" data-path="images/icons/create-folder.svg" /> **Criar Pasta** na visualização **Objetos**.
3. Digite um nome para a pasta.

Para adicionar objetos a uma pasta na visualização **Objetos**, arraste um objeto para a pasta de destino.

Para mover o objeto para uma pasta pai, arraste-o acima do cabeçalho até o nome da pasta acima da lista de objetos.
A animação a seguir mostra como mover o arquivo "product\_demo.mov" da pasta "videos" para a pasta pai "Objetos":

<Frame>
  <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/databases/object-move.webp?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=c8a78e46338a230c91fdff178165a39e" alt="animação mostrando a movimentação de um arquivo para uma pasta pai" width="800" height="440" data-path="images/databases/object-move.webp" />
</Frame>

### Excluir objetos ou buckets

<Warning>
  A ação de exclusão é irreversível. Certifique-se de fazer backup de quaisquer dados essenciais antes de prosseguir.
</Warning>

Para excluir um objeto permanentemente:

1. Navegue até a visualização **Objetos** na aba **App Storage**.
2. Selecione o ícone <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/trash-icon.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=031a29f126332bebd5b6a74de4f16e40" alt="ícone de lixeira" width="16" height="16" data-path="images/icons/trash-icon.svg" /> de lixeira
   ao lado do objeto que deseja excluir.
3. Confirme a exclusão no diálogo de confirmação.

Para excluir um bucket e todos os objetos que ele contém:

1. Navegue até a visualização **Configurações** na aba **App Storage**.
2. Certifique-se de selecionar o bucket que deseja excluir no menu suspenso de buckets no canto superior esquerdo.
3. Selecione <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/trash-icon.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=031a29f126332bebd5b6a74de4f16e40" alt="ícone de lixeira" width="16" height="16" data-path="images/icons/trash-icon.svg" /> **Excluir Bucket**.
4. Confirme a exclusão no diálogo de confirmação.

### Gerenciamento de acesso ao bucket

A Replit conecta todos os buckets que você cria à sua conta e os disponibiliza para
todos os seus Replit Apps. O Replit App a partir do qual você cria o bucket recebe acesso automaticamente.

Você pode controlar quais dos seus Replit Apps têm acesso a um bucket específico, o que permite
compartilhar dados de forma eficiente e segura.

Para conceder ao seu Replit App acesso a um bucket de outro app em sua conta:

1. Selecione <img class="icon-svg" src="https://mintcdn.com/replit/X_IP1EeHGm0cA2VA/images/icons/workspace-search-icon.svg?fit=max&auto=format&n=X_IP1EeHGm0cA2VA&q=85&s=d3feed840da2d19e1ee4873d137114dc" alt="ícone de lupa" width="16" height="16" data-path="images/icons/workspace-search-icon.svg" />
   **Adicionar um bucket existente** no menu de buckets no canto superior esquerdo da aba App Storage.
2. No diálogo **Escolher um Bucket**, escolha o bucket que deseja adicionar e selecione **Adicionar Bucket ao Repl**.

<Frame>
  <img src="https://mintcdn.com/replit/jSmYU1wBTvl8UMyc/images/databases/choose-bucket-dialog.png?fit=max&auto=format&n=jSmYU1wBTvl8UMyc&q=85&s=5059d4d2490bbe37db80abdb5ac68d84" alt="captura de tela do diálogo de escolha de bucket" width="1115" height="457" data-path="images/databases/choose-bucket-dialog.png" />
</Frame>

Para revogar o acesso do seu Replit App a um bucket:

1. Navegue até a visualização **Configurações** na aba **App Storage**.
2. No menu suspenso de buckets no canto superior esquerdo da aba, selecione o nome do bucket.
3. Selecione **Remover Bucket do Repl** e confirme a remoção no diálogo de confirmação.

### Acesso programático ao App Storage

Para acessar o App Storage a partir do seu Replit App, use uma das seguintes bibliotecas:

* SDK do Replit App Storage, disponível para JavaScript e Python
* <a href="https://cloud.google.com/storage/docs/reference/libraries" target="_blank">Biblioteca cliente do Google Cloud Storage</a>

Para obter instruções sobre como usar as bibliotecas cliente, consulte os seguintes recursos:

* [Tutorial do App Storage em JavaScript](/getting-started/quickstarts/object-storage-javascript/): Aprenda a usar o cliente Replit JavaScript App Storage
* [SDK JavaScript do App Storage](/references/sdks/object-storage-javascript-sdk/): Referência do cliente para o SDK JavaScript
* [Tutorial do App Storage em Python](/getting-started/quickstarts/object-storage-python/): Aprenda a usar o cliente Replit Python App Storage
* [SDK Python do App Storage](/references/sdks/object-storage-python-sdk/): Referência do cliente para o SDK Python
* [App de exemplo com o Google Cloud Python SDK](https://replit.com/@matt/GCS-Python-Uploads?v=1): Remixe este app para gerenciar objetos usando o Google Cloud Python SDK

## Faturamento e uso de recursos

Para monitorar o uso do App Storage, navegue até a página de <a href="https://replit.com/usage/" target="_blank">Uso</a>.

Para saber mais sobre os preços do App Storage, consulte [Faturamento do App Storage](/billing/object-storage-billing).
