Crear y gestionar cachés de Anywhere Cache

En esta página se explica cómo crear y gestionar instancias de caché de Anywhere Cache.

Para obtener información sobre cómo usar y gestionar las operaciones de larga duración que se inician desde Anywhere Cache operaciones de caché asíncronas, consulta Usar operaciones de larga duración.

Antes de usar Anywhere Cache, consulta las limitaciones y restricciones.

Antes de empezar

Para obtener los permisos que necesitas para crear y gestionar cachés de Anywhere Cache, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Storage (roles/storage.admin) en el segmento para el que quieras crear cachés.

Este rol predefinido contiene los permisos necesarios para crear y gestionar cachés de Anywhere Cache. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Se necesitan los siguientes permisos para crear y gestionar cachés de Anywhere Cache:

  • storage.anywhereCaches.disable (obligatorio para inhabilitar las cachés)
  • storage.anywhereCaches.get (obligatorio para obtener cachés)
  • storage.anywhereCaches.create (obligatorio para crear cachés)
  • storage.anywhereCaches.list (obligatorio para las cachés de fichas)
  • storage.anywhereCaches.pause (obligatorio para pausar las cachés)
  • storage.anywhereCaches.resume (obligatorio para reanudar las cachés)
  • storage.anywhereCaches.update (necesario para actualizar las cachés)

También puedes obtener estos permisos con roles personalizados.

Para obtener información sobre cómo conceder roles en los contenedores, consulta Usar IAM con contenedores.

Para gestionar las operaciones de larga duración que se inician desde métodos de Anywhere Cache, es posible que necesites roles y permisos adicionales. Consulta los roles necesarios para las operaciones de larga duración para obtener más información.

Crear una caché

Consola

Para crear una caché en un bucket ya creado, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento en el que quiera almacenar datos en caché.

  3. En la página Detalles del segmento, haga clic en la pestaña Configuración.

  4. En la sección Caché en cualquier lugar, haga clic en Configurar caché.

    Se mostrará la página Configurar caché de tu cubo.

  5. En la sección Regiones de caché, haga clic en la región que contenga las zonas en las que quiera crear una caché.

  6. En la sección Zonas de caché, selecciona las zonas en las que quieras crear una caché. Para cada zona que selecciones, especifica un Tiempo de vida y una opción de Ingest on second access (Ingerir en el segundo acceso) para la caché.

  7. Haz clic en Guardar configuración.

  8. En el cuadro de diálogo que aparece, haz clic en Confirmar.

    Se abrirá la pestaña Operaciones de la página Detalles del segmento, donde se muestra el estado de la tarea de creación de caché.

Para crear una caché al crear un nuevo contenedor, siga las instrucciones de Crear un nuevo contenedor.

Para ver el estado de la caché de un contenedor en la página Lista de contenedores, siga estos pasos:

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. Haz clic en el icono Ver columna (), selecciona Caché y, a continuación, haz clic en Aceptar.

Línea de comandos

Usa el comando gcloud storage buckets anywhere-caches create:

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

Sustituye:

  • BUCKET_NAME con el nombre del segmento del que quieras almacenar datos en caché. Por ejemplo, my-bucket.

  • ZONE por la zona en la que se ejecutará la caché. Por ejemplo, us-east1-b.

    Para crear varias cachés a la vez, puedes especificar varias zonas. Por ejemplo, us-east1-b us-east1-c us-east1-d.

Define las siguientes marcas opcionales para tener más control sobre la creación de la caché:

  • --ttl: especifica el tiempo de vida (TTL) de los datos en la caché, en segundos. Los valores se pueden expresar en segundos, minutos, horas y días. Por ejemplo:

    • 86400s durante 86.400 segundos
    • 1440m durante 1440 minutos
    • 24h durante 24 horas
    • 1d durante 1 día

    Si no se especifica, el valor predeterminado es 86400s (1 día).

  • --admission-policy: especifica en qué momento se insertan los datos en la caché. Los valores aceptados son ADMIT_ON_FIRST_MISS y ADMIT_ON_SECOND_MISS. Si no se especifica, se asignará ADMIT_ON_FIRST_MISS de forma predeterminada.

