Créer et gérer des caches Anywhere Cache

Cette page vous explique comment créer et gérer des instances de cache Anywhere Cache.

Pour savoir comment utiliser et gérer les opérations de longue durée lancées à partir des opérations de cache asynchrones Anywhere Cache, consultez Utiliser des opérations de longue durée.

Avant d'utiliser Anywhere Cache, consultez les limites et restrictions.

Avant de commencer

Pour obtenir les autorisations nécessaires pour créer et gérer des caches Anywhere Cache, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de l'espace de stockage (roles/storage.admin) sur le bucket pour lequel vous souhaitez créer des caches.

Ce rôle prédéfini contient les autorisations requises pour créer et gérer des caches Anywhere Cache. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer et gérer des caches Anywhere Cache :

  • storage.anywhereCaches.disable (obligatoire pour désactiver les caches)
  • storage.anywhereCaches.get (obligatoire pour obtenir les caches)
  • storage.anywhereCaches.create (obligatoire pour créer des caches)
  • storage.anywhereCaches.list (obligatoire pour lister les caches)
  • storage.anywhereCaches.pause (obligatoire pour mettre en veille les caches)
  • storage.anywhereCaches.resume (obligatoire pour reprendre les caches)
  • storage.anywhereCaches.update (requis pour la mise à jour des caches)

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés.

Pour en savoir plus sur l'attribution de rôles dans des buckets, consultez la page Utiliser IAM avec des buckets.

Pour gérer les opérations de longue durée lancées à partir de méthodes Anywhere Cache, vous aurez peut-être besoin de rôles et d'autorisations supplémentaires. Pour en savoir plus, consultez la section Rôles requis pour les opérations de longue durée.

Créer un cache

Console

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez mettre en cache les données.

  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Configuration.

  4. Dans la section Cache Anywhere, cliquez sur Configurer le cache.

    La page Modifier la configuration pour <your_bucket_name> s'affiche pour votre bucket.

  5. Dans la section Régions du cache, cliquez sur la région contenant les zones dans lesquelles vous souhaitez créer un cache.

  6. Dans la section Zones de cache, sélectionnez les zones dans lesquelles vous souhaitez créer un cache. Pour chaque zone sélectionnée, spécifiez une durée de vie et une option d'ingestion pour le cache.

  7. Cliquez sur Enregistrer la configuration.

  8. Dans la boîte de dialogue qui s'affiche, cliquez sur Autoriser.

    L'onglet Opérations de la page Détails du bucket s'ouvre. Il affiche l'état de la tâche de création du cache.

Vous pouvez également afficher l'état du cache d'un bucket directement sur la page Liste des buckets. Pour ce faire, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Cliquez sur l'icône Afficher la colonne (), sélectionnez Cache, puis cliquez sur OK.

Ligne de commande

Exécutez la commande gcloud storage buckets anywhere-caches create :

gcloud storage buckets anywhere-caches create gs://BUCKET_NAME ZONE

Remplacez :

  • BUCKET_NAME par le nom du bucket pour lequel vous souhaitez mettre en cache les données. Exemple :my-bucket

  • ZONE par la zone dans laquelle le cache s'exécutera. Exemple :us-east1-b

    Pour créer plusieurs caches à la fois, vous pouvez spécifier plusieurs zones. (par exemple, us-east1-b us-east1-c us-east1-d)

Définissez les options facultatives suivantes pour mieux contrôler la création du cache :

  • --ttl : spécifiez la valeur TTL (Time To Live) des données dans le cache, en secondes. Si aucune valeur n'est spécifiée, la valeur par défaut est 86400s (24 heures).

  • --admission-policy : spécifiez à quel moment les données sont ingérées dans le cache. Les valeurs peuvent être ADMIT_ON_FIRST_MISS ou ADMIT_ON_SECOND_MISS. Si aucune valeur n'est spécifiée, la valeur par défaut est ADMIT_ON_FIRST_MISS.

