Crea y administra cachés de Anywhere Cache

En esta página, se muestra cómo crear y administrar instancias de caché de Anywhere Cache.

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

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

Antes de comenzar

Para obtener los permisos que necesitas para crear y administrar cachés de Anywhere Cache, pídele a tu administrador que te otorgue el rol de IAM de Administrador de almacenamiento (roles/storage.admin) en el bucket para el que quieres crear cachés.

Este rol predefinido contiene los permisos necesarios para crear y administrar cachés de Anywhere Cache. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear y administrar cachés de Anywhere Cache:

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

También puedes obtener estos permisos con roles personalizados.

Para obtener más información sobre cómo otorgar roles en los buckets, consulta Usa IAM con buckets.

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

Crea una caché

Console

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

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket para el que deseas almacenar datos en caché.

  3. En la página de detalles del bucket haz clic en la pestaña Configuración.

  4. En la sección Anywhere Cache, haz clic en Configurar caché.

    Aparecerá la página Editar configuración para <your_bucket_name> de tu bucket.

  5. En la sección Regiones de caché, haz clic en la región que contiene las zonas en las que deseas crear una caché.

  6. En la sección Zonas de caché, selecciona las zonas en las que deseas crear una caché. Para cada zona que selecciones, especifica un Tiempo de actividad y una opción de Ingestión para la caché.

  7. Haga clic en Guardar configuración.

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

    Se abrirá la pestaña Operaciones en la página Detalles del bucket, en la que se muestra el estado del trabajo de la operación de creación de caché.

También puedes ver el estado de la caché de un bucket directamente desde la página Lista de buckets. Para ello, completa los siguientes pasos:

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

    Ir a Buckets

  2. Haz clic en el ícono de Ver columna (), selecciona Caché y, luego, 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

Reemplaza lo siguiente:

  • BUCKET_NAME por el nombre del bucket para el que deseas 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.

Configura las siguientes marcas opcionales para tener un mayor control sobre la creación de la caché:

  • --ttl: Especifica el tiempo de actividad (TTL) de los datos en la caché, en segundos. Si no se especifica, el valor predeterminado es 86400s (24 horas).

  • --admission-policy: Especifica en qué momento se transfieren los datos a la caché. Los valores pueden ser ADMIT_ON_FIRST_MISS o ADMIT_ON_SECOND_MISS. Si no se especifica, el valor predeterminado es ADMIT_ON_FIRST_MISS.

Si se ejecuta correctamente, el comando devuelve el ID de la operación de larga duración asociada con 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 AnywhereCaches antes de que se complete.

Bibliotecas cliente

C++

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 documentación de google_storage_anywhere_cache de Terraform para obtener detalles sobre cómo usar Anywhere Cache con Terraform.

API de REST

API de JSON

  1. Tener la gcloud CLI instalada e inicializada, lo 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"
    }

    Reemplaza lo siguiente:

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

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

    • 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, el valor predeterminado es admit-on-first-miss.

  3. Usa cURL para llamar a la API de 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"

    Reemplaza lo siguiente:

    • JSON_FILE_NAME por el nombre del archivo JSON que creaste en el paso 2.

    • BUCKET_NAME por el nombre del bucket para el que deseas almacenar datos en caché. Por ejemplo, my-bucket

Si la operación se realiza correctamente, se muestra un google.longrunning.Operation. Puedes obtener detalles sobre la operación de larga duración o cancelarla para detener la operación de creación de AnywhereCaches antes de que se complete.

Cómo ver una caché

Console

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

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket asociado con la caché que deseas ver.

  3. En la página de detalles del bucket haz clic en la pestaña Configuración.

  4. En la sección Anywhere Cache, 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 memorias caché dentro de las zonas de la región.

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

Línea de comandos

Usa el comando gcloud storage buckets anywhere-caches describe:

gcloud storage buckets anywhere-caches describe ID

Reemplaza lo siguiente:

  • 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 generar una respuesta sin procesar de la API en lugar de una respuesta estandarizada de la API.

Si se completa correctamente, el comando devuelve un recurso de AnywhereCache.

Bibliotecas cliente

C++

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 documentación de google_storage_anywhere_cache de Terraform para obtener detalles sobre cómo usar Anywhere Cache con Terraform.

API de REST

API de JSON

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

  2. Usa cURL para llamar a la API de 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"

    Reemplaza lo siguiente:

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

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

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

Enumera cachés

Console

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

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket asociado con las cachés que deseas ver.

  3. En la página de detalles del bucket haz clic en la pestaña Configuración.

  4. En la sección Anywhere Cache, 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 memorias caché dentro de las zonas de esa región.

    Todas las memorias caché disponibles para las zonas dentro 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

Reemplaza lo siguiente:

  • BUCKET_NAME con el nombre del bucket asociado con los cachés que deseas enumerar. Por ejemplo, my-bucket

Si se ejecuta correctamente, el comando devuelve una lista de recursos de AnywhereCache.

