Crie e faça a gestão de caches da Anywhere Cache

Esta página mostra como criar e gerir instâncias da cache da Anywhere Cache.

Para ver informações sobre como usar e gerir operações de longa duração iniciadas a partir da cache em qualquer lugar como operações de cache assíncronas, consulte o artigo Use operações de longa duração.

Antes de usar a cache em qualquer lugar, reveja as limitações e restrições.

Antes de começar

Para obter as autorizações de que precisa para criar e gerir caches do Anywhere Cache, peça ao seu administrador para lhe conceder a função do IAM de administrador do armazenamento (roles/storage.admin) no contentor para o qual quer criar caches.

Esta função predefinida contém as autorizações necessárias para criar e gerir caches do Anywhere Cache. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para criar e gerir caches da Anywhere Cache:

  • storage.anywhereCaches.disable (necessário para desativar caches)
  • storage.anywhereCaches.get (necessário para obter caches)
  • storage.anywhereCaches.create (necessário para criar caches)
  • storage.anywhereCaches.list (obrigatório para listar caches)
  • storage.anywhereCaches.pause (necessário para pausar caches)
  • storage.anywhereCaches.resume (obrigatório para retomar caches)
  • storage.anywhereCaches.update (necessário para atualizar caches)

Também pode obter estas autorizações com funções personalizadas.

Para ver informações sobre a concessão de funções em contentores, consulte o artigo Use o IAM com contentores.

Para gerir operações de longa duração iniciadas a partir de métodos de cache em qualquer lugar, pode precisar de funções e autorizações adicionais. Consulte as funções necessárias para operações de longa duração para saber mais.

Crie uma cache

Consola

Para criar uma cache num contentor existente:

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Na lista de contentores, clique no nome do contentor para o qual quer colocar dados em cache.

  3. Na página Detalhes do contentor, clique no separador Configuração.

  4. Na secção Cache em qualquer lugar, clique em Configurar cache.

    É apresentada a página Configurar cache para o seu contentor.

  5. Na secção Regiões da cache, clique na região que contém as zonas nas quais quer criar uma cache.

  6. Na secção Zonas de cache, selecione as zonas nas quais quer criar uma cache. Para cada zona que selecionar, especifique um Tempo de vida e uma opção Carregar no segundo acesso para a cache.

  7. Clique em Guardar configuração.

  8. Na caixa de diálogo apresentada, clique em Confirmar.

    É aberto o separador Operações na página Detalhes do contentor, que lhe mostra o estado da tarefa da operação de criação de cache.

Para criar uma cache como parte da criação de um novo contentor, siga as instruções em Crie um novo contentor.

Para ver o estado da cache de um contentor na página Lista de contentores:

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Clique no ícone Coluna de visualização (), selecione Cache e, de seguida, clique em OK.

Linha de comandos

Use o comando gcloud storage buckets anywhere-caches create:

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

Substituição:

  • BUCKET_NAME com o nome do contentor para o qual quer colocar dados em cache. Por exemplo, my-bucket.

  • ZONE com a zona em que a cache vai ser executada. Por exemplo, us-east1-b.

    Para criar várias caches de uma só vez, pode especificar várias zonas. Por exemplo, us-east1-b us-east1-c us-east1-d.

Defina as seguintes flags opcionais para ter maior controlo sobre a criação da cache:

  • --ttl: especifique o tempo de vida (TTL) dos dados na cache, em segundos. Os valores podem ser expressos em segundos, minutos, horas e dias. Por exemplo:

    • 86400s durante 86 400 segundos
    • 1440m durante 1440 minutos
    • 24h durante 24 horas
    • 1d durante 1 dia

    Se não for especificado, o valor predefinido é 86400s (1 dia).

  • --admission-policy: especifique em que momento os dados são carregados na cache. Os valores aceitáveis são ADMIT_ON_FIRST_MISS e ADMIT_ON_SECOND_MISS. Se não for especificado, o valor predefinido é ADMIT_ON_FIRST_MISS.

Se for bem-sucedido, o comando devolve o ID da operação de longa duração associada à operação de criação do AnywhereCache. Pode obter detalhes sobre a operação de longa duração ou cancelar a operação de longa duração para parar a operação de criação de AnywhereCaches antes de ser concluída.

Bibliotecas cliente

C++

Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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 mais informações, consulte a documentação de referência da API Java do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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

Consulte a google_storage_anywhere_cache documentação do Terraform para ver detalhes sobre como usar a cache em qualquer lugar com o Terraform.

