Creare e gestire cartelle gestite

Questa guida descrive come creare, elencare ed eliminare le cartelle gestite.

Prima di iniziare

Per creare e gestire le cartelle gestite, devi prima abilitare un accesso uniforme a livello di bucket e di ottenere i ruoli IAM richiesti.

Abilita l'accesso uniforme a livello di bucket

Se non lo hai già fatto, abilita l'accesso uniforme a livello di bucket.

Ottieni i ruoli richiesti

Per ottenere le autorizzazioni necessarie per creare e gestire le cartelle gestite, chiedi all'amministratore di concederti Ruolo IAM Amministratore cartelle Storage (roles/storage.folderAdmin) nel bucket.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare e gestire le cartelle gestite. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare e gestire le cartelle gestite sono necessarie le seguenti autorizzazioni:

  • Per creare cartelle gestite: storage.managedFolders.create
  • Per convalidare le cartelle gestite appena create elencandole: storage.objects.list
  • Per elencare le cartelle gestite: storage.managedFolders.list
  • Per spostare le cartelle gestite:
    • storage.managedFolders.delete (nel bucket di origine)
    • storage.managedFolders.create (nel bucket di destinazione)
  • Per eliminare le cartelle gestite: storage.managedFolders.delete

Per informazioni sulla concessione dei ruoli nei bucket, consulta Utilizzare IAM con i bucket.

Crea una cartella gestita

Console

Quando utilizzi la console Google Cloud, puoi creare cartelle gestite mentre converte le cartelle simulate. I passaggi seguenti spiegano come creare una cartella simulata e la convertirà in una cartella gestita.

  1. Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket che vuoi creare nelle cartelle gestite.

  3. Nella pagina Dettagli bucket, fai clic su Crea cartella per crearne una nuova. Se la cartella che vuoi la conversione in una cartella gestita esiste già, vai al passaggio che descrive come accedere ad Altre opzioni Menu .

  4. Nel campo Nome, inserisci un nome per la cartella. Per la denominazione considerazioni: vedi Nomi delle cartelle gestite.

  5. Fai clic su Crea.

    La cartella appena creata viene visualizzata nel riquadro Browser cartelle.

  6. Nel riquadro Browser cartelle, fai clic su Altre opzioni. accanto cartella che vuoi convertire in una cartella gestita e fai clic su Modifica accesso.

    Viene visualizzata la finestra di dialogo Crea cartella gestita.

  7. Fai clic su Allega cartella gestita.

    La tua cartella viene convertita in una cartella gestita. R Autorizzazioni per MANAGED_FOLDER_NAME che mostra i criteri IAM sulla cartella come principal e ruolo. Per creare nuovi criteri IAM, consulta Imposta un criterio IAM su una cartella gestita.

Riga di comando

Per creare una cartella gestita, esegui Comando gcloud storage managed-folders create:

gcloud storage managed-folders create gs://BUCKET_NAME/MANAGED_FOLDER_NAME

Dove:

  • BUCKET_NAME è il nome del bucket in cui quando vuoi creare una cartella gestita. Ad esempio, my-bucket.

  • MANAGED_FOLDER_NAME è il nome dell'account gestito cartella che vuoi creare. Ad esempio, my-managed-folder/.

Per confermare che la cartella gestita è stata creata, esegui il comando Comando gcloud storage managed-folders describe:

gcloud storage managed-folders describe gs://BUCKET_NAME/MANAGED_FOLDER_NAME

Dove:

  • BUCKET_NAME è il nome del bucket in cui hai creato una cartella gestita.

  • MANAGED_FOLDER_NAME è il nome dell'account gestito cartella che hai creato.

Librerie client

Java

Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.

Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.


import com.google.storage.control.v2.BucketName;
import com.google.storage.control.v2.CreateManagedFolderRequest;
import com.google.storage.control.v2.ManagedFolder;
import com.google.storage.control.v2.StorageControlClient;

