Criar e gerenciar pastas

Nesta página, descrevemos como criar e gerenciar pastas em buckets com o namespace hierárquico ativado. Nesta página, mostramos como criar, listar e excluir pastas, além de como acessar os metadados de uma pasta.

Para mais informações sobre essas operações de pasta, consulte Operações de pasta.

Antes de começar

Para seguir estas instruções, o bucket precisa ter o namespace hierárquico ativado. Se você precisar criar um bucket com esse recurso, consulte Criar buckets com namespace hierárquico ativado.

Criar uma pasta

Nesta seção, descrevemos como criar uma pasta no bucket.

Console

  1. No console do Google Cloud , acesse a página Buckets do Cloud Storage.

    Acessar buckets

  2. Na lista de buckets, clique no nome do bucket em que você quer criar a pasta.
  3. Na página Detalhes do bucket, clique em Criar pasta para criar uma pasta vazia.
  4. No campo Nome, insira um nome para a pasta. Para considerações de nomenclatura, consulte Considerações.
  5. Clique em Criar

    A pasta recém-criada será exibida no painel Navegador de pastas.

Linha de comando

  1. No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. No ambiente para desenvolvedores, execute o comando gcloud storage folders create:

    gcloud storage folders create --recursive gs://BUCKET_NAME/FOLDER_NAME

    Em que:

    • BUCKET_NAME é o nome do bucket. Por exemplo, my-bucket.
    • FOLDER_NAME é o nome da pasta gerenciada que você quer criar. Por exemplo, my-folder/. Para informações sobre nomes de pastas, consulte a documentação com a visão geral de pastas.
    • --recursive é uma sinalização que cria automaticamente todas as pastas mãe inexistentes com a pasta. Essa configuração é opcional quando já existem pastas mãe.

    Se a solicitação for bem-sucedida, o comando retornará a seguinte mensagem:

    Completed 1/1

Bibliotecas de cliente

C++

Para mais informações, consulte a documentação de referência da API Cloud Storage C++.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client,
   std::string const& bucket_name, std::string const& folder_id) {
  auto const parent = std::string{"projects/_/buckets/"} + bucket_name;
  auto folder = client.CreateFolder(
      parent, google::storage::control::v2::Folder{}, folder_id);
  if (!folder) throw std::move(folder).status();

  std::cout << "Created folder: " << folder->name() << "\n";
}

C#

Para mais informações, consulte a documentação de referência da API Cloud Storage C#.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

using Google.Cloud.Storage.Control.V2;
using System;

public class StorageControlCreateFolderSample
{
    public Folder StorageControlCreateFolder(string bucketName = "your-unique-bucket-name",
        string folderName = "your_folder_name")
    {
        StorageControlClient storageControl = StorageControlClient.Create();

        var request = new CreateFolderRequest
        {
            // Set project to "_" to signify globally scoped bucket
            Parent = BucketName.FormatProjectBucket("_", bucketName),
            FolderId = folderName
        };

        Folder folder = storageControl.CreateFolder(request);

        Console.WriteLine($"Folder {folderName} created in bucket {bucketName}");
        return folder;
    }
}

Go

Para mais informações, consulte a documentação de referência da API Cloud Storage Go.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

import (
	"context"
	"fmt"
	"io"
	"time"

	control "cloud.google.com/go/storage/control/apiv2"
	"cloud.google.com/go/storage/control/apiv2/controlpb"
)

// createFolder creates a folder in the bucket with the given name.
func createFolder(w io.Writer, bucket, folder string) error {
	// bucket := "bucket-name"
	// folder := "folder-name"

	ctx := context.Background()
	client, err := control.NewStorageControlClient(ctx)
	if err != nil {