APIs REST

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Crie um ficheiro JSON que contenha as seguintes informações:

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

    Substituição:

    • ZONE com a zona em que a cache vai ser executada. Por exemplo, us-east1-b.

    • TIME_TO_LIVE com o tempo de vida (TTL) dos dados na cache. O valor pode estar compreendido entre 1 hora e 7 dias, especificado em segundos. Se não for especificado, o valor predefinido é 86400s (1 dia).

    • ADMISSION_POLICY com a política de admissão da cache, que especifica quando os dados são carregados. Os valores podem ser admit-on-first-miss ou admit-on-second-miss. Se não for especificado, o valor predefinido é admit-on-first-miss.

  3. Use cURL para chamar a API JSON com um pedido para criar uma 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"

    Substituição:

    • JSON_FILE_NAME com o nome do ficheiro JSON que criou no passo 2.

    • BUCKET_NAME com o nome do contentor para o qual quer colocar dados em cache. Por exemplo, my-bucket.

Se for bem-sucedida, a operação devolve um google.longrunning.Operation. Pode obter detalhes sobre a operação de longa duração ou cancelar a operação de longa duração para parar a operação de criação de AnywhereCaches antes de ser concluída.

Ver uma cache

Consola

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Na lista de contentores, clique no nome do contentor associado à cache que quer ver.

  3. Na página Detalhes do contentor, clique no separador Configuração.

  4. Na secção Cache em qualquer lugar, clique em Editar junto ao campo Cache.

  5. Na página Editar configuração apresentada, selecione uma região para ver todas as caches nas zonas da região.

    No painel Zonas de cache, pode ver detalhes sobre cada cache disponível.

Linha de comandos

Use o comando gcloud storage buckets anywhere-caches describe:

gcloud storage buckets anywhere-caches describe ID

Substituição:

  • ID com o identificador da instância de cache, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por exemplo, my-bucket/us-east1-b.

Use a flag raw opcional para gerar uma resposta da API não processada em vez de uma resposta da API padronizada.

Se for bem-sucedido, o comando devolve um recurso AnywhereCache.

Bibliotecas cliente

C++

Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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 mais informações, consulte a documentação de referência da API Java do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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

Consulte a google_storage_anywhere_cache documentação do Terraform para ver detalhes sobre como usar a cache em qualquer lugar com o Terraform.

APIs REST

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a API JSON com um pedido para obter uma 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"

    Substituição:

    • BUCKET_NAME com o nome do contentor associado à cache que quer obter. Por exemplo, my-bucket.

    • ANYWHERE_CACHE_ID com a zona em que a cache está localizada. Por exemplo, us-east1-b.

Se for bem-sucedida, esta operação devolve um recurso AnywhereCache.

Listar caches

Consola

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Na lista de contentores, clique no nome do contentor associado às caches que quer ver.

  3. Na página Detalhes do contentor, clique no separador Configuração.

  4. Na secção Cache em qualquer lugar, clique em Editar junto ao campo Cache.

  5. Na página Editar configuração apresentada, selecione uma região para ver todas as caches nas zonas dessa região.

    Todas as caches disponíveis para zonas na região aparecem no painel Zonas de cache.

Linha de comandos

Use o comando gcloud storage buckets anywhere-caches list:

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

Substituição:

  • BUCKET_NAME com o nome do contentor associado às caches que quer listar. Por exemplo, my-bucket.

Se for bem-sucedido, o comando devolve uma lista de recursos AnywhereCache.

Opcionalmente, pode usar a flag --raw para devolver uma resposta da API não processada em vez de uma resposta padronizada. Para mais informações sobre como controlar os comportamentos das fichas, como paginar os resultados, consulte a documentação gcloud storage ls.

Bibliotecas cliente

C++

Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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 mais informações, consulte a documentação de referência da API Java do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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

Consulte a google_storage_anywhere_cache documentação do Terraform para ver detalhes sobre como usar a cache em qualquer lugar com o Terraform.

APIs REST

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a API JSON com um pedido para listar as caches:

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

    Substituição:

    • BUCKET_NAME com o nome do contentor associado às caches que quer obter. Por exemplo, my-bucket.

    Quando lista várias caches, pode paginar os resultados.

Se for bem-sucedida, esta operação devolve uma lista de recursos AnywhereCache. Para ver detalhes sobre a estrutura desta resposta, consulte a resposta na documentação da lista AnywhereCaches.

Atualize uma cache

Consola

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Na lista de contentores, clique no nome do contentor associado à cache que quer atualizar.

  3. Na página Detalhes do contentor, clique no separador Observabilidade e, de seguida, clique em Cache em qualquer lugar no menu de navegação.

  4. Clique em Editar configuração.

  5. Na página Editar configuração apresentada, atualize as propriedades da cache e, de seguida, clique em Guardar.