public class CreateManagedFolder {
  public static void managedFolderCreate(String bucketName, String managedFolderId)
      throws Exception {

    // Instantiates a client in a try-with-resource to automatically cleanup underlying resources
    try (StorageControlClient storageControlClient = StorageControlClient.create()) {
      CreateManagedFolderRequest request =
          CreateManagedFolderRequest.newBuilder()
              // Set project to "_" to signify global bucket
              .setParent(BucketName.format("_", bucketName))
              .setManagedFolder(ManagedFolder.newBuilder().build())
              .setManagedFolderId(managedFolderId)
              .build();
      String response = storageControlClient.createManagedFolder(request).getName();
      System.out.printf("Performed createManagedFolder request for %s%n", response);
    }
  }
}

API REST

API JSON

  1. Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione Authorization.

    In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con un Richiesta POST Cartella gestita:

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -d '{ "name": "MANAGED_FOLDER_NAME" }' \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders"

    Dove:

    • BUCKET_NAME è il nome del bucket in per cui vuoi creare una cartella gestita. Ad esempio: my-bucket.

    • MANAGED_FOLDER_NAME è il nome del cartella gestita da creare. Ad esempio: my-managed-folder/.

Elenca cartelle gestite

Console

  1. Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.

    Vai a Bucket

  2. Dal riquadro Browser cartelle, utilizza il nodo di attivazione/disattivazione per espandere delle cartelle all'interno del tuo bucket.

Un elenco mostra le cartelle simulate e gestite nel tuo bucket.

Riga di comando

Per elencare le cartelle gestite, esegui Comando gcloud storage managed-folders list:

gcloud storage managed-folders list gs://BUCKET_NAME

Dove:

  • BUCKET_NAME è il nome del bucket contiene le cartelle gestite da elencare. Ad esempio, my-bucket.

Tieni presente che puoi anche specificare un percorso cartella anziché il nome di un bucket. Ad esempio:

gcloud storage managed-folders list gs://my-bucket/folder/

Librerie client

Java

Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.

Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.


import com.google.storage.control.v2.BucketName;
import com.google.storage.control.v2.ListManagedFoldersRequest;
import com.google.storage.control.v2.ManagedFolder;
import com.google.storage.control.v2.StorageControlClient;

class ListManagedFolders {

  public static void managedFolderList(String bucketName) throws Exception {
    // Instantiates a client in a try-with-resource to automatically cleanup underlying resources
    try (StorageControlClient storageControlClient = StorageControlClient.create()) {
      ListManagedFoldersRequest listManagedFoldersRequest =
          ListManagedFoldersRequest.newBuilder()
              // Set project to "_" to signify global bucket
              .setParent(BucketName.format("_", bucketName))
              .build();
      Iterable<ManagedFolder> managedFolders =
          storageControlClient.listManagedFolders(listManagedFoldersRequest).iterateAll();
      for (ManagedFolder folder : managedFolders) {
        System.out.printf("%s bucket has managed folder %s%n", bucketName, folder.getName());
      }
    }
  }
}

API REST

API JSON

  1. Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione Authorization.

    In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con un richiedi di elencare le cartelle gestite:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders"

    Dove BUCKET_NAME è il nome del bucket che contiene le cartelle gestite da elencare. Ad esempio: my-bucket.

Spostare una cartella gestita

Console

  1. Crea una nuova cartella gestita nel bucket di destinazione.

  2. Copia i criteri IAM dalla versione gestita originale del bucket di origine nella nuova cartella gestita di sincronizzare la directory di una VM con un bucket.

  3. Copia gli oggetti dalla cartella gestita originale nell'origine nella nuova cartella gestita nel bucket di destinazione.

  4. Elimina la cartella gestita originale dal bucket di origine.

Riga di comando

Per spostare le cartelle gestite e gli oggetti che contengono, esegui il comando Comando gcloud storage mv con --include-managed-folders :

gcloud storage mv --include-managed-folders gs://SOURCE_BUCKET_NAME/MANAGED_FOLDER_NAME gs://DESTINATION_BUCKET_NAME/MANAGED_FOLDER_NAME