Si la acción se realiza correctamente, el comando devuelve el ID de la operación de larga duración asociada a la operación de creación de AnywhereCache. Puedes obtener detalles sobre la operación de larga duración o cancelarla para detener la operación de creación de AnywhereCache antes de que se complete.

Bibliotecas de cliente

C++

Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Consulta la google_storage_anywhere_cachedocumentación de Terraform para obtener más información sobre cómo usar Anywhere Cache con Terraform.

APIs REST

API JSON

  1. Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado Authorization.

  2. Crea un archivo JSON que contenga la siguiente información:

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

    Sustituye:

    • ZONE por la zona en la que se ejecutará la caché. Por ejemplo, us-east1-b.

    • TIME_TO_LIVE con el tiempo de vida (TTL) de los datos de la caché. El valor puede ser de entre 1 hora y 7 días, especificado en segundos. Si no se especifica, el valor predeterminado es 86400s (1 día).

    • ADMISSION_POLICY con la política de admisión de la caché, que especifica cuándo se ingieren los datos. Los valores pueden ser admit-on-first-miss o admit-on-second-miss. Si no se especifica, se asignará admit-on-first-miss de forma predeterminada.

  3. Usa cURL para llamar a la API JSON con una solicitud para crear una caché:

    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"

    Sustituye:

    • JSON_FILE_NAME con el nombre del archivo JSON que has creado en el paso 2.

    • BUCKET_NAME con el nombre del segmento para el que quieres almacenar datos en caché. Por ejemplo, my-bucket.

Si la operación se realiza correctamente, devuelve un google.longrunning.Operation. Puedes consultar los detalles de la operación de larga duración o cancelarla para detener la operación de creación de AnywhereCache antes de que se complete.

Ver una caché

Consola

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento asociado a la caché que quiera ver.

  3. En la página Detalles del segmento, haga clic en la pestaña Configuración.

  4. En la sección Caché en cualquier lugar, haz clic en Editar junto al campo Caché.

  5. En la página Editar configuración que aparece, selecciona una región para ver todas las cachés de las zonas de la región.

    En el panel Zonas de caché, puedes ver los detalles de cada caché disponible.

Línea de comandos

Usa el comando gcloud storage buckets anywhere-caches describe:

gcloud storage buckets anywhere-caches describe ID

Sustituye:

  • ID con el identificador de la instancia de caché, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por ejemplo, my-bucket/us-east1-b.

Usa la marca opcional raw para obtener una respuesta de API sin formato en lugar de una respuesta de API estandarizada.

Si la acción se realiza correctamente, el comando devuelve un recurso AnywhereCache.

Bibliotecas de cliente

C++

Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.


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

Consulta la google_storage_anywhere_cachedocumentación de Terraform para obtener más información sobre cómo usar Anywhere Cache con Terraform.

APIs REST

API JSON

  1. Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado Authorization.

  2. Usa cURL para llamar a la API JSON con una solicitud para obtener una caché:

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

    Sustituye:

    • BUCKET_NAME con el nombre del segmento asociado a la caché que quieras recuperar. Por ejemplo, my-bucket.

    • ANYWHERE_CACHE_ID por la zona en la que se encuentra la caché. Por ejemplo, us-east1-b.

Si se realiza correctamente, esta operación devuelve un recurso AnywhereCache.

Mostrar cachés

Consola

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento asociado a las cachés que quiera ver.

  3. En la página Detalles del segmento, haga clic en la pestaña Configuración.

  4. En la sección Caché en cualquier lugar, haz clic en Editar junto al campo Caché.

  5. En la página Editar configuración que aparece, selecciona una región para ver todas las cachés de las zonas de esa región.

    Todas las cachés disponibles de las zonas de la región aparecen en el panel Zonas de caché.

Línea de comandos