Linha de comandos

Use o comando gcloud storage buckets anywhere-caches update:

gcloud storage buckets anywhere-caches update ID

Substituição:

  • ID com o identificador da instância de cache, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por exemplo, my-bucket/us-east1-b.

    Para atualizar várias caches em simultâneo, pode especificar vários identificadores. Por exemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

Use as flags seguintes para atualizar a configuração da cache. Se não for especificado um sinalizador, o valor permanece inalterado.

  • --ttl: especifique o tempo de vida (TTL) dos dados na cache, em segundos.

  • --admission-policy: especifique em que momento os dados são carregados na cache. Os valores podem ser ADMIT_ON_FIRST_MISS ou ADMIT_ON_SECOND_MISS.

Se for bem-sucedido, o comando devolve o ID da operação de longa duração não processada associada à operação de atualização do AnywhereCache. Pode ver detalhes sobre a operação de longa duração.

Bibliotecas cliente

C++

Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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 mais informações, consulte a documentação de referência da API Java do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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

Consulte a google_storage_anywhere_cache documentação do Terraform para ver detalhes sobre como usar a cache em qualquer lugar com o Terraform.

APIs REST

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Crie um ficheiro JSON que inclua as alterações às propriedades da cache que quer atualizar.

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

    Substituição:

    • TIME_TO_LIVE com o TTL dos dados na cache. O valor pode estar entre 1 hora e 7 dias, especificado em segundos. Se não for especificado, o valor atual continua a ser usado.

    • ADMISSION_POLICY com a política de admissão da cache, que especifica quando os dados são carregados. Os valores podem ser admit-on-first-miss ou admit-on-second-miss. Se não for especificado, o valor atual continua a ser usado.

    O exemplo seguinte atualiza o TTL da cache para 2 dias e a respetiva política de admissão para introduzir dados na segunda falha:

    {
       "ttl": "172800s",
       "admissionPolicy": "admit-on-second-miss"
    }
  3. Para aplicar as novas propriedades, use cURL para chamar a API JSON com um pedido de atualização da 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"

    Substituição:

    • JSON_FILE_NAME com o nome do ficheiro JSON que criou no passo 2.

    • BUCKET_NAME com o nome do contentor associado à cache que quer atualizar. Por exemplo, my-bucket.

    • ANYWHERE_CACHE_ID com o identificador da cache. Por exemplo, us-east1-b.

Se for bem-sucedida, a operação devolve um google.longrunning.Operation. Pode ver detalhes sobre a operação de longa duração.

Pause uma cache

Consola

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Na lista de contentores, clique no nome do contentor associado à cache que quer pausar.

  3. Na página Detalhes do contentor, clique no separador Observabilidade e, de seguida, clique em Cache em qualquer lugar no menu de navegação.

  4. Clique em Pausar/retomar caches.

  5. No painel apresentado, clique no ícone Pausar cache ().

  6. Clique em Fechar.

Linha de comandos

Use o comando gcloud storage buckets anywhere-caches pause:

gcloud storage buckets anywhere-caches pause ID

Substituição:

  • ID com o identificador da instância de cache, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por exemplo, my-bucket/us-east1-b.

    Para pausar várias caches em simultâneo, pode especificar vários identificadores. Por exemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

Se for bem-sucedido, o comando devolve uma mensagem de êxito.

Bibliotecas cliente

C++

Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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 mais informações, consulte a documentação de referência da API Java do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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

Consulte a google_storage_anywhere_cache documentação do Terraform para ver detalhes sobre como usar a cache em qualquer lugar com o Terraform.

APIs REST

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a API JSON com um pedido para pausar uma 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"

    Substituição:

    • BUCKET_NAME com o nome do contentor associado à cache que quer pausar. Por exemplo, my-bucket.

    • ANYWHERE_CACHE_ID com o identificador da cache. Por exemplo, us-east1-b.

Se for bem-sucedida, a operação devolve um recurso AnywhereCache formatado.

Retome uma cache

Consola

Para retomar uma cache que foi pausada, siga estas instruções:

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Na lista de contentores, clique no nome do contentor associado à cache que quer retomar.

  3. Na página Detalhes do contentor, clique no separador Observabilidade e, de seguida, clique em Cache em qualquer lugar no menu de navegação.

  4. Clique em Pausar/retomar caches.

  5. No painel apresentado, clique no ícone Retomar cache ().

  6. Clique em Fechar.