Dove:

  • SOURCE_BUCKET è il nome dell'originale di sincronizzare la directory di una VM con un bucket. Ad esempio my-source-bucket`.

  • DESTINATION_BUCKET è il nome del bucket in cui stai spostando la cartella gestita. Ad esempio: my-destination-bucket.

  • MANAGED_FOLDER_NAME è il nome dell'account gestito cartella che stai spostando. Ad esempio, my-managed-folder/.

API REST

API JSON

Per spostare le cartelle gestite da un bucket all'altro, completa la seguenti passaggi:

  1. Crea una nuova cartella gestita nel bucket di destinazione.

  2. Copia i criteri IAM dalla cartella gestita originale. nel bucket di origine alla nuova cartella gestita nella destinazione di sincronizzare la directory di una VM con un bucket.

  3. Copia gli oggetti dalla cartella gestita originale nel bucket di origine. nella nuova cartella gestita nel bucket di destinazione.

  4. Elimina la cartella gestita originale dal bucket di origine.

Elimina una cartella gestita

Console

  1. Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.

    Vai a Bucket

  2. Nella pagina Dettagli bucket, fai clic sull'icona Altre opzioni accanto alla cartella che vuoi eliminare.

  3. Fai clic su Elimina cartella.

  4. Per confermare che vuoi eliminare la cartella gestita, digita DELETE nel campo Elimina.

  5. Fai clic su Elimina.

    La cartella gestita e i suoi contenuti, inclusi gli oggetti archiviati e altri le cartelle gestite vengono eliminate dal bucket Cloud Storage.

Riga di comando

Per eliminare una cartella gestita e gli oggetti che contiene, esegui il comando Comando gcloud storage rm:

gcloud storage rm -r gs://BUCKET_NAME/MANAGED_FOLDER_NAME

Dove:

  • BUCKET_NAME è il nome del bucket contiene la cartella gestita che vuoi eliminare. Ad esempio, my-bucket.

  • MANAGED_FOLDER_NAME è il nome dell'account gestito cartella che vuoi eliminare. Ad esempio, my-managed-folder/.

Librerie client

Java

Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.

Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

import com.google.storage.control.v2.BucketName;
import com.google.storage.control.v2.DeleteManagedFolderRequest;
import com.google.storage.control.v2.ManagedFolderName;
import com.google.storage.control.v2.StorageControlClient;

class DeleteManagedFolder {
  public static void managedFolderDelete(String bucketName, String managedFolderId)
      throws Exception {
    // Instantiates a client in a try-with-resource to automatically cleanup underlying resources
    try (StorageControlClient storageControlClient = StorageControlClient.create()) {
      // Set project to "_" to signify global bucket
      BucketName resourceBucketName = BucketName.of("_", bucketName);
      DeleteManagedFolderRequest deleteManagedFolderRequest =
          DeleteManagedFolderRequest.newBuilder()
              .setName(
                  ManagedFolderName.format(
                      resourceBucketName.getProject(),
                      resourceBucketName.getBucket(),
                      managedFolderId))
              .build();
      storageControlClient.deleteManagedFolder(deleteManagedFolderRequest);
      System.out.printf("Deleted Managed Folder %s%n", managedFolderId);
    }
  }
}

API REST

API JSON

Per eliminare una cartella gestita, devi prima eliminare gli oggetti all'interno della cartella gestita.

  1. Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione Authorization.

    In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con un Richiesta DELETE Cartella gestita:

    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME"

    Dove:

    • BUCKET_NAME è il nome del bucket contiene la cartella gestita che vuoi eliminare. Ad esempio: my-bucket.

    • MANAGED_FOLDER_NAME è il nome dell'account gestito cartella che vuoi eliminare. Ad esempio, my-managed-folder/.

    Per impostazione predefinita, le cartelle gestite devono essere vuote prima di poter essere eliminati. Per eliminare una cartella gestita non vuota, includi allowNonEmpty=true come parametro di query nella tua richiesta.

Risoluzione dei problemi

Per informazioni sulla creazione e la gestione delle cartelle gestite, consulta Pagina Risoluzione dei problemi.

Passaggi successivi