Usa el comando gcloud storage buckets anywhere-caches list:

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

Sustituye:

  • BUCKET_NAME por el nombre del segmento asociado a las cachés que quieras enumerar. Por ejemplo, my-bucket.

Si la acción se realiza correctamente, el comando devuelve una lista de recursos AnywhereCache.

También puedes usar la marca --raw para devolver una respuesta de la API sin procesar en lugar de una respuesta estandarizada. Para obtener más información sobre cómo controlar el comportamiento de las listas, como paginar los resultados, consulta la documentación de gcloud storage ls.

Bibliotecas de cliente

C++

Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.


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

Consulta la google_storage_anywhere_cachedocumentación de Terraform para obtener más información sobre cómo usar Anywhere Cache con Terraform.

APIs REST

API JSON

  1. Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado Authorization.

  2. Usa cURL para llamar a la API JSON con una solicitud para enumerar las cachés:

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

    Sustituye:

    • BUCKET_NAME con el nombre del segmento asociado a las cachés que quieras recuperar. Por ejemplo, my-bucket.

    Cuando se enumeran varias cachés, se pueden paginar los resultados.

Si se realiza correctamente, esta operación devuelve una lista de recursos AnywhereCache. Para obtener información sobre la estructura de esta respuesta, consulta la respuesta en la documentación de la lista AnywhereCaches.

Actualizar una caché

Consola

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento asociado a la caché que quiera actualizar.

  3. En la página Detalles del bucket, haga clic en la pestaña Observabilidad y, a continuación, en Caché en cualquier lugar en el menú de navegación.

  4. Haz clic en Editar configuración.

  5. En la página Editar configuración que aparece, actualice las propiedades de la caché y, a continuación, haga clic en Guardar.

Línea de comandos

Usa el comando gcloud storage buckets anywhere-caches update:

gcloud storage buckets anywhere-caches update ID

Sustituye:

  • ID con el identificador de la instancia de caché, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por ejemplo, my-bucket/us-east1-b.

    Para actualizar varias cachés a la vez, puede especificar varios identificadores. Por ejemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

Usa las siguientes marcas para actualizar la configuración de la caché. Si no se especifica ninguna marca, el valor no cambia.

  • --ttl: especifica el tiempo de vida (TTL) de los datos en la caché, en segundos.

  • --admission-policy: especifica en qué momento se insertan los datos en la caché. Los valores pueden ser ADMIT_ON_FIRST_MISS o ADMIT_ON_SECOND_MISS.

Si la acción se realiza correctamente, el comando devuelve el ID de la operación de larga duración sin procesar asociada a la operación de actualización de AnywhereCache. Puedes obtener detalles sobre la operación de larga duración.

Bibliotecas de cliente

C++

Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.


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

Consulta la google_storage_anywhere_cachedocumentación de Terraform para obtener más información sobre cómo usar Anywhere Cache con Terraform.

APIs REST

API JSON

  1. Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado Authorization.

  2. Crea un archivo JSON que incluya los cambios que quieras hacer en las propiedades de la caché.

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

    Sustituye:

    • TIME_TO_LIVE con el TTL de los datos de la caché. El valor puede estar entre 1 hora y 7 días, especificado en segundos. Si no se especifica, se sigue usando el valor actual.

    • ADMISSION_POLICY con la política de admisión de la caché, que especifica cuándo se ingieren los datos. Los valores pueden ser admit-on-first-miss o admit-on-second-miss. Si no se especifica, se sigue usando el valor actual.

    En el siguiente ejemplo se actualiza el TTL de la caché a 2 días y su política de admisión para ingerir datos en el segundo fallo:

    {
       "ttl": "172800s",
       "admissionPolicy": "admit-on-second-miss"
    }
  3. Para aplicar las nuevas propiedades, usa cURL para llamar a la API JSON con una solicitud para actualizar la caché:

    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"

    Sustituye:

    • JSON_FILE_NAME con el nombre del archivo JSON que has creado en el paso 2.

    • BUCKET_NAME con el nombre del contenedor asociado a la caché que quieras actualizar. Por ejemplo, my-bucket.

    • ANYWHERE_CACHE_ID con el identificador de la caché. Por ejemplo, us-east1-b.