Si l'opération réussit, la commande renvoie l'ID de l'opération de longue durée associée à l'opération de création AnywhereCache. Vous pouvez obtenir des détails sur l'opération de longue durée ou bien l'annuler, afin d'interrompre l'opération de création AnywhereCaches avant qu'elle n'arrive à son terme.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client,
   std::string const& bucket_name, std::string const& cache_name,
   std::string const& zone_name) {
  google::storage::control::v2::AnywhereCache cache;
  cache.set_name(cache_name);
  cache.set_zone(zone_name);

  google::storage::control::v2::CreateAnywhereCacheRequest request;
  request.set_parent(std::string{"projects/_/buckets/"} + bucket_name);
  *request.mutable_anywhere_cache() = cache;

  // Start a create operation and block until it completes. Real applications
  // may want to setup a callback, wait on a coroutine, or poll until it
  // completes.
  auto anywhere_cache = client.CreateAnywhereCache(request).get();
  if (!anywhere_cache) throw std::move(anywhere_cache).status();
  std::cout << "Created anywhere cache: " << anywhere_cache->name() << "\n";
}

Java

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

import com.google.api.gax.longrunning.OperationFuture;
import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.BucketName;
import com.google.storage.control.v2.CreateAnywhereCacheMetadata;
import com.google.storage.control.v2.CreateAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

public final class AnywhereCacheCreate {

  public static void anywhereCacheCreate(String bucketName, String cacheName, String zoneName)
      throws InterruptedException, ExecutionException, IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      CreateAnywhereCacheRequest request =
          CreateAnywhereCacheRequest.newBuilder()
              // Set project to "_" to signify globally scoped bucket
              .setParent(BucketName.format("_", bucketName))
              .setAnywhereCache(
                  AnywhereCache.newBuilder().setName(cacheName).setZone(zoneName).build())
              .build();

      // Start a long-running operation (LRO).
      OperationFuture<AnywhereCache, CreateAnywhereCacheMetadata> operation =
          storageControl.createAnywhereCacheAsync(request);

      // Await the LROs completion.
      AnywhereCache anywhereCache = operation.get();
      System.out.printf("Created anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

Consultez la documentation Terraform google_storage_anywhere_cache pour savoir comment utiliser Anywhere Cache avec Terraform.

API REST

API JSON

  1. Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Créez un fichier JSON contenant les informations suivantes :

    {
       "zone": "ZONE",
       "ttl": "TIME_TO_LIVE",
       "admissionPolicy": "ADMISSION_POLICY"
    }

    Remplacez :

    • ZONE par la zone dans laquelle le cache s'exécutera. Exemple :us-east1-b

    • TIME_TO_LIVE avec la valeur TTL (Time To Live) des données dans le cache. Cette valeur peut être comprise entre 1 heure et 7 jours, spécifiée en secondes. Si aucune valeur n'est spécifiée, la valeur par défaut est 86400s (24 heures).

    • ADMISSION_POLICY avec la règle d'admission du cache, qui spécifie le moment où les données sont ingérées. Les valeurs peuvent être admit-on-first-miss ou admit-on-second-miss. Si aucune valeur n'est spécifiée, la valeur par défaut est admit-on-first-miss.

  3. Utilisez cURL pour appeler l'API JSON avec une requête permettant de créer un cache :

    curl -X POST --data-binary @JSON_FILE_NAME \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/anywhereCaches"

    Remplacez :

    • JSON_FILE_NAME par le nom du fichier JSON que vous avez créé à l'étape 2.

    • BUCKET_NAME par le nom du bucket pour lequel vous souhaitez mettre en cache les données. Exemple :my-bucket

Si l'opération réussit, elle renvoie un google.longrunning.Operation. Vous pouvez obtenir des détails sur l'opération de longue durée ou bien l'annuler, afin d'interrompre l'opération AnywhereCaches Create avant qu'elle n'arrive à son terme.

Afficher un cache

Console

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket associé au cache que vous souhaitez afficher.

  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Configuration.

  4. Dans la section Cache Anywhere, cliquez sur Modifier à côté du champ Cache.

  5. Sur la page Modifier la configuration qui s'affiche, sélectionnez une région pour afficher tous les caches dans les zones de la région.

    Dans le volet Zones de cache, vous pouvez ensuite afficher des informations sur chaque cache disponible.

Ligne de commande

Exécutez la commande gcloud storage buckets anywhere-caches describe :

gcloud storage buckets anywhere-caches describe ID

Remplacez :

  • ID avec l'identifiant de l'instance de cache, formulé comme BUCKET_NAME/ANYWHERE_CACHE_ID. Exemple : my-bucket/us-east1-b.

Utilisez l'indicateur facultatif raw pour générer une réponse d'API brute au lieu d'une réponse d'API standardisée.

Si l'opération réussit, la commande renvoie une ressource AnywhereCache.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client,
   std::string const& cache_name) {
  auto anywhere_cache = client.GetAnywhereCache(cache_name);
  if (!anywhere_cache) throw std::move(anywhere_cache).status();
  std::cout << "Got anywhere cache: " << anywhere_cache->name() << "\n";
}

Java

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.GetAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;

public final class AnywhereCacheGet {