Para retomar uma cache que foi desativada, conclua as seguintes instruções:

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Na lista de contentores, clique no nome do contentor associado à cache que quer retomar.

  3. Na página Detalhes do contentor, clique no separador Observabilidade e, de seguida, clique em Cache em qualquer lugar no menu de navegação.

  4. Clique em Desativar/retomar caches.

  5. No painel apresentado, clique no ícone Retomar cache ().

  6. Clique em Fechar.

Linha de comandos

Use o comando gcloud storage buckets anywhere-caches resume:

gcloud storage buckets anywhere-caches resume ID

Substituição:

  • ID com o identificador da instância de cache, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por exemplo, my-bucket/us-east1-b.

    Para retomar várias caches em simultâneo, pode especificar vários identificadores. Por exemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

Se for bem-sucedido, o comando devolve um recurso AnywhereCache formatado.

Bibliotecas cliente

C++

Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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 mais informações, consulte a documentação de referência da API Java do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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

Consulte a google_storage_anywhere_cache documentação do Terraform para ver detalhes sobre como usar a cache em qualquer lugar com o Terraform.

APIs REST

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a API JSON com um pedido para retomar uma 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"

    Substituição:

    • BUCKET_NAME com o nome do contentor associado à cache que quer retomar. Por exemplo, my-bucket.

    • ANYWHERE_CACHE_ID com o identificador da cache. Por exemplo, us-east1-b.

Se for bem-sucedida, a operação devolve um recurso AnywhereCache formatado.

Desative uma cache

Consola

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Na lista de contentores, clique no nome do contentor associado à cache que quer desativar.

  3. Na página Detalhes do contentor, clique no separador Observabilidade e, de seguida, clique em Cache em qualquer lugar no menu de navegação.

  4. Clique em Desativar/retomar caches.

  5. No painel apresentado, clique no ícone Desativar cache ().

  6. Na caixa de diálogo apresentada, clique em Confirmar.

  7. Clique em Fechar.

Linha de comandos

Use o comando gcloud storage buckets anywhere-caches disable:

gcloud storage buckets anywhere-caches disable ID

Substituição:

  • ID com o identificador da instância de cache, formulado como BUCKET_NAME/ANYWHERE_CACHE_ID. Por exemplo, my-bucket/us-east1-b.

    Para desativar várias caches em simultâneo, pode especificar vários identificadores. Por exemplo, my-bucket/us-east1-b my-bucket/us-east1-c.

Se for bem-sucedido, o comando devolve um recurso AnywhereCache formatado.

Bibliotecas cliente

C++

Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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 mais informações, consulte a documentação de referência da API Java do Cloud Storage.

Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação 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

Consulte a google_storage_anywhere_cache documentação do Terraform para ver detalhes sobre como usar a cache em qualquer lugar com o Terraform.

APIs REST

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a API JSON com um pedido para desativar uma 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"

    Substituição:

    • BUCKET_NAME com o nome do contentor associado à cache que quer desativar. Por exemplo, my-bucket.

    • ANYWHERE_CACHE_ID com o identificador da cache. Por exemplo, us-east1-b.

Se for bem-sucedido, o comando devolve um recurso AnywhereCache formatado.

Monitorize o desempenho da cache

A parte do Cloud Storage da Google Cloud consola fornece gráficos de monitorização que lhe permitem acompanhar o desempenho das suas caches através de métricas. Também pode ver estes gráficos de monitorização através do Cloud Monitoring.

Gráficos disponíveis