Si la operación se realiza correctamente, devuelve un google.longrunning.Operation. Puedes obtener información sobre la operación de larga duración.

Pausar una caché

Consola

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento asociado a la caché que quiera pausar.

  3. En la página Detalles del bucket, haga clic en la pestaña Observabilidad y, a continuación, en Caché en cualquier lugar en el menú de navegación.

  4. Haz clic en Pausar o reanudar cachés.

  5. En el panel que aparece, haz clic en el icono Pausar caché ().

  6. Haz clic en Cerrar.

Línea de comandos

Usa el comando gcloud storage buckets anywhere-caches pause:

gcloud storage buckets anywhere-caches pause ID

Sustituye:

  • ID con el identificador de la instancia de caché, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por ejemplo, my-bucket/us-east1-b.

    Para pausar varias cachés a la vez, puedes especificar varios identificadores. Por ejemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

Si la acción se realiza correctamente, el comando mostrará un mensaje de confirmación.

Bibliotecas de cliente

C++

Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.


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

Consulta la google_storage_anywhere_cachedocumentación de Terraform para obtener más información sobre cómo usar Anywhere Cache con Terraform.

APIs REST

API JSON

  1. Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado Authorization.

  2. Usa cURL para llamar a la API JSON con una solicitud para pausar una caché:

    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"

    Sustituye:

    • BUCKET_NAME con el nombre del segmento asociado a la caché que quieras pausar. Por ejemplo, my-bucket.

    • ANYWHERE_CACHE_ID con el identificador de la caché. Por ejemplo, us-east1-b.

Si se realiza correctamente, la operación devuelve un recurso AnywhereCache con formato.

Reanudar una caché

Consola

Para reanudar una caché que se ha pausado, sigue estas instrucciones:

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento asociado a la caché que quiera reanudar.

  3. En la página Detalles del bucket, haga clic en la pestaña Observabilidad y, a continuación, en Caché en cualquier lugar en el menú de navegación.

  4. Haz clic en Pausar o reanudar cachés.

  5. En el panel que aparece, haz clic en el icono Reanudar caché ().

  6. Haz clic en Cerrar.

Para reanudar una caché que se ha inhabilitado, sigue estas instrucciones:

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento asociado a la caché que quiera reanudar.

  3. En la página Detalles del bucket, haga clic en la pestaña Observabilidad y, a continuación, en Caché en cualquier lugar en el menú de navegación.

  4. Haz clic en Inhabilitar o reanudar caché.

  5. En el panel que aparece, haz clic en el icono Reanudar caché ().

  6. Haz clic en Cerrar.

Línea de comandos

Usa el comando gcloud storage buckets anywhere-caches resume:

gcloud storage buckets anywhere-caches resume ID

Sustituye:

  • ID con el identificador de la instancia de caché, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por ejemplo, my-bucket/us-east1-b.

    Para reanudar varias cachés a la vez, puedes especificar varios identificadores. Por ejemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

Si se realiza correctamente, el comando devuelve un recurso AnywhereCache con formato.

Bibliotecas de cliente

C++

Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.


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

Consulta la google_storage_anywhere_cachedocumentación de Terraform para obtener más información sobre cómo usar Anywhere Cache con Terraform.

APIs REST

API JSON

  1. Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado Authorization.

  2. Usa cURL para llamar a la API JSON con una solicitud para reanudar una caché:

    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"

    Sustituye:

    • BUCKET_NAME con el nombre del segmento asociado a la caché que quieras reanudar. Por ejemplo, my-bucket.

    • ANYWHERE_CACHE_ID con el identificador de la caché. Por ejemplo, us-east1-b.

Si se realiza correctamente, la operación devuelve un recurso AnywhereCache con formato.

Inhabilitar una caché