  public static void anywhereCacheGet(String cacheName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      GetAnywhereCacheRequest request =
          GetAnywhereCacheRequest.newBuilder().setName(cacheName).build();

      AnywhereCache anywhereCache = storageControl.getAnywhereCache(request);

      System.out.printf("Got anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

Consultez la documentation Terraform google_storage_anywhere_cache pour savoir comment utiliser Anywhere Cache avec Terraform.

API REST

API JSON

  1. Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Utilisez cURL pour appeler l'API JSON avec une requête permettant d'obtenir un cache :

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

    Remplacez :

    • BUCKET_NAME par le nom du bucket associé au cache que vous souhaitez récupérer. Exemple : my-bucket.

    • ANYWHERE_CACHE_ID par la zone dans laquelle se trouve le cache. Exemple :us-east1-b

Si l'opération réussit, elle renvoie une ressource AnywhereCache.

Lister les caches

Console

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket associé aux caches que vous souhaitez afficher.

  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Configuration.

  4. Dans la section Cache Anywhere, cliquez sur Modifier à côté du champ Cache.

  5. Sur la page Modifier la configuration qui s'affiche, sélectionnez une région pour afficher tous les caches dans les zones de cette région.

    Tous les caches disponibles pour les zones de la région s'affichent dans le volet Zones de cache.

Ligne de commande

Exécutez la commande gcloud storage buckets anywhere-caches list :

gcloud storage buckets anywhere-caches list gs://BUCKET_NAME

Remplacez :

  • BUCKET_NAME par le nom du bucket associé aux caches que vous souhaitez répertorier. Exemple :my-bucket

Si l'opération réussit, la commande renvoie une liste de ressources AnywhereCache.

Vous pouvez également utiliser l'indicateur --raw pour renvoyer une réponse d'API brute au lieu d'une réponse standardisée. Pour en savoir plus sur le contrôle des comportements de liste, comme la pagination des résultats, consultez la documentation gcloud storage ls.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client,
   std::string const& bucket_name) {
  auto const parent = std::string{"projects/_/buckets/"} + bucket_name;
  for (auto anywhere_cache : client.ListAnywhereCaches(parent)) {
    if (!anywhere_cache) throw std::move(anywhere_cache).status();
    std::cout << anywhere_cache->name() << "\n";
  }
}

Java

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.BucketName;
import com.google.storage.control.v2.ListAnywhereCachesRequest;
import com.google.storage.control.v2.StorageControlClient;
import com.google.storage.control.v2.StorageControlClient.ListAnywhereCachesPagedResponse;
import java.io.IOException;

public final class AnywhereCacheList {

  public static void anywhereCacheList(String bucketName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      ListAnywhereCachesRequest request =
          ListAnywhereCachesRequest.newBuilder()
              .setParent(BucketName.format("_", bucketName))
              .build();

      ListAnywhereCachesPagedResponse page = storageControl.listAnywhereCaches(request);
      for (AnywhereCache anywhereCache : page.iterateAll()) {
        System.out.println(anywhereCache.getName());
      }
    }
  }
}

Terraform

Consultez la documentation Terraform google_storage_anywhere_cache pour savoir comment utiliser Anywhere Cache avec Terraform.

API REST

API JSON

  1. Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Utilisez cURL pour appeler l'API JSON avec une requête permettant de lister les caches :

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

    Remplacez :