Gráfico Nível da hierarquia de recursos Descrição
Taxa de remoção de bytes Grupo A taxa de bytes removidos da cache, amostrada a cada hora. Estes dados são atualizados mais de uma vez por hora para permitir tempo para o pós-processamento dos dados.
Taxa de remoção de bytes Projeto A taxa de bytes removidos de todas as caches de um depósito, amostrada a cada hora. Estes dados são atualizados mais de uma vez por hora para dar tempo para o pós-processamento dos dados.
Bytes na cache Grupo O número de bytes na cache, amostrado a cada hora. Estes dados são atualizados mais de uma vez por hora para permitir tempo para o pós-processamento dos dados.
Bytes na cache Projeto O número de bytes em todas as caches de um contentor, amostrado a cada hora. Estes dados são atualizados mais de uma vez por hora para permitir tempo para o pós-processamento dos dados.
Vantagem do débito da cache Projeto A taxa da quota de largura de banda de transferência de dados para a região, a região dupla ou a região múltipla, a utilização da quota e o débito adicional apresentado pela cache. A taxa de transferência adicional fornecida pela cache não conta para a quota. Por conseguinte, a utilização da cache permite que os projetos excedam a taxa de transferência permitida pela quota.
Operações de taxa de acerto Grupo A percentagem de operações de cache que publicam os dados pedidos a partir da cache em relação ao total de operações elegíveis para a cache, amostradas a cada 60 segundos. Se uma leitura for devolvida completamente a partir da cache, a operação conta como um resultado positivo. Se a leitura não for devolvida a partir da cache ou for devolvida apenas parcialmente a partir da cache, a operação conta como uma falha.
Operações de taxa de acerto Projeto A percentagem de operações de cache que publicam os dados pedidos de todas as caches de um contentor em relação ao total de operações elegíveis para cache, amostradas durante 60 segundos. Se uma leitura for devolvida completamente a partir da cache, a operação conta como um acerto. Se a leitura não for devolvida a partir da cache ou for devolvida apenas parcialmente a partir da cache, a operação conta como uma falha.
Bytes da taxa de resultados Grupo A percentagem de bytes publicados a partir da cache em relação ao total de bytes elegíveis para a cache, amostrados a cada 60 segundos.
Bytes da taxa de resultados Projeto A percentagem de bytes publicados a partir de todas as caches para um contentor em relação ao total de bytes elegíveis para a cache, amostrados a cada 60 segundos.
Bytes não processados da taxa de carregamento Grupo A taxa de bytes não processados carregados em cada cache, amostrada a cada 60 segundos. Todos os bytes carregados, incluindo os bytes não faturáveis, são usados no cálculo do valor desta métrica. Esta métrica é comunicada em tempo real.
Bytes não processados da taxa de carregamento Projeto A taxa de bytes não processados carregados em todas as caches de um contentor, com amostragem a cada 60 segundos. Todos os bytes carregados, incluindo os bytes não faturáveis, são usados no cálculo do valor desta métrica. Esta métrica é comunicada em tempo real.
Débito – Resultado da cache Grupo A taxa de transferência publicada a partir da cache, amostrada a cada 60 segundos.
Débito – Resultado da cache Projeto O débito publicado a partir de todas as caches para um depósito, amostrado a cada 60 segundos.
Débito: falha de cache Grupo A taxa de transferência que não é publicada a partir da cache, é amostrada a cada 60 segundos.
Débito: falha de cache Projeto A taxa de transferência que não é fornecida a partir de nenhuma das caches de um contentor, amostrada a cada 60 segundos.

Aceda a gráficos

Os gráficos de monitorização captam dados para contentores individuais ou para todos os contentores num projeto. O nível da hierarquia de recursos que um gráfico capta determina onde pode aceder ao gráfico.

Aceda aos gráficos ao nível do contentor

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. Na lista de contentores, clique no nome do contentor para o qual quer ver gráficos de monitorização.

  3. Na página Detalhes do contentor, clique no separador Observabilidade.

  4. No menu de navegação, selecione Anywhere Cache.

    São apresentados gráficos de monitorização.

Aceda aos gráficos ao nível do projeto

  1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

    Aceda a Recipientes

  2. No painel de navegação do Cloud Storage, clique em Monitorização.

  3. Na barra de menu, clique em Anywhere Cache.

    São apresentados gráficos de monitorização.

Use operações de longa duração

Quando executadas com êxito, as operações AnywhereCaches Create e Update iniciam uma operação de longa duração. Pode obter e listar operações de longa duração para ver os detalhes e o estado da operação AnywhereCaches subjacente ou cancelar uma operação de longa duração para cancelar a operação AnywhereCaches subjacente enquanto está em curso.

Para obter instruções sobre como usar operações de longa duração para a cache em qualquer lugar, consulte o artigo Use operações de longa duração.

O exemplo seguinte mostra uma operação de longa duração iniciada a partir de uma operação de criação 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

Novas tentativas

As APIs Asynchronous AnywhereCaches são idempotentes por predefinição. Isto significa que pode tentar novamente as chamadas da API AnywhereCaches assíncronas em segurança sem se preocupar em modificar recursos involuntariamente.

Por exemplo, suponhamos que executa uma operação AnywhereCaches Create para criar uma cache em us-central1-a, que é bem-sucedida. Se executar uma operação de criação de AnywhereCaches subsequente com a mesma zona que for bem-sucedida, o pedido devolve a mesma operação de longa duração que o pedido anterior. Tenha em atenção que este comportamento só ocorre se incluir um request_id como parte do pedido de criação de cache. Se não incluir um request_id, recebe um erro ANYWHERE_CACHE_ALREADY_EXISTS quando tenta criar uma cache que já existe. Para obter informações sobre como incluir um request_id, consulte o artigo Solicite identificação.

O que se segue?

Receba recomendações sobre que contentores e zonas criar uma cache.