De manera opcional, puedes usar la marca --raw para devolver una respuesta sin procesar de la API en lugar de una respuesta estandarizada. Para obtener más información sobre el control del comportamiento de las listas, como la paginación de los resultados, consulta la documentación de gcloud storage ls.

Bibliotecas cliente

C++

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 documentación de google_storage_anywhere_cache de Terraform para obtener detalles sobre cómo usar Anywhere Cache con Terraform.

API de REST

API de JSON

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

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

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

    Reemplaza lo siguiente:

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

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

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

Actualiza una caché

Console

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

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket asociado con la caché que deseas actualizar.

  3. En la página Detalles del bucket, haz clic en la pestaña Observabilidad y, luego, en Anywhere Cache en el menú de navegación.

  4. Haz clic en Editar configuración.

  5. En la página Editar configuración que aparece, actualiza las propiedades de la caché y, luego, haz clic en Guardar.

Línea de comandos

Usa el comando gcloud storage buckets anywhere-caches update:

gcloud storage buckets anywhere-caches update ID

Reemplaza lo siguiente:

  • 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, puedes 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 una marca, el valor no se modifica.

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

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

Si se ejecuta correctamente, el comando devuelve el ID de la operación sin procesar de larga duración asociada con la operación de actualización de Anywhere Cache. Puedes obtener detalles sobre la operación de larga duración.

Bibliotecas cliente

C++

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 documentación de google_storage_anywhere_cache de Terraform para obtener detalles sobre cómo usar Anywhere Cache con Terraform.

API de REST

API de JSON

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

  2. Crea un archivo JSON que incluya cambios en las propiedades de la caché que deseas actualizar.

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

    Reemplaza lo siguiente:

    • TIME_TO_LIVE con el TTL de los datos en la caché. El valor puede ser de 1 hora a 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 que ingiera datos en el segundo error:

    {
       "ttl": "172800s",
       "admissionPolicy": "admit-on-second-miss"
    }
  3. Para aplicar las nuevas propiedades, usa cURL para llamar a la API de 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"

    Reemplaza lo siguiente:

    • JSON_FILE_NAME por el nombre del archivo JSON que creaste en el paso 2.

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

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

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

Cómo pausar una caché

Console

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

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket asociado con la caché que deseas pausar.

  3. En la página Detalles del bucket, haz clic en la pestaña Observabilidad y, luego, en Anywhere Cache 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 ícono de 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

Reemplaza lo siguiente:

  • 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 memorias caché a la vez, puedes especificar varios identificadores. Por ejemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

Si se ejecuta correctamente, el comando mostrará un mensaje de éxito.

Bibliotecas cliente

C++

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 documentación de google_storage_anywhere_cache de Terraform para obtener detalles sobre cómo usar Anywhere Cache con Terraform.

API de REST

API de JSON

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

  2. Usa cURL para llamar a la API de 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"

    Reemplaza lo siguiente:

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

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

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

Cómo reanudar una caché

Console

Para reanudar una caché que se detuvo, completa las siguientes instrucciones:

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

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket asociado con la caché que deseas reanudar.

  3. En la página Detalles del bucket, haz clic en la pestaña Observabilidad y, luego, en Anywhere Cache 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 ícono de Reanudar caché ().

  6. Haz clic en Cerrar.

Para reanudar una caché que se inhabilitó, completa las siguientes instrucciones:

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

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket asociado con la caché que deseas reanudar.

  3. En la página Detalles del bucket, haz clic en la pestaña Observabilidad y, luego, en Anywhere Cache en el menú de navegación.

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

  5. En el panel que aparece, haz clic en el ícono de 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

Reemplaza lo siguiente:

  • 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 completa correctamente, el comando devuelve un recurso de AnywhereCache con formato.

Bibliotecas cliente

C++

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 documentación de google_storage_anywhere_cache de Terraform para obtener detalles sobre cómo usar Anywhere Cache con Terraform.

API de REST

API de JSON

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

  2. Usa cURL para llamar a la API de 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"

    Reemplaza lo siguiente:

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

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

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

Cómo inhabilitar una caché

Console

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

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket asociado con la caché que deseas inhabilitar.

  3. En la página Detalles del bucket, haz clic en la pestaña Observabilidad y, luego, en Anywhere Cache en el menú de navegación.

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

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

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

  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

Reemplaza lo siguiente:

  • 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 memorias caché a la vez, puedes especificar varios identificadores. Por ejemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

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

Bibliotecas cliente

C++

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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

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

Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas 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 documentación de google_storage_anywhere_cache de Terraform para obtener detalles sobre cómo usar Anywhere Cache con Terraform.

API de REST

API de JSON

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

  2. Usa cURL para llamar a la API de 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"

    Reemplaza lo siguiente:

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

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

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

Supervisa el rendimiento de la caché

La sección de Cloud Storage de la consola de Google Cloud proporciona gráficos de supervisión que te permiten hacer un seguimiento del rendimiento de tus memorias caché con métricas. También puedes ver estos gráficos de supervisión con Cloud Monitoring.

Gráficos disponibles