    • BUCKET_NAME par le nom du bucket associé aux caches que vous souhaitez récupérer. Exemple : my-bucket.

    Lorsque vous listez plusieurs caches, vous pouvez paginer les résultats.

Si l'opération réussit, elle renvoie une liste de ressources AnywhereCache. Pour en savoir plus sur la structure de cette réponse, consultez la réponse dans la documentation sur la liste AnywhereCaches.

Mettre à jour un cache

Console

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket associé au cache que vous souhaitez mettre à jour.

  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Observabilité, puis sur Anywhere Cache dans le menu de navigation.

  4. Cliquez sur Modifier la configuration.

  5. Sur la page Modifier la configuration qui s'affiche, mettez à jour les propriétés du cache, puis cliquez sur Enregistrer.

Ligne de commande

Exécutez la commande gcloud storage buckets anywhere-caches update :

gcloud storage buckets anywhere-caches update ID

Remplacez :

  • ID avec l'identifiant de l'instance de cache, formulé comme BUCKET_NAME/ANYWHERE_CACHE_ID. Exemple : my-bucket/us-east1-b.

    Pour mettre à jour plusieurs caches à la fois, vous pouvez spécifier plusieurs identifiants. Par exemple, my-bucket/us-east1-b my-bucket/us-east1-c.

Utilisez les indicateurs suivants pour mettre à jour la configuration du cache. Si aucun indicateur n'est spécifié, la valeur reste inchangée.

  • --ttl : spécifiez la valeur TTL (Time To Live) des données dans le cache, en secondes.

  • --admission-policy : spécifiez à quel moment les données sont ingérées dans le cache. Les valeurs peuvent être ADMIT_ON_FIRST_MISS ou ADMIT_ON_SECOND_MISS.

Si l'opération réussit, la commande renvoie l'ID de l'opération de longue durée brute associée à l'opération de mise à jour AnywhereCache. Vous pouvez obtenir des détails sur l'opération de longue durée.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client, std::string const& cache_name,
   std::string const& admission_policy) {
  google::storage::control::v2::AnywhereCache cache;
  google::protobuf::FieldMask field_mask;
  field_mask.add_paths("admission_policy");
  cache.set_name(cache_name);
  cache.set_admission_policy(admission_policy);
  // Start an update operation and block until it completes. Real applications
  // may want to setup a callback, wait on a coroutine, or poll until it
  // completes.
  auto anywhere_cache = client.UpdateAnywhereCache(cache, field_mask).get();
  if (!anywhere_cache) throw std::move(anywhere_cache).status();
  std::cout << "Updated anywhere cache: " << anywhere_cache->name() << "\n";
}

Java

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.


import com.google.api.gax.longrunning.OperationFuture;
import com.google.protobuf.FieldMask;
import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.StorageControlClient;
import com.google.storage.control.v2.UpdateAnywhereCacheMetadata;
import com.google.storage.control.v2.UpdateAnywhereCacheRequest;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

public final class AnywhereCacheUpdate {

  public static void anywhereCacheUpdate(String cacheName, String admissionPolicy)
      throws InterruptedException, ExecutionException, IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      AnywhereCache pendingUpdate =
          AnywhereCache.newBuilder().setName(cacheName).setAdmissionPolicy(admissionPolicy).build();

      UpdateAnywhereCacheRequest request =
          UpdateAnywhereCacheRequest.newBuilder()
              .setAnywhereCache(pendingUpdate)
              .setUpdateMask(FieldMask.newBuilder().addPaths("admission_policy").build())
              .build();

      // Start a long-running operation (LRO).
      OperationFuture<AnywhereCache, UpdateAnywhereCacheMetadata> operation =
          storageControl.updateAnywhereCacheAsync(request);

      // Await the LROs completion.
      AnywhereCache updatedAnywhereCache = operation.get();
      System.out.printf("Updated anywhere cache: %s%n", updatedAnywhereCache.getName());
    }
  }
}

Terraform

Consultez la documentation Terraform google_storage_anywhere_cache pour savoir comment utiliser Anywhere Cache avec Terraform.

API REST