Consola

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento asociado a la caché que quiera inhabilitar.

  3. En la página Detalles del bucket, haga clic en la pestaña Observabilidad y, a continuación, en Caché en cualquier lugar en el menú de navegación.

  4. Haz clic en Inhabilitar o reanudar caché.

  5. En el panel que aparece, haz clic en el icono Inhabilitar caché ().

  6. En el cuadro de diálogo que aparece, haz clic en Confirmar.

  7. Haz clic en Cerrar.

Línea de comandos

Usa el comando gcloud storage buckets anywhere-caches disable:

gcloud storage buckets anywhere-caches disable ID

Sustituye:

  • ID con el identificador de la instancia de caché, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por ejemplo, my-bucket/us-east1-b.

    Para inhabilitar varias cachés a la vez, puedes especificar varios identificadores. Por ejemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

Si se realiza correctamente, el comando devuelve un recurso AnywhereCache con formato.

Bibliotecas de cliente

C++

Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.

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

Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.


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

Consulta la google_storage_anywhere_cachedocumentación de Terraform para obtener más información sobre cómo usar Anywhere Cache con Terraform.

APIs REST

API JSON

  1. Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado Authorization.

  2. Usa cURL para llamar a la API JSON con una solicitud para inhabilitar una caché:

    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"

    Sustituye:

    • BUCKET_NAME con el nombre del segmento asociado a la caché que quieras inhabilitar. Por ejemplo, my-bucket.

    • ANYWHERE_CACHE_ID con el identificador de la caché. Por ejemplo, us-east1-b.

Si se realiza correctamente, el comando devuelve un recurso AnywhereCache con formato.

Monitorizar el rendimiento de la caché

La parte de Cloud Storage de la Google Cloud consola proporciona gráficos de monitorización que te permiten hacer un seguimiento del rendimiento de tus cachés mediante métricas. Estos gráficos de monitorización también se pueden ver con Cloud Monitoring.

Gráficos disponibles

Gráfico Nivel de jerarquía de recursos Descripción
Tasa de desalojo de bytes Segmento Tasa de bytes expulsados de la caché. Se muestrea cada hora. Estos datos se actualizan más de una vez por hora para que haya tiempo para posprocesarlos.
Tasa de desalojo de bytes Proyecto La tasa de bytes desalojados de todas las cachés de un segmento, muestreada cada hora. Estos datos se actualizan más de una vez por hora para que haya tiempo para procesarlos.
Bytes en caché Segmento El número de bytes de la caché, muestreado cada hora. Estos datos se actualizan más de una vez por hora para que haya tiempo de posprocesarlos.
Bytes en caché Proyecto El número de bytes de todas las cachés de un contenedor, muestreado cada hora. Estos datos se actualizan más de una vez por hora para que haya tiempo de post-procesarlos.
Ventaja del rendimiento de la caché Proyecto La tasa de la cuota de ancho de banda de transferencia de datos de la región, la región dual o la multirregión, el uso de la cuota y el rendimiento adicional que ofrece la caché. El rendimiento adicional que proporciona la caché no se tiene en cuenta en la cuota, por lo que, al usar la caché, los proyectos pueden superar el rendimiento permitido por la cuota.
Operaciones de tasa de aciertos Segmento El porcentaje de operaciones de caché que sirven los datos solicitados desde la caché en relación con el total de operaciones aptas para la caché. Se muestrea cada 60 segundos. Si una lectura se devuelve completamente desde la caché, la operación se considera un acierto. Si la lectura no se devuelve desde la caché o solo se devuelve parcialmente desde la caché, la operación se considera un fallo.
Operaciones de tasa de aciertos Proyecto El porcentaje de operaciones de caché que sirven los datos solicitados de todas las cachés de un segmento en relación con el total de operaciones aptas para la caché. Se muestrea cada 60 segundos. Si una lectura se devuelve completamente desde la caché, la operación se considera un acierto. Si la lectura no se devuelve desde la caché o solo se devuelve parcialmente desde la caché, la operación se considera un fallo.
Bytes de tasa de aciertos Segmento El porcentaje de bytes que se sirven desde la caché en relación con el total de bytes aptos para la caché. Se muestrea cada 60 segundos.
Bytes de tasa de aciertos Proyecto El porcentaje de bytes que se sirven desde todas las cachés de un cubo en relación con el total de bytes aptos para la caché. Se muestrea cada 60 segundos.
Bytes sin procesar de la tasa de ingestión Segmento La tasa de bytes sin procesar insertados en cada caché. Se muestrea cada 60 segundos. Todos los bytes ingeridos, incluidos los no facturables, se utilizan para calcular el valor de esta métrica. Esta métrica se registra en tiempo real.
Bytes sin procesar de la tasa de ingestión Proyecto La tasa de bytes sin procesar insertados en todas las cachés de un cubo. Se muestrea cada 60 segundos. Todos los bytes ingeridos, incluidos los no facturables, se usan para calcular el valor de esta métrica. Esta métrica se registra en tiempo real.
Rendimiento: acierto de caché Segmento El rendimiento servido desde la caché, muestreado cada 60 segundos.
Rendimiento: acierto de caché Proyecto El rendimiento proporcionado por todas las cachés de un cubo. Se muestrea cada 60 segundos.
Rendimiento: fallo de caché Segmento El rendimiento que no se sirve desde la caché. Se muestrea cada 60 segundos.
Rendimiento: fallo de caché Proyecto El rendimiento que no se sirve desde ninguna de las cachés de un cubo. Se muestrea cada 60 segundos.

