Create and manage managed folders
Stay organized with collections
Save and categorize content based on your preferences.
You can use managed folders to control access to objects in your Cloud Storage buckets. Managed folders let you manage IAM permissions for groups of objects that have a common prefix in their object name paths. This approach helps you meet data security and compliance requirements. This document describes how to create, list, and delete managed folders.
Before you begin
To create and manage managed folders, you must first enable
uniform bucket-level access and get the required IAM roles.
To get the permissions that
you need to create and manage managed folders,
ask your administrator to grant you the
Storage Folder Admin (roles/storage.folderAdmin) IAM role on the bucket.
This predefined role contains
the permissions required to create and manage managed folders. To see the exact permissions that are
required, expand the Required permissions section:
Required permissions
The following permissions are required to create and manage managed folders:
To create managed folders:
storage.managedFolders.create
To validate newly created managed folders by listing them:
storage.objects.list
To list managed folders:
storage.managedFolders.list
To get managed folders:
storage.managedFolders.get
To move managed folders:
storage.managedFolders.delete (on the source bucket)
storage.managedFolders.create (on the destination bucket)
To delete managed folders:
storage.managedFolders.delete
When using the Google Cloud console, you create managed folders by
enabling management on folders or simulated folders. The following steps describe
how to create a folder or a simulated folder and then enable folder management:
In the Google Cloud console, go to the Cloud Storage Buckets page.
In the list of buckets, click the name of the bucket you want to create
managed folders in.
In the Bucket details page, click
Create folder to create a new folder. If the folder you want to
convert to a managed folder already exists, skip to the step describing
how to access the More optionsmore_vert menu.
In the Name field, enter a name for your folder. For naming
considerations, see Managed folder names.
Click Create.
Your newly created folder appears in the Folder browser pane.
In the Folder browser pane, click the More optionsmore_vert menu next to the
folder you want to convert to a managed folder and click Edit access.
The Enable folder management? dialog appears.
Click Enable.
Your folder converts to a managed folder. A
Permissions for MANAGED_FOLDER_NAME pane
appears that displays the IAM policies on the folder by
principal and role. To create new IAM policies, see
Set an IAM policy on a managed folder.
usingGoogle.Cloud.Storage.Control.V2;usingSystem;publicclassStorageControlCreateManagedFolderSample{publicManagedFolderStorageControlCreateManagedFolder(stringbucketId="your-unique-bucket-name",stringmanagedFolderId="your_managed_folder_id"){StorageControlClientstorageControl=StorageControlClient.Create();ManagedFoldermanagedFolder=storageControl.CreateManagedFolder(// Set project to "_" to signify globally scoped bucketnewBucketName("_",bucketId),newManagedFolder(),managedFolderId);Console.WriteLine($"Managed Folder {managedFolderId} created in bucket {bucketId}");returnmanagedFolder;}}
import("context""fmt""io""time"control"cloud.google.com/go/storage/control/apiv2""cloud.google.com/go/storage/control/apiv2/controlpb")// createManagedFolder creates a managed folder in the bucket with the given name.funccreateManagedFolder(wio.Writer,bucket,folderstring)error{// bucket := "bucket-name"// folder := "managed-folder-name"ctx:=context.Background()client,err:=control.NewStorageControlClient(ctx)iferr!=nil{returnfmt.Errorf("NewStorageControlClient: %w",err)}deferclient.Close()ctx,cancel:=context.WithTimeout(ctx,time.Second*30)defercancel()mf:=&controlpb.ManagedFolder{}req:=&controlpb.CreateManagedFolderRequest{Parent:fmt.Sprintf("projects/_/buckets/%v",bucket),ManagedFolder:mf,ManagedFolderId:folder,}f,err:=client.CreateManagedFolder(ctx,req)iferr!=nil{returnfmt.Errorf("CreateManagedFolder(%q): %w",folder,err)}fmt.Fprintf(w,"created Managed Folder with path %q",f.Name)returnnil}
importcom.google.storage.control.v2.BucketName;importcom.google.storage.control.v2.CreateManagedFolderRequest;importcom.google.storage.control.v2.ManagedFolder;importcom.google.storage.control.v2.StorageControlClient;publicclassCreateManagedFolder{publicstaticvoidmanagedFolderCreate(StringbucketName,StringmanagedFolderId)throwsException{// Instantiates a client in a try-with-resource to automatically cleanup underlying resourcestry(StorageControlClientstorageControlClient=StorageControlClient.create()){CreateManagedFolderRequestrequest=CreateManagedFolderRequest.newBuilder()// Set project to "_" to signify global bucket.setParent(BucketName.format("_",bucketName)).setManagedFolder(ManagedFolder.newBuilder().build()).setManagedFolderId(managedFolderId).build();Stringresponse=storageControlClient.createManagedFolder(request).getName();System.out.printf("Performed createManagedFolder request for %s%n",response);}}}
/** * TODO(developer): Uncomment these variables before running the sample. */// The name of your GCS bucket// const bucketName = 'bucketName';// The name of the managed folder to be created// const managedFolderName = 'managedFolderName';// Imports the Control libraryconst{StorageControlClient}=require('@google-cloud/storage-control').v2;// Instantiates a clientconstcontrolClient=newStorageControlClient();asyncfunctioncallCreateManagedFolder(){constbucketPath=controlClient.bucketPath('_',bucketName);// Create the requestconstrequest={parent:bucketPath,managedFolderId:managedFolderName,};// Run requestconst[response]=awaitcontrolClient.createManagedFolder(request);console.log(`Created managed folder: ${response.name}.`);}callCreateManagedFolder();
use Google\Cloud\Storage\Control\V2\Client\StorageControlClient;use Google\Cloud\Storage\Control\V2\CreateManagedFolderRequest;use Google\Cloud\Storage\Control\V2\ManagedFolder;/** * Create a new folder in an existing bucket. * * @param string $bucketName The name of your Cloud Storage bucket. * (e.g. 'my-bucket') * @param string $managedFolderId The name of your folder inside the bucket. * (e.g. 'my-folder') */function managed_folder_create(string $bucketName, string $managedFolderId): void{ $storageControlClient = new StorageControlClient(); // Set project to "_" to signify global bucket $formattedName = $storageControlClient->bucketName('_', $bucketName); // $request = new CreateManagedFolderRequest([ // 'parent' => $formattedName, // 'managedFolder' => new ManagedFolder(), // 'managedFolderId' => $managedFolderId, // ]); $request = CreateManagedFolderRequest::build($formattedName, new ManagedFolder(), $managedFolderId); $managedFolder = $storageControlClient->createManagedFolder($request); printf('Performed createManagedFolder request for %s', $managedFolder->getName());}
fromgoogle.cloudimportstorage_control_v2defcreate_managed_folder(bucket_name:str,managed_folder_id:str)-> None:# The ID of your GCS bucket# bucket_name = "your-unique-bucket-name"# The name of the managed folder to be created# managed_folder_id = "managed-folder-name"storage_control_client=storage_control_v2.StorageControlClient()# The storage bucket path uses the global access pattern, in which the "_"# denotes this bucket exists in the global namespace.project_path=storage_control_client.common_project_path("_")bucket_path=f"{project_path}/buckets/{bucket_name}"request=storage_control_v2.CreateManagedFolderRequest(parent=bucket_path,managed_folder_id=managed_folder_id,)response=storage_control_client.create_managed_folder(request=request)print(f"Created managed folder: {response.name}")
defcreate_managed_folderbucket_name:,managed_folder_id:# The ID of your GCS bucket# bucket_name = "your-unique-bucket-name"# The name of the managed folder to be created# managed_folder_id = "managed-folder-name"require"google/cloud/storage/control"storage_control=Google::Cloud::Storage::Control.storage_control# The storage bucket path uses the global access pattern, in which the "_"# denotes this bucket exists in the global namespace.bucket_path=storage_control.bucket_pathproject:"_",bucket:bucket_namerequest=Google::Cloud::Storage::Control::V2::CreateManagedFolderRequest.newparent:bucket_path,managed_folder_id:managed_folder_idresponse=storage_control.create_managed_folderrequestputs"Created managed folder: #{response.name}"end
Rust
usegoogle_cloud_storage::{client::StorageControl,model::ManagedFolder};pubasyncfnsample(client:&StorageControl,bucket_id:&str)->anyhow::Result<()>{constID:&str="example001";letfolder=client.create_managed_folder().set_parent(format!("projects/_/buckets/{bucket_id}")).set_managed_folder_id(ID).set_managed_folder(ManagedFolder::new()).send().await?;println!("folder successfully created {folder:?}");Ok(())}
usingGoogle.Cloud.Storage.Control.V2;usingSystem;usingSystem.Collections.Generic;publicclassStorageControlListManagedFoldersSample{publicIEnumerable<ManagedFolder>StorageControlListManagedFolders(stringbucketId="your-unique-bucket-name"){StorageControlClientstorageControl=StorageControlClient.Create();// Use "_" for project ID to signify globally scoped bucketBucketNamebucketResourceName=newBucketName("_",bucketId);varmanagedFolders=storageControl.ListManagedFolders(bucketResourceName);foreach(varmanagedFolderinmanagedFolders){Console.Write(managedFolder.Name);}returnmanagedFolders;}}
import("context""fmt""io""time"control"cloud.google.com/go/storage/control/apiv2""cloud.google.com/go/storage/control/apiv2/controlpb""google.golang.org/api/iterator")// listManagedFolders lists all managed folders present in the bucket.funclistManagedFolders(wio.Writer,bucketstring)error{// bucket := "bucket-name"// folder := "managed-folder-name"ctx:=context.Background()client,err:=control.NewStorageControlClient(ctx)iferr!=nil{returnfmt.Errorf("NewStorageControlClient: %w",err)}deferclient.Close()ctx,cancel:=context.WithTimeout(ctx,time.Second*30)defercancel()// Construct bucket path for a bucket containing folders.bucketPath:=fmt.Sprintf("projects/_/buckets/%v",bucket)// List all folders present.req:=&controlpb.ListManagedFoldersRequest{Parent:bucketPath,}it:=client.ListManagedFolders(ctx,req)for{f,err:=it.Next()iferr==iterator.Done{break}iferr!=nil{returnfmt.Errorf("ListManagedFolders(%q): %w",bucketPath,err)}fmt.Fprintf(w,"got managed folder %v\n",f.Name)}returnnil}
importcom.google.storage.control.v2.BucketName;importcom.google.storage.control.v2.ListManagedFoldersRequest;importcom.google.storage.control.v2.ManagedFolder;importcom.google.storage.control.v2.StorageControlClient;classListManagedFolders{publicstaticvoidmanagedFolderList(StringbucketName)throwsException{// Instantiates a client in a try-with-resource to automatically cleanup underlying resourcestry(StorageControlClientstorageControlClient=StorageControlClient.create()){ListManagedFoldersRequestlistManagedFoldersRequest=ListManagedFoldersRequest.newBuilder()// Set project to "_" to signify global bucket.setParent(BucketName.format("_",bucketName)).build();Iterable<ManagedFolder>managedFolders=storageControlClient.listManagedFolders(listManagedFoldersRequest).iterateAll();for(ManagedFolderfolder:managedFolders){System.out.printf("%s bucket has managed folder %s%n",bucketName,folder.getName());}}}}
/** * TODO(developer): Uncomment these variables before running the sample. */// The name of your GCS bucket// const bucketName = 'bucketName';// Imports the Control libraryconst{StorageControlClient}=require('@google-cloud/storage-control').v2;// Instantiates a clientconstcontrolClient=newStorageControlClient();asyncfunctioncallListManagedFolders(){constbucketPath=controlClient.bucketPath('_',bucketName);// Create the requestconstrequest={parent:bucketPath,};// Run requestconst[folders]=awaitcontrolClient.listManagedFolders(request);for(constcurManagedFolderoffolders){console.log(curManagedFolder.name);}}callListManagedFolders();
use Google\Cloud\Storage\Control\V2\Client\StorageControlClient;use Google\Cloud\Storage\Control\V2\ListManagedFoldersRequest;/** * List folders in an existing bucket. * * @param string $bucketName The name of your Cloud Storage bucket. * (e.g. 'my-bucket') */function managed_folders_list(string $bucketName): void{ $storageControlClient = new StorageControlClient(); // Set project to "_" to signify global bucket $formattedName = $storageControlClient->bucketName('_', $bucketName); $request = new ListManagedFoldersRequest([ 'parent' => $formattedName, ]); $folders = $storageControlClient->listManagedFolders($request); foreach ($folders as $folder) { printf('%s bucket has managed folder %s' . PHP_EOL, $bucketName, $folder->getName()); }}
fromgoogle.cloudimportstorage_control_v2deflist_managed_folders(bucket_name:str="your-bucket-name")-> None:"""Lists all managed folders in a Google Cloud Storage bucket. Args: bucket_name: The name of the Google Cloud Storage bucket. Returns: None. The function prints the name of each managed folder to the console. Example: >>> list_managed_folders(bucket_name="my-test-bucket") Managed folders in bucket projects/_/buckets/my-test-bucket: projects/_/buckets/my-test-bucket/managedFolders/folder-one projects/_/buckets/my-test-bucket/managedFolders/folder-two """client=storage_control_v2.StorageControlClient()# The storage bucket path uses the global access pattern,# in which the "_" denotes this bucket exists in the global namespace.GLOBAL_NAMESPACE_PATTERN="_"bucket_resource_name=f"projects/{GLOBAL_NAMESPACE_PATTERN}/buckets/{bucket_name}"managed_folders=client.list_managed_folders(parent=bucket_resource_name)print(f"Managed folders in bucket {bucket_resource_name}:")formanaged_folderinmanaged_folders:print(f"\t{managed_folder.name}")
deflist_managed_foldersbucket_name:# The ID of your GCS bucket# bucket_name = "your-unique-bucket-name"require"google/cloud/storage/control"storage_control=Google::Cloud::Storage::Control.storage_control# The storage bucket path uses the global access pattern, in which the "_"# denotes this bucket exists in the global namespace.bucket_path=storage_control.bucket_pathproject:"_",bucket:bucket_namerequest=Google::Cloud::Storage::Control::V2::ListManagedFoldersRequest.newparent:bucket_pathmanaged_folders=storage_control.list_managed_foldersrequestmanaged_folders.eachdo|managed_folder|putsmanaged_folderendputs"Listed managed folders in bucket #{bucket_name}"end
Rust
usegoogle_cloud_gax::paginator::ItemPaginator;usegoogle_cloud_storage::client::StorageControl;pubasyncfnsample(client:&StorageControl,bucket_id:&str)->anyhow::Result<()>{letmutitems=client.list_managed_folders().set_parent(format!("projects/_/buckets/{bucket_id}")).by_item();println!("Listing managed folders in bucket {bucket_id}");whileletSome(folder)=items.next().await.transpose()?{println!("{folder:?}");}println!("DONE");Ok(())}
usingGoogle.Cloud.Storage.Control.V2;usingSystem;publicclassStorageControlGetManagedFolderSample{publicManagedFolderStorageControlGetManagedFolder(stringbucketId="your-unique-bucket-name",stringmanagedFolderId="your_managed_folder_Id"){StorageControlClientstorageControl=StorageControlClient.Create();ManagedFolderNamemanagedFolderResourceName=// Set project to "_" to signify globally scoped bucketnewManagedFolderName("_",bucketId,managedFolderId);ManagedFoldermanagedFolder=storageControl.GetManagedFolder(managedFolderResourceName);Console.WriteLine($"Got managed folder: {managedFolder.Name}");returnmanagedFolder;}}
import("context""fmt""io""time"control"cloud.google.com/go/storage/control/apiv2""cloud.google.com/go/storage/control/apiv2/controlpb")// getManagedFolder gets metadata for the managed folder with the given name.funcgetManagedFolder(wio.Writer,bucket,folderstring)error{// bucket := "bucket-name"// folder := "managed-folder-name"ctx:=context.Background()client,err:=control.NewStorageControlClient(ctx)iferr!=nil{returnfmt.Errorf("NewStorageControlClient: %w",err)}deferclient.Close()ctx,cancel:=context.WithTimeout(ctx,time.Second*30)defercancel()// Construct folder path including the bucket name.folderPath:=fmt.Sprintf("projects/_/buckets/%v/managedFolders/%v/",bucket,folder)req:=&controlpb.GetManagedFolderRequest{Name:folderPath,}f,err:=client.GetManagedFolder(ctx,req)iferr!=nil{returnfmt.Errorf("GetManagedFolder(%q): %w",folderPath,err)}fmt.Fprintf(w,"got managed folder metadata: %+v",f)returnnil}
importcom.google.storage.control.v2.BucketName;importcom.google.storage.control.v2.GetManagedFolderRequest;importcom.google.storage.control.v2.ManagedFolder;importcom.google.storage.control.v2.ManagedFolderName;importcom.google.storage.control.v2.StorageControlClient;classGetManagedFolder{publicstaticvoidmanagedFolderGet(StringbucketName,StringmanagedFolderId)throwsException{// Instantiates a client in a try-with-resource to automatically cleanup underlying resourcestry(StorageControlClientstorageControlClient=StorageControlClient.create()){// Set project to "_" to signify global bucketBucketNameresourceBucketName=BucketName.of("_",bucketName);GetManagedFolderRequestgetManagedFolderRequest=GetManagedFolderRequest.newBuilder().setName(ManagedFolderName.format(resourceBucketName.getProject(),resourceBucketName.getBucket(),managedFolderId)).build();ManagedFoldermanagedFolder=storageControlClient.getManagedFolder(getManagedFolderRequest);System.out.printf("Got Managed Folder %s%n",managedFolder.getName());}}}
/** * TODO(developer): Uncomment these variables before running the sample. */// The name of your GCS bucket// const bucketName = 'bucketName';// The name of the managed folder to get// const managedFolderName = 'managedFolderName';// Imports the Control libraryconst{StorageControlClient}=require('@google-cloud/storage-control').v2;// Instantiates a clientconstcontrolClient=newStorageControlClient();asyncfunctioncallGetManagedFolder(){constmanagedFolderPath=controlClient.managedFolderPath('_',bucketName,managedFolderName);// Create the requestconstrequest={name:managedFolderPath,};// Run requestconst[response]=awaitcontrolClient.getManagedFolder(request);console.log(`Got managed folder: ${response.name}.`);}callGetManagedFolder();
use Google\Cloud\Storage\Control\V2\Client\StorageControlClient;use Google\Cloud\Storage\Control\V2\GetManagedFolderRequest;/** * Get a folder in an existing bucket. * * @param string $bucketName The name of your Cloud Storage bucket. * (e.g. 'my-bucket') * @param string $managedFolderId The name of your folder inside the bucket. * (e.g. 'my-folder') */function managed_folder_get(string $bucketName, string $managedFolderId): void{ $storageControlClient = new StorageControlClient(); // Set project to "_" to signify global bucket $formattedName = $storageControlClient->managedFolderName('_', $bucketName, $managedFolderId); $request = new GetManagedFolderRequest([ 'name' => $formattedName, ]); $managedFolder = $storageControlClient->getManagedFolder($request); printf('Got Managed Folder %s', $managedFolder->getName());}
fromgoogle.cloudimportstorage_control_v2defget_managed_folder(bucket_name:str,managed_folder_id:str)-> None:# The ID of your GCS bucket# bucket_name = "your-unique-bucket-name"# The name of the managed folder# managed_folder_id = "managed-folder-name"storage_control_client=storage_control_v2.StorageControlClient()# The storage bucket path uses the global access pattern, in which the "_"# denotes this bucket exists in the global namespace.folder_path=storage_control_client.managed_folder_path("_",bucket_name,managed_folder_id)request=storage_control_v2.GetManagedFolderRequest(name=folder_path,)response=storage_control_client.get_managed_folder(request=request)print(f"Got managed folder: {response.name}")
defget_managed_folderbucket_name:,managed_folder_id:# The ID of your GCS bucket# bucket_name = "your-unique-bucket-name"# The name of the managed folder to be created# managed_folder_id = "managed-folder-name"require"google/cloud/storage/control"storage_control=Google::Cloud::Storage::Control.storage_control# The storage bucket path uses the global access pattern, in which the "_"# denotes this bucket exists in the global namespace.folder_path=storage_control.managed_folder_pathproject:"_",bucket:bucket_name,managed_folder:managed_folder_idrequest=Google::Cloud::Storage::Control::V2::GetManagedFolderRequest.newname:folder_pathresponse=storage_control.get_managed_folderrequestputs"Got managed folder: #{response.name}"end
BUCKET_NAME is the name of the bucket
that contains the managed folders you want to get. For example,
my-bucket.
MANAGED_FOLDER_NAME is the name of the
managed folder expressed as a path. For example,
example-dir/. If the managed folder is nested, the
slash (/) character
in the managed folder path must be escaped. For
example, example-dir1%2Fexample-dir2.
usingGoogle.Cloud.Storage.Control.V2;usingSystem;publicclassStorageControlDeleteManagedFolderSample{publicvoidStorageControlDeleteManagedFolder(stringbucketId="your-unique-bucket-name",stringmanagedFolderId="your_managed_folder_id"){StorageControlClientstorageControl=StorageControlClient.Create();ManagedFolderNamemanagedFolderResourceName=// Set project to "_" to signify globally scoped bucketnewManagedFolderName("_",bucketId,managedFolderId);storageControl.DeleteManagedFolder(managedFolderResourceName);Console.WriteLine($"Deleted managed folder {managedFolderId} from bucket {bucketId}");}}
import("context""fmt""io""time"control"cloud.google.com/go/storage/control/apiv2""cloud.google.com/go/storage/control/apiv2/controlpb")// deleteManagedFolder deletes the managed folder with the given name.funcdeleteManagedFolder(wio.Writer,bucket,folderstring)error{// bucket := "bucket-name"// folder := "managed-folder-name"ctx:=context.Background()client,err:=control.NewStorageControlClient(ctx)iferr!=nil{returnfmt.Errorf("NewStorageControlClient: %w",err)}deferclient.Close()ctx,cancel:=context.WithTimeout(ctx,time.Second*30)defercancel()// Construct folder path including the bucket name.folderPath:=fmt.Sprintf("projects/_/buckets/%v/managedFolders/%v/",bucket,folder)req:=&controlpb.DeleteManagedFolderRequest{Name:folderPath,}iferr:=client.DeleteManagedFolder(ctx,req);err!=nil{returnfmt.Errorf("DeleteManagedFolder(%q): %w",folderPath,err)}fmt.Fprintf(w,"deleted managed folder %q",folderPath)returnnil}
importcom.google.storage.control.v2.BucketName;importcom.google.storage.control.v2.DeleteManagedFolderRequest;importcom.google.storage.control.v2.ManagedFolderName;importcom.google.storage.control.v2.StorageControlClient;classDeleteManagedFolder{publicstaticvoidmanagedFolderDelete(StringbucketName,StringmanagedFolderId)throwsException{// Instantiates a client in a try-with-resource to automatically cleanup underlying resourcestry(StorageControlClientstorageControlClient=StorageControlClient.create()){// Set project to "_" to signify global bucketBucketNameresourceBucketName=BucketName.of("_",bucketName);DeleteManagedFolderRequestdeleteManagedFolderRequest=DeleteManagedFolderRequest.newBuilder().setName(ManagedFolderName.format(resourceBucketName.getProject(),resourceBucketName.getBucket(),managedFolderId)).build();storageControlClient.deleteManagedFolder(deleteManagedFolderRequest);System.out.printf("Deleted Managed Folder %s%n",managedFolderId);}}}
/** * TODO(developer): Uncomment these variables before running the sample. */// The name of your GCS bucket// const bucketName = 'bucketName';// The name of the folder to be deleted// const managedFolderName = 'managedFolderName';// Imports the Control libraryconst{StorageControlClient}=require('@google-cloud/storage-control').v2;// Instantiates a clientconstcontrolClient=newStorageControlClient();asyncfunctioncallDeleteManagedFolder(){constmanagedFolderPath=controlClient.managedFolderPath('_',bucketName,managedFolderName);// Create the requestconstrequest={name:managedFolderPath,};// Run requestawaitcontrolClient.deleteManagedFolder(request);console.log(`Deleted managed folder: ${managedFolderName}.`);}callDeleteManagedFolder();
use Google\Cloud\Storage\Control\V2\Client\StorageControlClient;use Google\Cloud\Storage\Control\V2\DeleteManagedFolderRequest;/** * Delete a folder in an existing bucket. * * @param string $bucketName The name of your Cloud Storage bucket. * (e.g. 'my-bucket') * @param string $managedFolderId The id of your folder inside the bucket. * (e.g. 'my-folder') */function managed_folder_delete(string $bucketName, string $managedFolderId): void{ $storageControlClient = new StorageControlClient(); // Set project to "_" to signify global bucket $formattedName = $storageControlClient->managedFolderName('_', $bucketName, $managedFolderId); $request = DeleteManagedFolderRequest::build($formattedName); $storageControlClient->deleteManagedFolder($request); printf('Deleted Managed Folder %s', $managedFolderId);}
fromgoogle.cloudimportstorage_control_v2defdelete_managed_folder(bucket_name:str,managed_folder_id:str)-> None:# The ID of your GCS bucket# bucket_name = "your-unique-bucket-name"# The name of the managed folder to be deleted# managed_folder_id = "managed-folder-name"storage_control_client=storage_control_v2.StorageControlClient()# The storage bucket path uses the global access pattern, in which the "_"# denotes this bucket exists in the global namespace.folder_path=storage_control_client.managed_folder_path("_",bucket_name,managed_folder_id)request=storage_control_v2.DeleteManagedFolderRequest(name=folder_path,)storage_control_client.delete_managed_folder(request=request)print(f"Deleted managed folder: {managed_folder_id}")
defdelete_managed_folderbucket_name:,managed_folder_id:# The ID of your GCS bucket# bucket_name = "your-unique-bucket-name"# The name of the managed folder to be created# managed_folder_id = "managed-folder-name"require"google/cloud/storage/control"storage_control=Google::Cloud::Storage::Control.storage_control# The storage bucket path uses the global access pattern, in which the "_"# denotes this bucket exists in the global namespace.folder_path=storage_control.managed_folder_pathproject:"_",bucket:bucket_name,managed_folder:managed_folder_idrequest=Google::Cloud::Storage::Control::V2::DeleteManagedFolderRequest.newname:folder_pathstorage_control.delete_managed_folderrequestputs"Deleted managed folder: #{managed_folder_id}"end
BUCKET_NAME is the name of the bucket that
contains the managed folder you want to delete. For example,
my-bucket.
MANAGED_FOLDER_NAME is the name of the managed
folder you want to delete. For example, my-managed-folder/.
By default, managed folders must be empty before they can be
deleted. To delete a non-empty managed folder, include
allowNonEmpty=true as a query parameter in your request.
Troubleshooting
For help creating and managing managed folders, refer to the
Troubleshooting page.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-07-22 UTC."],[],[]]