API JSON

  1. Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Créez un fichier JSON incluant les modifications apportées aux propriétés du cache que vous souhaitez mettre à jour.

    {
       "ttl": "TIME_TO_LIVE",
       "admissionPolicy": "ADMISSION_POLICY"
    }

    Remplacez :

    • TIME_TO_LIVE avec la valeur TTL des données dans le cache. La valeur peut être comprise entre 1 heure et 7 jours, spécifiée en secondes. Si elle n'est pas spécifiée, la valeur actuelle est conservée.

    • ADMISSION_POLICY avec la règle d'admission du cache, qui spécifie le moment où les données sont ingérées. Les valeurs peuvent être admit-on-first-miss ou admit-on-second-miss. Si aucune valeur n'est spécifiée, la valeur actuelle est conservée.

    L'exemple suivant met à jour la valeur TTL du cache sur deux jours et sa règle d'admission pour ingérer les données lors du deuxième échec :

    {
       "ttl": "172800s",
       "admissionPolicy": "admit-on-second-miss"
    }
  3. Pour appliquer les nouvelles propriétés, utilisez cURL pour appeler l'API JSON avec une requête permettant de mettre à jour le cache :

    curl -X PATCH --data-binary @JSON_FILE_NAME \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/anywhereCaches/ANYWHERE_CACHE_ID"

    Remplacez :

    • JSON_FILE_NAME par le nom du fichier JSON que vous avez créé à l'étape 2.

    • BUCKET_NAME par le nom du bucket associé au cache que vous souhaitez mettre à jour. Exemple : my-bucket.

    • ANYWHERE_CACHE_ID par l'identifiant du cache. Exemple :us-east1-b

Si l'opération réussit, elle renvoie un google.longrunning.Operation. Vous pouvez obtenir des détails sur l'opération de longue durée.

Suspendre un cache

Console

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket associé au cache que vous souhaitez suspendre.

  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Observabilité, puis sur Anywhere Cache dans le menu de navigation.

  4. Cliquez sur Suspendre/Réactiver les caches.

  5. Dans le volet qui s'affiche, cliquez sur l'icône Mettre en veille le cache ().

  6. Cliquez sur Fermer.

Ligne de commande

Exécutez la commande gcloud storage buckets anywhere-caches pause :

gcloud storage buckets anywhere-caches pause ID

Remplacez :

  • ID avec l'identifiant de l'instance de cache, formulé comme BUCKET_NAME/ANYWHERE_CACHE_ID. Exemple : my-bucket/us-east1-b.

    Pour mettre en veille plusieurs caches à la fois, vous pouvez spécifier plusieurs identifiants. Par exemple, my-bucket/us-east1-b my-bucket/us-east1-c.

Si l'opération réussit, la commande renvoie un message de confirmation.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client,
   std::string const& cache_name) {
  auto anywhere_cache = client.PauseAnywhereCache(cache_name);
  if (!anywhere_cache) throw std::move(anywhere_cache).status();
  std::cout << "Paused anywhere cache: " << anywhere_cache->name() << "\n";
}

Java

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.PauseAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;

public final class AnywhereCachePause {