Acceder a los gráficos

Los gráficos de monitorización registran datos de un solo contenedor o de todos los contenedores de un proyecto. El nivel de jerarquía de recursos que abarca un gráfico determina dónde puedes acceder a él.

Acceder a gráficos a nivel de segmento

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En la lista de segmentos, haga clic en el nombre del segmento del que quiera ver los gráficos de monitorización.

  3. En la página Detalles del segmento, haga clic en la pestaña Observabilidad.

  4. En el menú de navegación, selecciona Anywhere Cache.

    Se muestran los gráficos de monitorización.

Acceder a gráficos a nivel de proyecto

  1. En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.

    Ir a Contenedores

  2. En el panel de navegación Cloud Storage, haga clic en Monitorización.

  3. En la barra de menú, haz clic en Anywhere Cache.

    Se muestran los gráficos de monitorización.

Usar operaciones de larga duración

Cuando se ejecutan correctamente, las operaciones AnywhereCaches Create y Update inician una operación de larga duración. Puedes obtener y enumerar operaciones de larga duración para ver los detalles y el estado de la operación de AnywhereCache subyacente, o cancelar una operación de larga duración para cancelar la operación de AnywhereCache subyacente mientras está en curso.

Para obtener instrucciones sobre cómo usar operaciones de larga duración en Anywhere Cache, consulta Usar operaciones de larga duración.

En el siguiente ejemplo se muestra una operación de larga duración que se inicia desde una operación Create de 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

Reintentos

Las APIs de AnywhereCache asíncronas son idempotentes de forma predeterminada. Esto significa que puedes volver a intentar de forma segura las llamadas asíncronas a la API AnywhereCaches sin preocuparte por modificar recursos sin querer.

Por ejemplo, supongamos que realizas una operación de creación de AnywhereCaches para crear una caché en us-central1-a, que se completa correctamente. Si realizas una operación de creación de AnywherCaches posterior con la misma zona que se completa correctamente, la solicitud devuelve la misma operación de larga duración que la solicitud anterior. Ten en cuenta que este comportamiento solo se produce si incluyes un request_id como parte de tu solicitud de creación de caché. Si no se incluye un request_id, se produce un error ANYWHERE_CACHE_ALREADY_EXISTS al intentar crear una caché que ya existe. Para obtener información sobre cómo incluir un request_id, consulta Solicitar identificación.

Siguientes pasos

Recibe recomendaciones sobre qué segmentos y zonas crear para la caché.