Gráfico Nivel de jerarquía de recursos Descripción
Tasa de expulsión de bytes Bucket Es la tasa de bytes expulsados de la caché, de la que se toman muestras cada hora. Estos datos se actualizan más de una vez por hora para permitir el procesamiento posterior de los datos.
Tasa de expulsión de bytes Proyecto Es la tasa de bytes expulsados de todas las cachés de un bucket, muestreada cada hora. Estos datos se actualizan más de una vez por hora para permitir el procesamiento posterior de los datos.
Bytes en la caché Bucket Es la tasa de bytes en la caché, de la que se toma una muestra cada hora. Estos datos se actualizan más de una vez por hora para permitir el procesamiento posterior de los datos.
Bytes en la caché Proyecto Es la tasa de bytes en todas las cachés de un bucket, muestreada cada hora. Estos datos se actualizan más de una vez por hora para permitir el procesamiento posterior de los datos.
Beneficio de capacidad de procesamiento de caché Proyecto La tasa de la cuota de ancho de banda de transferencia de datos para la región, la región doble o la región múltiple, el uso de la cuota y la capacidad de procesamiento adicional que entrega la caché. La capacidad de procesamiento adicional que entrega la caché no se tiene en cuenta para la cuota. Por lo tanto, el uso de la caché permite que los proyectos excedan la capacidad de procesamiento permitida por la cuota.
Operaciones de tasa de aciertos Bucket Porcentaje de operaciones de caché que entregan los datos solicitados desde la caché en relación con el total de operaciones aptas para caché, muestreadas cada 60 segundos. Si una lectura se devuelve por completo 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 como un error.
Operaciones de tasa de aciertos Proyecto Porcentaje de operaciones de caché que entregan los datos solicitados desde todas las cachés de un bucket en relación con el total de operaciones aptas para caché, con muestras tomadas cada 60 segundos. Si una lectura se devuelve por completo 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 como un error.
Bytes de tasa de aciertos Bucket Es el porcentaje de bytes que se entregan desde la caché en relación con el total de bytes aptos para caché. Se toman muestras cada 60 segundos.
Bytes de tasa de aciertos Proyecto Es el porcentaje de bytes que se entregan desde todas las cachés de un bucket en relación con el total de bytes aptos para caché. Se toman muestras cada 60 segundos.
Tasa de transferencia de bytes sin procesar Bucket La tasa de bytes sin procesar transferidos a cada caché, con muestras tomadas cada 60 segundos. Todos los bytes transferidos, incluidos los que no son facturables, se usan para calcular el valor de esta métrica. Esta métrica se informa en tiempo real.
Tasa de transferencia de bytes sin procesar Proyecto Es la tasa de bytes sin procesar transferidos a todas las cachés de un bucket, con muestras tomadas cada 60 segundos. Todos los bytes transferidos, incluidos los que no son facturables, se usan para calcular el valor de esta métrica. Esta métrica se informa en tiempo real.
Capacidad de procesamiento: Acierto de caché Bucket Es la capacidad de procesamiento que se entrega desde la caché, con muestreo cada 60 segundos.
Capacidad de procesamiento: Acierto de caché Proyecto Es la capacidad de procesamiento que se entrega desde todas las cachés de un bucket, con muestreo cada 60 segundos.
Capacidad de procesamiento: Error de caché Bucket Es la capacidad de procesamiento que no se entrega desde la caché, con muestreo cada 60 segundos.
Capacidad de procesamiento: Error de caché Proyecto Es la capacidad de procesamiento que no se entrega desde ninguna de las cachés de un bucket, con muestreo cada 60 segundos.

Gráficos de acceso

Los gráficos de supervisión capturan datos de buckets individuales o de todos los buckets de un proyecto. El nivel de jerarquía de recursos que captura un gráfico determina dónde puedes acceder a él.

Accede a gráficos a nivel del bucket

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

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket para el que deseas ver los gráficos de supervisión.

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

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

    Se muestran los gráficos de Monitoring.

Accede a los gráficos a nivel del proyecto

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

    Ir a Buckets

  2. En el panel de navegación de Cloud Storage, haz clic en Monitoring.

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

    Se muestran los gráficos de Monitoring.

Usa 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 subyacente de AnywhereCaches, o cancelar una operación de larga duración para cancelar la operación subyacente de AnywhereCaches mientras está en curso.

Para obtener instrucciones sobre el uso de operaciones de larga duración para Anywhere Cache, consulta Usa 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 de creación 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 reintentar de manera segura las llamadas a la API de AnywhereCache asíncronas sin preocuparte por modificar los recursos de forma involuntaria.

Por ejemplo, supongamos que realizas una operación de creación de AnywhereCache para crear una caché en us-central1-a, que se realiza correctamente. Si realizas una operación de creación de AnywhereCache posterior con la misma zona que se completa correctamente, la solicitud devolverá 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, recibirás un error ANYWHERE_CACHE_ALREADY_EXISTS cuando intentes crear una caché que ya existe. Para obtener información sobre cómo incluir un request_id, consulta Duplicación de solicitudes.

¿Qué sigue?

Obtén recomendaciones sobre qué buckets y zonas crear una caché.