  public static void anywhereCachePause(String cacheName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      PauseAnywhereCacheRequest request =
          PauseAnywhereCacheRequest.newBuilder().setName(cacheName).build();

      AnywhereCache anywhereCache = storageControl.pauseAnywhereCache(request);

      System.out.printf("Paused anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

Consultez la documentation Terraform google_storage_anywhere_cache pour savoir comment utiliser Anywhere Cache avec Terraform.

API REST

API JSON

  1. Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Utilisez cURL pour appeler l'API JSON avec une requête permettant de suspendre un cache :

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

    Remplacez :

    • BUCKET_NAME par le nom du bucket associé au cache que vous souhaitez suspendre. Exemple : my-bucket.

    • ANYWHERE_CACHE_ID par l'identifiant du cache. Exemple :us-east1-b

Si l'opération aboutit, elle renvoie une ressource AnywhereCache mise en forme.

Réactiver un cache

Console

Pour reprendre un cache suspendu, suivez les instructions ci-dessous :

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket associé au cache que vous souhaitez reprendre.

  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Observabilité, puis sur Anywhere Cache dans le menu de navigation.

  4. Cliquez sur Suspendre/Réactiver les caches.

  5. Dans le volet qui s'affiche, cliquez sur l'icône Reprendre le cache ().

  6. Cliquez sur Fermer.

Pour réactiver un cache désactivé, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket associé au cache que vous souhaitez reprendre.

  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Observabilité, puis sur Anywhere Cache dans le menu de navigation.

  4. Cliquez sur Désactiver/Réactiver les caches.

  5. Dans le volet qui s'affiche, cliquez sur l'icône Reprendre le cache ().

  6. Cliquez sur Fermer.

Ligne de commande

Exécutez la commande gcloud storage buckets anywhere-caches resume :

gcloud storage buckets anywhere-caches resume ID

Remplacez :

  • ID avec l'identifiant de l'instance de cache, formulé comme BUCKET_NAME/ANYWHERE_CACHE_ID. Exemple : my-bucket/us-east1-b.

    Pour reprendre plusieurs caches à la fois, vous pouvez spécifier plusieurs identifiants. Par exemple, my-bucket/us-east1-b my-bucket/us-east1-c.

Si l'opération réussit, la commande renvoie une ressource AnywhereCache mise en forme.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client,
   std::string const& cache_name) {
  auto anywhere_cache = client.ResumeAnywhereCache(cache_name);
  if (!anywhere_cache) throw std::move(anywhere_cache).status();
  std::cout << "Resumed anywhere cache: " << anywhere_cache->name() << "\n";
}

Java

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.ResumeAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;

public final class AnywhereCacheResume {

  public static void anywhereCacheResume(String cacheName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      ResumeAnywhereCacheRequest request =
          ResumeAnywhereCacheRequest.newBuilder().setName(cacheName).build();

      AnywhereCache anywhereCache = storageControl.resumeAnywhereCache(request);

      System.out.printf("Resumed anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

Consultez la documentation Terraform google_storage_anywhere_cache pour savoir comment utiliser Anywhere Cache avec Terraform.

API REST

API JSON

  1. Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Utilisez cURL pour appeler l'API JSON avec une requête permettant de réactiver un cache :

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

    Remplacez :

    • BUCKET_NAME par le nom du bucket associé au cache que vous souhaitez reprendre. Exemple : my-bucket.

    • ANYWHERE_CACHE_ID par l'identifiant du cache. Exemple :us-east1-b

Si l'opération aboutit, elle renvoie une ressource AnywhereCache mise en forme.

Désactiver un cache

Console

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket associé au cache que vous souhaitez désactiver.

  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Observabilité, puis sur Anywhere Cache dans le menu de navigation.

  4. Cliquez sur Désactiver/Réactiver les caches.

  5. Dans le volet qui s'affiche, cliquez sur l'icône Désactiver le cache ().

  6. Dans la boîte de dialogue qui s'affiche, cliquez sur Autoriser.

  7. Cliquez sur Fermer.

Ligne de commande

Exécutez la commande gcloud storage buckets anywhere-caches disable :

gcloud storage buckets anywhere-caches disable ID

Remplacez :

  • ID avec l'identifiant de l'instance de cache, formulé comme BUCKET_NAME/ANYWHERE_CACHE_ID. Exemple : my-bucket/us-east1-b.

    Pour désactiver plusieurs caches à la fois, vous pouvez spécifier plusieurs identifiants. Par exemple, my-bucket/us-east1-b my-bucket/us-east1-c.

Si l'opération réussit, la commande renvoie une ressource AnywhereCache mise en forme.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client,
   std::string const& cache_name) {
  auto anywhere_cache = client.DisableAnywhereCache(cache_name);
  if (!anywhere_cache) throw std::move(anywhere_cache).status();
  std::cout << "Disabled anywhere cache: " << anywhere_cache->name() << "\n";
}

Java

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.DisableAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;

public final class AnywhereCacheDisable {

  public static void anywhereCacheDisable(String cacheName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      DisableAnywhereCacheRequest request =
          DisableAnywhereCacheRequest.newBuilder().setName(cacheName).build();

      AnywhereCache anywhereCache = storageControl.disableAnywhereCache(request);

      System.out.printf("Disabled anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

Consultez la documentation Terraform google_storage_anywhere_cache pour savoir comment utiliser Anywhere Cache avec Terraform.

API REST

API JSON

  1. Vous devez installer et initialiser gcloud CLIafin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Utilisez cURL pour appeler l'API JSON avec une requête permettant de désactiver un cache :

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

    Remplacez :

    • BUCKET_NAME par le nom du bucket associé au cache que vous souhaitez désactiver. Exemple : my-bucket.

    • ANYWHERE_CACHE_ID par l'identifiant du cache. Exemple :us-east1-b

Si l'opération réussit, la commande renvoie une ressource AnywhereCache mise en forme.

Surveiller les performances du cache

La section Cloud Storage de la console Google Cloud fournit des graphiques de surveillance qui vous permettent de suivre les performances de vos caches à l'aide de métriques. Vous pouvez également afficher ces graphiques de surveillance à l'aide de Cloud Monitoring.

Graphiques disponibles

Graphique Niveau de la hiérarchie des ressources Description
Taux d'éviction des octets Bucket Taux d'octets évincés du cache, échantillonné toutes les heures. Ces données sont actualisées plusieurs fois par heure pour laisser le temps nécessaire au post-traitement des données.
Taux d'éviction des octets Projet Taux d'octets évincés de tous les caches d'un bucket, échantillonné toutes les heures. Ces données sont actualisées plusieurs fois par heure pour laisser le temps nécessaire au post-traitement des données.
Octets dans le cache Bucket Taux d'octets dans le cache, échantillonné toutes les heures. Ces données sont actualisées plusieurs fois par heure pour laisser le temps nécessaire au post-traitement des données.
Octets dans le cache Projet Taux d'octets dans tous les caches d'un bucket, échantillonné toutes les heures. Ces données sont actualisées plusieurs fois par heure pour laisser le temps nécessaire au post-traitement des données.
Avantage du débit de cache Projet Le taux du quota de bande passante de transfert de données pour la région, la birégion ou la multirégion, l'utilisation du quota et le débit supplémentaire fourni par le cache. Le débit supplémentaire fourni par le cache n'est pas comptabilisé dans le quota. L'utilisation du cache permet donc aux projets de dépasser le débit autorisé par le quota.
Opérations de taux de réussite Bucket Pourcentage d'opérations de cache qui délivrent les données demandées à partir du cache par rapport au nombre total d'opérations éligibles à la mise en cache, échantillonné toutes les 60 secondes. Si une lecture est entièrement renvoyée à partir du cache, l'opération est considérée comme un succès. Si la lecture n'est pas renvoyée par le cache ou si elle n'est renvoyée que partiellement, l'opération est considérée comme un échec.
Opérations de taux de réussite Projet Pourcentage d'opérations de cache qui diffusent les données demandées à partir de tous les caches d'un bucket par rapport au nombre total d'opérations éligibles à la mise en cache, échantillonné toutes les 60 secondes. Si une lecture est entièrement renvoyée à partir du cache, l'opération est considérée comme un succès. Si la lecture n'est pas renvoyée par le cache ou si elle n'est renvoyée que partiellement, l'opération est considérée comme un échec.
Octets du taux de succès Bucket Pourcentage d'octets diffusés à partir du cache par rapport au nombre total d'octets éligibles à la mise en cache. Échantillonné toutes les 60 secondes.
Octets du taux de succès Projet Pourcentage d'octets diffusés à partir de tous les caches d'un bucket par rapport au nombre total d'octets éligibles à la mise en cache. Échantillonné toutes les 60 secondes.
Taux d'ingestion en octets bruts Bucket Taux d'octets bruts ingérés dans chaque cache, échantillonné toutes les 60 secondes. Tous les octets ingérés, y compris ceux qui ne sont pas facturables, sont utilisés pour calculer la valeur de cette métrique. Cette métrique est signalée en temps réel.
Taux d'ingestion en octets bruts Projet Taux d'octets bruts ingérés dans tous les caches d'un bucket, échantillonné toutes les 60 secondes. Tous les octets ingérés, y compris ceux qui ne sont pas facturables, sont utilisés pour calculer la valeur de cette métrique. Cette métrique est signalée en temps réel.
Débit - Succès de cache Bucket Débit fourni par le cache, échantillonné toutes les 60 secondes.
Débit - Succès de cache Projet Débit fourni par tous les caches d'un bucket, échantillonné toutes les 60 secondes.
Débit - Défaut de cache Bucket Débit non fourni par le cache, échantillonné toutes les 60 secondes.
Débit - Défaut de cache Projet Débit qui n'est fourni par aucun des caches d'un bucket, échantillonné toutes les 60 secondes.

Accéder aux graphiques

Les graphiques de surveillance capturent les données de buckets individuels ou de tous les buckets d'un projet. Le niveau de la hiérarchie des ressources qu'un graphique capture détermine où vous pouvez y accéder.

Accéder aux graphiques au niveau du bucket

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans la liste des buckets, cliquez sur le nom du bucket pour lequel vous souhaitez afficher les graphiques de surveillance.

  3. Sur la page Informations sur le bucket, cliquez sur l'onglet Observabilité.

  4. Dans le menu de navigation, sélectionnez Anywhere Cache.

    Les graphiques de surveillance s'affichent.

Accéder aux graphiques au niveau du projet

  1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

    Accéder à la page "Buckets"

  2. Dans le volet de navigation Cloud Storage, cliquez sur Surveillance.

  3. Dans la barre de menu, cliquez sur Anywhere Cache.

    Les graphiques de surveillance s'affichent.

Utiliser des opérations de longue durée

Lorsqu'elles sont exécutées avec succès, les opérations AnywhereCaches Create et Update lancent une opération de longue durée. Vous pouvez obtenir et lister les opérations de longue durée afin d'afficher les détails et l'état de l'opération AnywhereCaches sous-jacente, ou annuler une opération de longue durée pour annuler l'opération AnywhereCaches sous-jacente en cours.

Pour savoir comment utiliser les opérations de longue durée pour Anywhere Cache, consultez Utiliser des opérations de longue durée.

L'exemple suivant montre une opération de longue durée initiée à partir d'une opération de création AnywhereCaches :

done: false
kind: storage#operation
metadata:
  '@type': type.googleapis.com/google.storage.control.v2.CreateAnywhereCacheMetadata
  anywhereCacheId: us-central1-c
  zone: us-central1-c
  ttl: 172800s
  admissionPolicy: admit-on-first-miss
  commonMetadata:
    createTime: '2023-12-14T20:52:00.032Z'
    progressPercent: -1
    requestedCancellation: false
    type: create-anywhere-cache
    updateTime: '2023-12-14T20:52:00.032Z'
name: projects/_/buckets/my-bucket/operations/AULf_KhQxxsWRSn56wv4jfmn3pOu_dKTz9FoYx6S0EzMw5ssR0cXIiorCvHRwqxZnQmWj9jnGpKb3Y6iCD3XM9KLc8EHBm7uig
selfLink: https://www.googleapis.com/storage/v1/b/my-bucket/operations/AULf_KhQxxsWRSn56wv4jfmn3pOu_dKTz9FoYx6S0EzMw5ssR0cXIiorCvHRwqxZnQmWj9jnGpKb3Y6iCD3XM9KLc8EHBm7uig

Tentatives

Les API AnywhereCaches asynchrones sont idempotentes par défaut. Par conséquent, vous pouvez relancer en toute sécurité des appels d'API AnywhereCaches asynchrones, sans vous soucier d'avoir potentiellement modifié involontairement des ressources.

Par exemple, imaginons que vous effectuiez une opération AnywhereCaches Create pour créer un cache dans us-central1-a, ce qui réussit. Si vous effectuez une opération AnywhereCaches Create ultérieure dans la même zone et qu'elle réussit, la requête renvoie la même opération de longue durée que la requête précédente. Notez que ce comportement ne se produit que si vous incluez un request_id dans votre requête de création de cache. Si aucun request_id n'est inclus, une erreur ANYWHERE_CACHE_ALREADY_EXISTS s'affiche lorsque vous essayez de créer un cache qui existe déjà. Pour savoir comment inclure un request_id, consultez Duplication des requêtes.

Étapes suivantes

Obtenez des recommandations sur les buckets et les zones pour lesquels créer un cache.