Créer et gérer des caches Anywhere Cache

Sur cette page, découvrez 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

Vous devez disposer des autorisations suivantes pour créer et gérer des caches Anywhere Cache :

  • storage.anywhereCaches.disable (requise pour désactiver des caches)
  • storage.anywhereCaches.get (requise pour récupérer des caches)
  • storage.anywhereCaches.create (requise pour créer des caches)
  • storage.anywhereCaches.list (requise pour créer une liste de caches)
  • storage.anywhereCaches.pause (requise pour suspendre des caches)
  • storage.anywhereCaches.resume (requise pour réactiver des caches)
  • storage.anywhereCaches.update (requise pour mettre à 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 pour des buckets, consultez la page Définir et gérer des stratégies IAM sur 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

Pour créer un cache sur un bucket existant, 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 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 Anywhere Cache, cliquez sur Configurer le cache.

    La page Configurer le cache s'affiche pour votre bucket.

  5. Dans la section Régions de 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 valeur TTL (Time To Live) et une option Ingestion lors du deuxième accès pour le cache.

  7. Cliquez sur Enregistrer la configuration.

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

    L'onglet Opérations de la page Informations sur le bucket s'ouvre. Il affiche l'état du job de création du cache.

Pour créer un cache au moment de la création d'un bucket, suivez les instructions de la section Créer un bucket.

Pour afficher l'état du cache d'un bucket sur la page Liste des buckets, 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. Par exemple, my-bucket.

  • ZONE par la zone dans laquelle le cache s'exécutera. Par 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 flags facultatifs suivants 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. Les valeurs peuvent être exprimées en secondes, minutes, heures et jours. Exemple :

    • 86400s pour 86 400 secondes
    • 1440m pour 1 440 minutes
    • 24h pour 24 heures
    • 1d pour 1 jour

    Si aucune valeur n'est spécifiée, la valeur définie par défaut est 86400s (1 jour).

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

Si la commande aboutit, elle renvoie l'ID de l'opération de longue durée associée à l'opération AnywhereCaches Create (création de caches Anywhere). Vous pouvez obtenir des informations 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.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de 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 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 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 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 la gcloud CLI afin 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. Par exemple, us-east1-b.

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

    • ADMISSION_POLICY par 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 définie par défaut est admit-on-first-miss.

  3. Exécutez 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. Par exemple, my-bucket.

Si l'opération réussit, elle renvoie une google.longrunning.Operation. Vous pouvez obtenir des informations 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 Anywhere Cache, 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 situés dans les zones de cette 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 par l'identifiant de l'instance de cache, indiqué sous la forme BUCKET_NAME/ANYWHERE_CACHE_ID. Par exemple, my-bucket/us-east1-b.

Utilisez le flag raw facultatif 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 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 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 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 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 la gcloud CLI afin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Exécutez cURL pour appeler l'API JSON avec une requête permettant de récupérer 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. Par exemple, my-bucket.

    • ANYWHERE_CACHE_ID par la zone dans laquelle se trouve le cache. Par exemple, us-east1-b.

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

Répertorier des 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 Anywhere Cache, 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 situés 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. Par exemple, my-bucket.

Si la commande réussit, elle renvoie une liste de ressources AnywhereCache.

Vous pouvez également utiliser le flag --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 du comportement des listes, comme la pagination des résultats, consultez la documentation de gcloud storage ls.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de 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 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 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 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 la gcloud CLI afin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Exécutez cURL pour appeler l'API JSON avec une requête permettant de répertorier 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. Par exemple, my-bucket.

    Lorsque vous répertoriez 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 des opérations 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 Configuration.

  4. Dans la section Anywhere Cache, cliquez sur Gérer les caches Anywhere ().

  5. Dans le volet Gérer les caches, cliquez sur Modifier ou créer des caches ().

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

  7. Dans la boîte de dialogue qui s'affiche, cliquez sur Confirmer.

Ligne de commande

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

gcloud storage buckets anywhere-caches update ID

Remplacez :

  • ID par l'identifiant de l'instance de cache, indiqué sous la forme BUCKET_NAME/ANYWHERE_CACHE_ID. Par 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 flags suivants pour mettre à jour la configuration du cache. Si aucun flag 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 la commande aboutit, elle renvoie l'ID de l'opération de longue durée brute associée à l'opération AnywhereCache Update (mise à jour des caches Anywhere). Vous pouvez obtenir des informations sur l'opération de longue durée.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de 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 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 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 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 la gcloud CLI afin 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 de cache que vous souhaitez mettre à jour.

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

    Remplacez :

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

    • ADMISSION_POLICY par 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 appliquée.

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

    {
       "ttl": "172800s",
       "admissionPolicy": "admit-on-second-miss"
    }
  3. Pour appliquer les nouvelles propriétés, exécutez 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. Par exemple, my-bucket.

    • ANYWHERE_CACHE_ID par l'identifiant du cache. Par exemple, us-east1-b.

Si l'opération réussit, elle renvoie une google.longrunning.Operation. Vous pouvez obtenir des informations 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 Configuration.

  4. Dans la section Anywhere Cache, cliquez sur Gérer les caches Anywhere ().

  5. Dans le volet Gérer les caches, cliquez sur l'icône Suspendre 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 par l'identifiant de l'instance de cache, indiqué sous la forme BUCKET_NAME/ANYWHERE_CACHE_ID. Par exemple, my-bucket/us-east1-b.

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

Si la commande aboutit, elle renvoie un message de confirmation.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de 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 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 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 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 la gcloud CLI afin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Exécutez 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. Par exemple, my-bucket.

    • ANYWHERE_CACHE_ID par l'identifiant du cache. Par exemple, us-east1-b.

Si l'opération aboutit, elle renvoie une ressource AnywhereCache formatée.

Réactiver un cache

Console

Pour réactiver un cache qui a été suspendu ou 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 réactiver.

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

  4. Dans la section Anywhere Cache, cliquez sur Gérer les caches Anywhere ().

  5. Dans le volet Gérer les caches, cliquez sur l'icône Réactiver 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 par l'identifiant de l'instance de cache, indiqué sous la forme BUCKET_NAME/ANYWHERE_CACHE_ID. Par exemple, my-bucket/us-east1-b.

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

Si la commande aboutit, elle renvoie une ressource AnywhereCache formatée.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de 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 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 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 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 la gcloud CLI afin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Exécutez 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 réactiver. Par exemple, my-bucket.

    • ANYWHERE_CACHE_ID par l'identifiant du cache. Par exemple, us-east1-b.

Si l'opération aboutit, elle renvoie une ressource AnywhereCache formatée.

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 Configuration.

  4. Dans la section Anywhere Cache, cliquez sur Gérer les caches Anywhere ().

  5. Dans le volet Gérer les caches, cliquez sur l'icône Désactiver le cache ().

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

  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 par l'identifiant de l'instance de cache, indiqué sous la forme BUCKET_NAME/ANYWHERE_CACHE_ID. Par 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 la commande aboutit, elle renvoie une ressource AnywhereCache formatée.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de 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 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 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 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 la gcloud CLI afin de générer un jeton d'accès pour l'en-tête Authorization.

  2. Exécutez 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. Par exemple, my-bucket.

    • ANYWHERE_CACHE_ID par l'identifiant du cache. Par exemple, us-east1-b.

Si la commande aboutit, elle renvoie une ressource AnywhereCache formatée.

Surveiller les performances des caches

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 dans 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 Nombre 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 Nombre 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 Débit du quota de bande passante relatif au transfert de données au niveau régional, birégional et multirégional, utilisation du quota et 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.
Taux de réussite des opérations de cache Bucket Pourcentage d'opérations de cache qui délivrent toutes 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.
Taux de réussite des opérations de cache Projet Pourcentage d'opérations de cache qui délivrent 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 de 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 de 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 d'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 d'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 (miss) Bucket Débit qui n'est pas fourni par le cache, échantillonné toutes les 60 secondes.
Débit - Défaut de cache (miss) 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 hiérarchie des ressources qu'un graphique capture détermine l'emplacement où vous pouvez accéder à ce graphique.

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 (création de caches Anywhere) et Update (mise à jour de caches Anywhere) lancent une opération de longue durée. Vous pouvez obtenir et recenser 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 lancée par une opération AnywhereCaches Create (création de caches Anywhere) :

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 risquer de modifier involontairement des ressources.

Par exemple, imaginons que vous lanciez une opération AnywhereCaches Create pour créer un cache dans us-central1-a et que celle-ci réussit. Si vous relancez une opération AnywhereCaches Create 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 Identification de la requête.

Étape suivante

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