Caches mit Rapid Cache erstellen und verwalten

Sie können Cache-Instanzen mit Rapid Cache erstellen und verwalten, um die Latenz zu verringern und den Datenzugriff für in Cloud Storage gespeicherte Objekte zu optimieren. Diese Caching-Lösung trägt dazu bei, die Leistung Ihrer Anwendungen zu verbessern, indem sie den Datenabruf beschleunigt.

Auf dieser Seite wird beschrieben, wie Sie Cache-Instanzen mit Rapid Cache erstellen und verwalten. Informationen zur Verwendung und Verwaltung von Vorgängen mit langer Ausführungszeit, die von Rapid Cache initiiert werden (asynchrone Cachevorgänge), finden Sie unter Vorgänge mit langer Ausführungszeit verwenden.

Lesen Sie sich vor der Verwendung von Rapid Cache die Einschränkungen durch.

Hinweis

Bevor Sie mit dem Erstellen und Verwalten von Caches beginnen, sollten Sie die folgenden Abschnitte durchlesen.

Erforderliche Rollen abrufen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Storage-Administrator (roles/storage.admin) für den Bucket zuzuweisen, für den Sie Caches erstellen möchten, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Rapid Cache-Caches benötigen.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen und Verwalten von Rapid Cache-Caches erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Rapid Cache-Caches zu erstellen und zu verwalten:

  • storage.anywhereCaches.create (erforderlich zum Erstellen von Caches)
  • storage.anywhereCaches.disable (erforderlich zum Deaktivieren von Caches)
  • storage.anywhereCaches.get (erforderlich, um Caches abzurufen)
  • storage.anywhereCaches.list (erforderlich für das Auflisten von Caches)
  • storage.anywhereCaches.resume (erforderlich zum Fortsetzen von Caches)
  • storage.anywhereCaches.update (erforderlich zum Aktualisieren von Caches)
  • storage.managedFolders.create (nur erforderlich, um das Verhalten „Ingest-on-Write“ für einen Cache zu aktivieren)
  • storage.managedFolders.update (nur erforderlich, um das Verhalten beim Schreiben von Daten in einen Cache zu aktualisieren)

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen erhalten.

Informationen zum Zuweisen von Rollen für Buckets finden Sie unter IAM-Richtlinien für Buckets festlegen und verwalten.

Um lang andauernde Vorgänge zu verwalten, die über Rapid Cache-Methoden initiiert werden, benötigen Sie möglicherweise zusätzliche Rollen und Berechtigungen. Weitere Informationen finden Sie unter Erforderliche Rollen für Vorgänge mit langer Laufzeit.

Einstellungen für die Aufnahme beim Schreiben

Wenn Sie einen Cache erstellen oder aktualisieren, können Sie optional festlegen, dass Daten aufgenommen werden, sobald sie in den Bucket geschrieben werden. Diese Funktion wird als „Ingest-on-Write“ bezeichnet. Wenn Sie die Funktion „Ingest-on-Write“ über die JSON API aktivieren möchten, sollten Sie sich zuerst mit dem Verhalten der konfigurierten Einstellungen für „Ingest-on-Write“ vertraut machen.

Cache erstellen

Console

Cache für einen vorhandenen Bucket erstellen

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, für den Sie Daten im Cache speichern möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.

  4. Klicken Sie im Bereich Rapid Cache auf Cache konfigurieren.

    Die Seite Cache konfigurieren für Ihren Bucket wird angezeigt.

  5. Klicken Sie im Bereich Cache-Regionen auf die Region, die die Zonen enthält, in denen Sie einen Cache erstellen möchten.

  6. Wählen Sie im Bereich Cache-Zonen die Zonen aus, in denen Sie einen Cache erstellen möchten. Führen Sie für jeden Cache, den Sie in einer Zone erstellen, optional die folgenden Schritte aus:

    • Optional: Sie können eine benutzerdefinierte Gültigkeitsdauer (Time to Live, TTL) festlegen, die bestimmt, wann Daten nach dem letzten Lesen aus dem Cache entfernt werden. Standardmäßig ist die TTL eines Cache auf einen Tag festgelegt.

      So legen Sie eine benutzerdefinierte TTL fest:

      1. Geben Sie in der Spalte Gültigkeitsdauer einen Dauerwert (z. B. 48) und eine Zeiteinheit (z. B. hours) an.

      2. Klicken Sie auf Save configuration (Konfiguration speichern).

    • Optional: Sie können den Cache so konfigurieren, dass Daten nicht nur beim ersten Lesen, sondern auch beim Schreiben aufgenommen werden. Standardmäßig sind Caches so konfiguriert, dass Daten nur beim ersten Lesen aufgenommen werden.

      So aktivieren Sie die Aufnahme von Daten in den Cache beim Schreiben:

      1. Klicken Sie in der Spalte Aufnahmekriterien auf Kriterien für die Cache-Aufnahme bearbeiten Bearbeiten.

        Die Seite Kriterien für Datenaufnahme festlegen wird angezeigt.

      2. Klicken Sie das Kästchen Daten beim Schreiben aufnehmen an.

        • Wenn Sie die Ingest-on-Write-Funktion für alle Objekte aktivieren möchten, die neu in den Bucket geschrieben werden, klicken Sie auf Gesamter Bucket.

        • Wenn Sie die Ingest-on-Write-Funktion nur für neu geschriebene Objekte aktivieren möchten, deren Name ein bestimmtes Präfix hat, klicken Sie auf Ausgewählte Ordner und geben Sie das Objektnamenspräfix ein. Das Präfix des Objektnamens wird auch als „Ordnerpfad“ bezeichnet.

        Sie können mehrere Objektnamenspräfixe eingeben, indem Sie auf Hinzufügen add klicken.

        Wenn Sie ein Präfix entfernen möchten, klicken Sie auf Element löschen .

      3. Klicken Sie auf Fertig.

  7. Klicken Sie auf Save configuration (Konfiguration speichern).

  8. Klicken Sie im angezeigten Dialogfeld auf Bestätigen.

    Der Tab Vorgänge auf der Seite Bucket-Details wird geöffnet. Dort sehen Sie den Jobstatus des Vorgangs zum Erstellen des Cache.

Cache für einen neuen Bucket erstellen

Wenn Sie einen Cache im Rahmen der Erstellung eines neuen Buckets erstellen möchten, folgen Sie der Anleitung unter Neuen Bucket erstellen.

So rufen Sie den Status des Cache eines Buckets auf der Seite Bucket-Liste auf:

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie auf das Symbol Spalte ansehen (), wählen Sie Cache aus und klicken Sie dann auf OK.

Befehlszeile

Führen Sie den Befehl gcloud storage buckets anywhere-caches create aus:

gcloud storage buckets anywhere-caches create gs://BUCKET_NAME CACHE_ZONE \
[--ttl=TTL] [--enable-ingest-on-write]

Ersetzen Sie:

  • BUCKET_NAME durch den Namen des Buckets, für den Sie Daten im Cache speichern möchten. Beispiel: my-bucket.

  • Ersetzen Sie CACHE_ZONE durch die Zone, in der der Cache ausgeführt wird. Beispiel: us-east1-b.

    Wenn Sie mehrere Caches gleichzeitig erstellen möchten, können Sie mehrere Zonen angeben. Beispiel: us-east1-b us-east1-c us-east1-d

  • TTL (optional) mit der Gültigkeitsdauer (TTL) der Daten im Cache. Der Wert kann zwischen 1 und 7 Tagen liegen (einschließlich). Der Wert kann in Sekunden, Minuten, Stunden und Tagen angegeben werden. Beispiel:

    • 86400s für 86.400 Sekunden
    • 1440m für 1.440 Minuten
    • 24h für 24 Stunden
    • 1d für 1 Tag

    Wenn nicht angegeben, lautet die Standardeinstellung 86400s (1 Tag).

Wenn Sie den Cache so konfigurieren möchten, dass Daten aufgenommen werden, sobald sie in den Bucket geschrieben werden, geben Sie das optionale Flag --enable-ingest-on-write an. Mit diesem Flag kann der Cache alle Objekte aufnehmen, wenn sie in den Bucket geschrieben werden.

Bei Erfolg gibt der Befehl die ID des Vorgangs mit langer Ausführungszeit zurück, der dem AnywhereCache-Erstellungsvorgang zugeordnet ist. Sie können Details zum Vorgang mit langer Ausführungszeit abrufen oder den Vorgang mit langer Ausführungszeit abbrechen, um den Vorgang zum Erstellen von AnywhereCaches zu beenden, bevor er abgeschlossen ist.

Clientbibliotheken

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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());
    }
  }
}

Rust

use google_cloud_lro::Poller;
use google_cloud_storage::client::StorageControl;
use google_cloud_storage::model::AnywhereCache;

pub async fn sample(client: &StorageControl, bucket_id: &str, zone: &str) -> anyhow::Result<()> {
    let cache = client
        .create_anywhere_cache()
        .set_parent(format!("projects/_/buckets/{bucket_id}"))
        .set_anywhere_cache(AnywhereCache::new().set_zone(zone).set_name(format!(
            "projects/_/buckets/{bucket_id}/anywhereCaches/{zone}"
        )))
        .poller()
        .until_done()
        .await?;
    println!("Created anywhere cache: {cache:?}");
    Ok(())
}

Terraform

Weitere Informationen zur Verwendung von Rapid Cache mit Terraform finden Sie in der google_storage_anywhere_cache-Terraform-Dokumentation.

REST APIs

JSON-API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:

    {
       "zone": "ZONE",
       "ttl": "TIME_TO_LIVE",
       "ingestOnWrite": INGEST_SETTING
    }

    Ersetzen Sie:

    • ZONE durch die Zone, in der der Cache ausgeführt wird. Beispiel: us-east1-b.

    • TIME_TO_LIVE mit der Gültigkeitsdauer (TTL) der Daten im Cache. Der Wert muss in Sekunden angegeben werden (z. B. 172800s für 172.800 Sekunden, was 2 Tagen entspricht).

      Der Mindestwert ist 86400s (1 Tag) und der Höchstwert ist 604800s (7 Tage). Wenn nicht angegeben, lautet die Standardeinstellung 86400s.

    • INGEST_SETTING mit true oder false, um anzugeben, ob Daten beim Schreiben in den Cache aufgenommen werden.

      Wenn true festgelegt ist, wird „Ingest-on-Write“ für alle Objekte aktiviert, die in den Bucket geschrieben werden. Wenn diese Option auf false festgelegt ist, kann die Aufnahme beim Schreiben selektiv für Objekte aktiviert werden, die unter einem Präfix geschrieben werden, oder für den gesamten Bucket deaktiviert werden.

      Informationen zu den Einstellungen, die zum Konfigurieren der Aktivierung von „Ingest-on-Write“ verwendet werden, finden Sie unter Voraussetzungen für die Aktivierung von „Ingest-on-Write“.

      Wenn Sie „Ingest-on-Write“ auf Bucket- oder Präfixebene aktivieren oder vollständig deaktivieren möchten, folgen Sie einer der folgenden Anleitungen.

      „Ingest-on-Write“ für den Bucket aktivieren

      1. Wenn Sie die Ingest-on-Write-Funktion für alle Objekte aktivieren möchten, die in den Bucket geschrieben werden, legen Sie den Wert von INGEST_SETTINGS auf true fest.

      2. Schließen Sie Ihre Cache-Anfrage ab, indem Sie Schritt 3 ausführen.

      Ingest-on-Write selektiv für Objekte unter einem Präfix aktivieren

      1. Legen Sie für INGEST_SETTINGS den Wert false fest.

      2. Schließen Sie Ihre Cache-Anfrage ab, indem Sie Schritt 3 ausführen.

      3. Erstellen Sie einen verwalteten Ordner mit dem Präfix als Namen, falls der verwaltete Ordner noch nicht vorhanden ist.

      4. Senden Sie eine PATCH-Anfrage für einen verwalteten Ordner, die eine rapidCacheConfig-Konfiguration enthält. Legen Sie Feldwerte in der Konfiguration fest. Folgen Sie dazu der Anleitung unter Ingest-on-Write verwenden.

      Eine detaillierte Anleitung zur Verwendung einer rapidCacheConfig-Konfiguration finden Sie unter Ingest-on-Write für einen verwalteten Ordner aktualisieren.

      Cache erstellen, ohne „Ingest-on-Write“ zu aktivieren

      1. Legen Sie für INGEST_SETTINGS den Wert false fest.

      2. Schließen Sie Ihre Cache-Anfrage ab, indem Sie Schritt 3 ausführen.

  3. Verwenden Sie cURL, um die JSON API mit einer Anfrage zum Erstellen eines Caches aufzurufen:

    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"

    Ersetzen Sie:

    • JSON_FILE_NAME durch den Namen der JSON-Datei, die Sie in Schritt 2 erstellt haben.

    • BUCKET_NAME durch den Namen des Buckets, für den Sie Daten im Cache speichern möchten. Beispiel: my-bucket.

Bei Erfolg gibt der Vorgang ein google.longrunning.Operation zurück. Sie können Details zum Vorgang mit langer Ausführungszeit abrufen oder den Vorgang mit langer Ausführungszeit abbrechen, um den Vorgang zum Erstellen von AnywhereCaches zu beenden, bevor er abgeschlossen ist.

Cache ansehen

Console

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit dem Cache verknüpft ist, den Sie aufrufen möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.

  4. Klicken Sie im Bereich Rapid Cache neben dem Feld Cache auf Bearbeiten.

  5. Wählen Sie auf der Seite Konfiguration bearbeiten, die angezeigt wird, eine Region aus, um alle Caches in den Zonen der Region aufzurufen.

    Im Bereich Cache-Zonen können Sie dann Details zu jedem verfügbaren Cache ansehen.

Befehlszeile

Führen Sie den Befehl gcloud storage buckets anywhere-caches describe aus:

gcloud storage buckets anywhere-caches describe CACHE_ID

Ersetzen Sie:

  • CACHE_ID durch die Kennzeichnung der Cache-Instanz, formuliert als BUCKET_NAME/CACHE_ZONE. Beispiel: my-bucket/us-east1-b.

Mit dem optionalen Flag raw können Sie eine Roh-API-Antwort anstelle einer standardisierten API-Antwort ausgeben.

Bei Erfolg gibt der Befehl eine AnywhereCache-Ressource zurück.

Clientbibliotheken

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.


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());
    }
  }
}

Rust

use google_cloud_storage::client::StorageControl;

pub async fn sample(
    client: &StorageControl,
    bucket_id: &str,
    cache_id: &str,
) -> anyhow::Result<()> {
    let cache = client
        .get_anywhere_cache()
        .set_name(format!(
            "projects/_/buckets/{bucket_id}/anywhereCaches/{cache_id}"
        ))
        .send()
        .await?;
    println!("Got anywhere cache: {:?}", cache);
    Ok(())
}

Terraform

Weitere Informationen zur Verwendung von Rapid Cache mit Terraform finden Sie in der google_storage_anywhere_cache-Terraform-Dokumentation.

REST APIs

JSON-API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer Anfrage zum Abrufen eines Caches aufzurufen:

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

    Ersetzen Sie:

    • BUCKET_NAME durch den Namen des Buckets, der mit dem Cache verknüpft ist, den Sie abrufen möchten. Beispiel: my-bucket

    • RAPID_CACHE_ID durch die Zone, in der sich der Cache befindet. Beispiel: us-east1-b.

Bei Erfolg gibt dieser Vorgang eine AnywhereCache-Ressource zurück.

Caches auflisten

Console

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit den Caches verknüpft ist, die Sie aufrufen möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.

  4. Klicken Sie im Bereich Rapid Cache (Schneller Cache) neben dem Feld Cache auf  Bearbeiten.

  5. Wählen Sie auf der Seite Konfiguration bearbeiten, die angezeigt wird, eine Region aus, um alle Caches in den Zonen dieser Region aufzurufen.

    Alle verfügbaren Caches für Zonen in der Region werden im Bereich Cache-Zonen angezeigt.

Befehlszeile

Führen Sie den Befehl gcloud storage buckets anywhere-caches list aus:

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

Ersetzen Sie:

  • BUCKET_NAME durch den Namen des Buckets, der mit den Caches verknüpft ist, die Sie auflisten möchten. Beispiel: my-bucket.

Bei Erfolg gibt der Befehl eine Liste von AnywhereCache-Ressourcen zurück.

Optional können Sie das Flag --raw verwenden, um eine Roh-API-Antwort anstelle einer standardisierten Antwort zurückzugeben. Weitere Informationen zum Steuern des Auflistungsverhaltens, z. B. zum Paginieren von Ergebnissen, finden Sie in der Dokumentation zu gcloud storage ls.

Clientbibliotheken

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.


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());
      }
    }
  }
}

Rust

use google_cloud_gax::paginator::ItemPaginator;
use google_cloud_storage::client::StorageControl;

pub async fn sample(client: &StorageControl, bucket_id: &str) -> anyhow::Result<()> {
    let mut stream = client
        .list_anywhere_caches()
        .set_parent(format!("projects/_/buckets/{}", bucket_id))
        .by_item();
    while let Some(cache) = stream.next().await {
        println!("Found cache: {:?}", cache?);
    }
    Ok(())
}

Terraform

Weitere Informationen zur Verwendung von Rapid Cache mit Terraform finden Sie in der google_storage_anywhere_cache-Terraform-Dokumentation.

REST APIs

JSON-API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer Anfrage zum Auflisten von Caches aufzurufen:

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

    Ersetzen Sie:

    • BUCKET_NAME durch den Namen des Buckets, der mit den Caches verknüpft ist, die Sie abrufen möchten. Beispiel: my-bucket

    Wenn Sie mehrere Caches auflisten, können Sie die Ergebnisse paginieren.

Bei Erfolg gibt dieser Vorgang eine Liste von AnywhereCache-Ressourcen zurück. Details zur Struktur dieser Antwort finden Sie in der Antwort in der Dokumentation zur AnywhereCaches-Liste.

Cache aktualisieren

Console

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit dem Cache verknüpft ist, den Sie aktualisieren möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.

  4. Klicken Sie im Bereich Rapid Cache auf Caches verwalten.

  5. Klicken Sie im Bereich Caches verwalten auf Caches bearbeiten oder erstellen.

  6. Aktualisieren Sie auf der Seite Konfiguration bearbeiten die Attribute des Cache:

    • Wenn Sie die TTL des Cache aktualisieren möchten, suchen Sie die Spalte Gültigkeitsdauer, geben Sie eine Zeitdauer an und wählen Sie eine Zeiteinheit aus (z. B. Minuten).

    • So konfigurieren Sie das Verhalten des Caches beim Schreiben, einschließlich der Frage, ob alle geschriebenen Objekte oder nur ausgewählte Objekte, die unter einem Präfix geschrieben wurden, im Cache gespeichert werden:

      1. Suchen Sie die Spalte Kriterien für die Aufnahme und klicken Sie dann auf Kriterien für die Cache-Aufnahme bearbeiten.

      2. Gehen Sie im Bereich Kriterien für Datenaufnahme festlegen so vor:

      • Wenn Sie die Aufnahme bei Schreibvorgängen aktivieren oder deaktivieren möchten, aktivieren oder deaktivieren Sie das Kästchen Daten bei Schreibvorgängen aufnehmen und klicken Sie dann auf Fertig.

      • Wenn Sie den Cache aktualisieren möchten, damit alle Objekte im Bucket beim Schreiben aufgenommen werden, muss das Kästchen Daten beim Schreiben aufnehmen angeklickt sein. Wählen Sie dann Gesamter Bucket aus. Klicken Sie dann auf Fertig.

      • Wenn Sie den Cache so aktualisieren möchten, dass nur Objekte mit einem bestimmten Präfix im Namen aufgenommen werden, muss das Kästchen Daten beim Schreiben aufnehmen aktiviert sein. Wählen Sie dann Ausgewählte Ordner aus.

        • Wenn Sie ein Präfix angeben möchten, geben Sie ein oder mehrere Präfixe in das Feld „Ordnerpfad“ ein und klicken Sie dann auf Fertig.

        • Wenn Sie ein Präfix entfernen möchten, klicken Sie neben dem Präfix auf Element löschen .

  7. Klicken Sie auf der Seite Konfiguration bearbeiten auf Speichern.

  8. Klicken Sie im angezeigten Dialogfeld auf Bestätigen.

Befehlszeile

Führen Sie den Befehl gcloud storage buckets anywhere-caches update aus:

gcloud storage buckets anywhere-caches update CACHE_ID \
[--ttl=TTL] [--[no-]enable-ingest-on-write]

Ersetzen Sie:

  • CACHE_ID durch die Kennung der Cache-Instanz, formuliert als BUCKET_NAME/CACHE_ZONE. Beispiel: my-bucket/us-east1-b.

    Wenn Sie mehrere Caches gleichzeitig aktualisieren möchten, können Sie mehrere Kennungen angeben. Beispiel: my-bucket/us-east1-b my-bucket/us-east1-c

  • TTL (optional) mit der Gültigkeitsdauer (TTL) der Daten im Cache. Der Wert kann zwischen 1 und 7 Tagen liegen (einschließlich). Der Wert kann in Sekunden, Minuten, Stunden und Tagen angegeben werden. Beispiel:

    • 86400s für 86.400 Sekunden
    • 1440m für 1.440 Minuten
    • 24h für 24 Stunden
    • 1d für 1 Tag

Wenn Sie den Cache so konfigurieren möchten, dass Daten aufgenommen werden, sobald sie in den Bucket geschrieben werden, geben Sie das Flag --enable-ingest-on-write an. Mit diesem Flag kann der Cache alle Objekte aufnehmen, wenn sie in den Bucket geschrieben werden. Wenn Sie verhindern möchten, dass Daten beim Schreiben in den Cache aufgenommen werden, geben Sie das Flag --no-enable-ingest-on-write an.

Bei Erfolg gibt der Befehl die ID des Rohvorgangs mit langer Ausführungszeit zurück, der dem AnywhereCache-Aktualisierungsvorgang zugeordnet ist. Sie können Details zum Vorgang mit langer Ausführungszeit abrufen.

Clientbibliotheken

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client,
   std::string const& cache_name) {
  google::storage::control::v2::AnywhereCache cache;
  google::protobuf::FieldMask field_mask;
  field_mask.add_paths("ttl");
  cache.set_name(cache_name);
  cache.mutable_ttl()->set_seconds(86400);
  // 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

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.


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());
    }
  }
}

Rust

use google_cloud_lro::Poller;
use google_cloud_storage::client::StorageControl;
use google_cloud_storage::model::AnywhereCache;
use google_cloud_wkt::FieldMask;

pub async fn sample(
    client: &StorageControl,
    bucket_id: &str,
    cache_id: &str,
) -> anyhow::Result<()> {
    let anywhere_cache = AnywhereCache::new()
        .set_name(format!(
            "projects/_/buckets/{}/anywhereCaches/{}",
            bucket_id, cache_id
        ))
        .set_admission_policy("ADMIT_ON_SECOND_MISS".to_string());
    let operation = client
        .update_anywhere_cache()
        .set_anywhere_cache(anywhere_cache)
        .set_update_mask(FieldMask::default().set_paths(["admission_policy"]))
        .poller()
        .until_done()
        .await?;
    println!("Updated anywhere cache: {:?}", operation);
    Ok(())
}

Terraform

Weitere Informationen zur Verwendung von Rapid Cache mit Terraform finden Sie in der google_storage_anywhere_cache-Terraform-Dokumentation.

REST APIs

JSON-API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Erstellen Sie eine JSON-Datei, die Änderungen an den Cache-Attributen enthält, die Sie aktualisieren möchten.

    {
       "ttl": "TIME_TO_LIVE",
       "ingestOnWrite": INGEST_SETTING
    }

    Ersetzen Sie:

    • TIME_TO_LIVE mit der TTL der Daten im Cache. Der Wert kann zwischen 1 und 7 Tagen liegen (einschließlich). Der Wert kann in Sekunden, Minuten, Stunden und Tagen angegeben werden. Beispiel:

      • 86400s für 86.400 Sekunden
      • 1440m für 1.440 Minuten
      • 24h für 24 Stunden
      • 1d für 1 Tag
    • INGEST_SETTING mit true oder false, um anzugeben, ob Daten beim Schreiben in den Cache aufgenommen werden.

      Wenn true festgelegt ist, wird „Ingest-on-Write“ für alle Objekte aktiviert, die in den Bucket geschrieben werden. Wenn diese Option auf false festgelegt ist, kann „Ingest-on-Write“ selektiv für Objekte aktiviert werden, die unter einem Präfix geschrieben werden, oder vollständig deaktiviert werden.

      Informationen zu den Einstellungen, die zum Konfigurieren der Aktivierung von „Ingest-on-Write“ auf Bucket- oder Präfixebene verwendet werden, finden Sie unter Ingest-on-Write aktivieren.

      Wenn Sie die Aufnahme beim Schreiben auf Bucket- oder Präfixebene aktivieren oder die Aufnahme beim Schreiben vollständig deaktivieren möchten, folgen Sie einer der folgenden Anleitungen.

      „Ingest-on-Write“ für den Bucket aktivieren

      1. Wenn Sie die Ingest-on-Write-Funktion für alle Objekte aktivieren möchten, die in den Bucket geschrieben werden, legen Sie den Wert von INGEST_SETTINGS auf true fest.

      2. Schließen Sie Ihre Cache-Anfrage ab, indem Sie Schritt 3 ausführen.

      3. Wenn „Ingest-on-Write“ zuvor für ein Präfix aktiviert wurde, ist ein verwalteter Ordner mit einer rapidCacheConfig-Konfiguration vorhanden. Stellen Sie eine PATCH-Anfrage für den verwalteten Ordner, mit der die policies-Zuordnung in der rapidCacheConfig-Konfiguration auf null festgelegt wird.

      Eine detaillierte Anleitung zur Verwendung einer rapidCacheConfig-Konfiguration finden Sie unter Ingest-on-Write für einen verwalteten Ordner aktualisieren.

      Ingest-on-Write selektiv für Objekte unter einem Präfix aktivieren

      1. Legen Sie für INGEST_SETTINGS den Wert false fest.

      2. Schließen Sie Ihre Cache-Anfrage ab, indem Sie Schritt 3 ausführen.

      3. Erstellen Sie einen verwalteten Ordner, der das Präfix als Namen verwendet, sofern der verwaltete Ordner noch nicht vorhanden ist.

      4. Senden Sie eine Anfrage für einen verwalteten Ordner PATCH, die eine rapidCacheConfig-Konfiguration enthält. Legen Sie Feldwerte in der Konfiguration anhand der Anleitung unter Einstellungen und Verhaltensweisen für die Aufnahme beim Schreiben fest.

      Die policies-Zuordnung einer rapidCacheConfig-Konfiguration kann eine oder mehrere Cache-IDs enthalten (z. B. us-east1-a und us-east1-b). Wenn Sie die Ingest-on-Write-Funktion für bestimmte Caches aktivieren möchten, legen Sie die ingestOnWrite-Einstellung des jeweiligen Caches auf enabled fest. Wenn Sie die Ingest-on-Write-Funktion für bestimmte Caches deaktivieren möchten, legen Sie die ingestOnWrite-Einstellung des jeweiligen Caches auf unspecified fest. Lesen Sie sich die Informationen zur Übernahme von „Ingest-on-Write“ sorgfältig durch, um zu verstehen, wie sich die „Ingest-on-Write“-Richtlinie eines Cache auswirken kann, wenn die Einstellung ingestOnWrite für den Cache auf unspecified festgelegt ist.

      Eine detaillierte Anleitung zur Verwendung einer rapidCacheConfig-Konfiguration finden Sie unter Ingest-on-Write für einen verwalteten Ordner aktualisieren.

      Ingest-on-Write deaktivieren

      1. Legen Sie für INGEST_SETTINGS den Wert false fest. Mit dieser Einstellung wird „Ingest-on-Write“ auf Bucket-Ebene deaktiviert.

      2. Schließen Sie Ihre Cache-Anfrage ab, indem Sie Schritt 3 ausführen.

      3. Wenn Sie „Ingest-on-Write“ auf Präfixebene deaktivieren möchten, suchen Sie den verwalteten Ordner, in dem „Ingest-on-Write“ auf Präfixebene konfiguriert ist. Stellen Sie eine PATCH-Anfrage für den verwalteten Ordner, mit der die policies-Zuordnung in der rapidCacheConfig-Konfiguration auf null festgelegt wird. Alternativ können Sie die rapidCacheConfig-Konfiguration aus der verwalteten Ordnerressource in einer PATCH-Anfrage löschen.

      Eine detaillierte Anleitung zur Verwendung einer rapidCacheConfig-Konfiguration finden Sie unter Ingest-on-Write für einen verwalteten Ordner aktualisieren.

    Im folgenden Beispiel wird die TTL des Cache auf 2 Tage aktualisiert und „Ingest-on-Write“ für alle Objekte aktiviert, die in den Bucket geschrieben werden:

    {
       "ttl": "172800s",
       "ingestOnWrite": true
    }
  3. Um die neuen Eigenschaften anzuwenden, verwenden Sie cURL, um die JSON API mit einer Anfrage zum Aktualisieren des Cache aufzurufen:

    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/RAPID_CACHE_ID"

    Ersetzen Sie:

    • JSON_FILE_NAME durch den Namen der JSON-Datei, die Sie in Schritt 2 erstellt haben.

    • BUCKET_NAME durch den Namen des Buckets, der mit dem Cache verknüpft ist, den Sie aktualisieren möchten. Beispiel: my-bucket

    • RAPID_CACHE_ID durch die Kennung des Cache. Beispiel: us-east1-b.

Bei Erfolg gibt der Vorgang ein google.longrunning.Operation zurück. Sie können Details zum Vorgang mit langer Ausführungszeit abrufen.

Cache fortsetzen

Console

So reaktivieren Sie einen pausierten oder deaktivierten Cache:

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, der mit dem Cache verknüpft ist, den Sie fortsetzen möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.

  4. Klicken Sie im Bereich Rapid Cache auf Caches verwalten.

  5. Klicken Sie im Bereich Caches verwalten auf das Symbol Cache fortsetzen ().

  6. Klicken Sie auf Schließen.

Befehlszeile

Führen Sie den Befehl gcloud storage buckets anywhere-caches resume aus:

gcloud storage buckets anywhere-caches resume CACHE_ID

Ersetzen Sie:

  • CACHE_ID durch die Kennung der Cache-Instanz, formuliert als BUCKET_NAME/CACHE_ZONE. Beispiel: my-bucket/us-east1-b.

    Wenn Sie mehrere Caches gleichzeitig fortsetzen möchten, können Sie mehrere Kennungen angeben. Beispiel: my-bucket/us-east1-b my-bucket/us-east1-c

Bei erfolgreicher Ausführung gibt der Befehl eine formatierte AnywhereCache-Ressource zurück.

Clientbibliotheken

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.


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());
    }
  }
}

Rust

use google_cloud_storage::client::StorageControl;

pub async fn sample(
    client: &StorageControl,
    bucket_id: &str,
    cache_id: &str,
) -> anyhow::Result<()> {
    let cache = client
        .resume_anywhere_cache()
        .set_name(format!(
            "projects/_/buckets/{}/anywhereCaches/{}",
            bucket_id, cache_id
        ))
        .send()
        .await?;
    println!("Resumed anywhere cache: {:?}", cache);
    Ok(())
}

Terraform

Weitere Informationen zur Verwendung von Rapid Cache mit Terraform finden Sie in der google_storage_anywhere_cache-Terraform-Dokumentation.

REST APIs

JSON-API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer Anfrage zum Fortsetzen eines Caches aufzurufen:

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

    Ersetzen Sie:

    • BUCKET_NAME durch den Namen des Buckets, der mit dem Cache verknüpft ist, den Sie fortsetzen möchten. Beispiel: my-bucket

    • RAPID_CACHE_ID durch die Kennung des Cache. Beispiel: us-east1-b.

Bei Erfolg gibt der Vorgang eine formatierte AnywhereCache-Ressource zurück.

Cache deaktivieren

Console

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Bucket-Liste auf den Namen des Buckets, der mit dem Cache verknüpft ist, den Sie deaktivieren möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Konfiguration.

  4. Klicken Sie im Bereich Rapid Cache auf Caches verwalten.

  5. Klicken Sie im Bereich Caches verwalten auf das Symbol Cache deaktivieren ().

  6. Klicken Sie im angezeigten Dialogfeld auf Bestätigen.

  7. Klicken Sie auf Schließen.

Befehlszeile

Führen Sie den Befehl gcloud storage buckets anywhere-caches disable aus:

gcloud storage buckets anywhere-caches disable CACHE_ID

Ersetzen Sie:

  • CACHE_ID durch die Kennung der Cache-Instanz, formuliert als BUCKET_NAME/CACHE_ZONE. Beispiel: my-bucket/us-east1-b.

    Wenn Sie mehrere Caches gleichzeitig deaktivieren möchten, können Sie mehrere Kennungen angeben. Beispiel: my-bucket/us-east1-b my-bucket/us-east1-c

Bei erfolgreicher Ausführung gibt der Befehl eine formatierte AnywhereCache-Ressource zurück.

Clientbibliotheken

C++

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

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

Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.

Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.


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());
    }
  }
}

Rust

use google_cloud_storage::client::StorageControl;

pub async fn sample(
    client: &StorageControl,
    bucket_id: &str,
    cache_id: &str,
) -> anyhow::Result<()> {
    let cache = client
        .disable_anywhere_cache()
        .set_name(format!(
            "projects/_/buckets/{}/anywhereCaches/{}",
            bucket_id, cache_id
        ))
        .send()
        .await?;
    println!("Disabled anywhere cache: {:?}", cache);
    Ok(())
}

Terraform

Weitere Informationen zur Verwendung von Rapid Cache mit Terraform finden Sie in der google_storage_anywhere_cache-Terraform-Dokumentation.

REST APIs

JSON-API

  1. Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer Anfrage zum Deaktivieren eines Cache aufzurufen:

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

    Ersetzen Sie:

    • BUCKET_NAME durch den Namen des Buckets, der mit dem Cache verknüpft ist, den Sie deaktivieren möchten. Beispiel: my-bucket

    • RAPID_CACHE_ID durch die Kennung des Cache. Beispiel: us-east1-b.

Bei erfolgreicher Ausführung gibt der Befehl eine formatierte AnywhereCache-Ressource zurück.

Cache-Leistung überwachen

Der Cloud Storage-Bereich der Google Cloud Console bietet Monitoring-Diagramme, mit denen Sie die Leistung Ihrer Caches anhand von Messwerten verfolgen können. Diese Monitoring-Diagramme können auch mit Cloud Monitoring aufgerufen werden.

Verfügbare Diagramme

Diagramm Ebene der Ressourcenhierarchie Beschreibung
Entfernungsrate der Bytes Bucket Die Rate der aus dem Cache entfernten Bytes, die stündlich erfasst wird. Diese Daten werden mehrmals pro Stunde aktualisiert, um Zeit für die Nachbearbeitung der Daten zu lassen.
Entfernungsrate der Bytes Projekt Die Rate der aus allen Caches eines Buckets entfernten Bytes, die stündlich erfasst wird. Diese Daten werden mehrmals pro Stunde aktualisiert, um Zeit für die Nachbearbeitung der Daten zu lassen.
Byte im Cache Bucket Die Anzahl der Bytes im Cache, die stündlich erfasst werden. Diese Daten werden mehrmals pro Stunde aktualisiert, um Zeit für die Nachbearbeitung der Daten zu lassen.
Byte im Cache Projekt Die Anzahl der Bytes in allen Caches eines Buckets, die stündlich erfasst werden. Diese Daten werden mehrmals pro Stunde aktualisiert, um Zeit für die Nachbearbeitung der Daten zu lassen.
Vorteil durch Cache-Durchsatz Projekt Die Rate des Kontingents für die Datenübertragungsbandbreite für die Region, Dual-Region oder Multi-Region, die Nutzung des Kontingents und der vom Cache bereitgestellte zusätzliche Durchsatz. Letzterer wird nicht auf das Kontingent angerechnet. Projekte können also durch Nutzung des Cache den durch das Kontingent zulässigen Durchsatz überschreiten.
Trefferquote – Vorgänge Bucket Der Prozentsatz der Cache-Vorgänge, die die angeforderten Daten aus dem Cache bereitstellen, im Verhältnis zu den insgesamt cache-fähigen Vorgängen. Die Stichprobenerhebung erfolgt alle 60 Sekunden. Wenn ein Lesevorgang vollständig aus dem Cache zurückgegeben wird, gilt der Vorgang als Treffer. Wenn der Lesevorgang nicht oder nur teilweise aus dem Cache zurückgegeben wird, gilt der Vorgang als Fehler.
Trefferquote – Vorgänge Projekt Der Prozentsatz der Cache-Vorgänge, die die angeforderten Daten aus allen Caches für einen Bucket bereitstellen, im Verhältnis zu den gesamten cache-fähigen Vorgängen. Die Stichprobe wird alle 60 Sekunden erstellt. Wenn ein Lesevorgang vollständig aus dem Cache zurückgegeben wird, gilt der Vorgang als Treffer. Wenn der Lesevorgang nicht oder nur teilweise aus dem Cache zurückgegeben wird, gilt der Vorgang als Fehler.
Bytes der Trefferquote Bucket Der Prozentsatz der Bytes, die aus dem Cache bereitgestellt werden, im Verhältnis zu den gesamten Cache-fähigen Bytes. Alle 60 Sekunden wird eine Stichprobe erstellt.
Bytes der Trefferquote Projekt Der Prozentsatz der Bytes, die aus allen Caches für einen Bucket bereitgestellt wurden, im Verhältnis zu den gesamten Cache-fähigen Bytes. Alle 60 Sekunden wird eine Stichprobe erstellt.
Aufnahmerate (Rohbytes) Bucket Die Rate der in jeden Cache aufgenommenen Rohbyte. Alle 60 Sekunden wird eine Stichprobe erstellt. Alle aufgenommenen Byte, einschließlich nicht abrechenbarer Byte, werden bei der Berechnung des Werts dieses Messwerts verwendet. Dieser Messwert wird in Echtzeit erfasst.
Aufnahmerate (Rohbytes) Projekt Die Rate der in alle Caches eines Buckets aufgenommenen Rohbyte. Alle 60 Sekunden wird eine Stichprobe erstellt. Alle aufgenommenen Byte, einschließlich nicht abrechenbarer Byte, werden bei der Berechnung des Werts dieses Messwerts verwendet. Dieser Messwert wird in Echtzeit gemeldet.
Durchsatz – Cache-Treffer Bucket Der Durchsatz, der aus dem Cache bereitgestellt wird. Die Stichprobenerhebung erfolgt alle 60 Sekunden.
Durchsatz – Cache-Treffer Projekt Der Durchsatz, der von allen Caches für einen Bucket bereitgestellt wurde. Die Stichprobenerhebung erfolgt alle 60 Sekunden.
Durchsatz – Cache-Fehler Bucket Der Durchsatz, der nicht aus dem Cache bereitgestellt wird. Die Stichprobenerhebung erfolgt alle 60 Sekunden.
Durchsatz – Cache-Fehler Projekt Der Durchsatz, der nicht von einem der Caches eines Buckets bereitgestellt wird. Die Stichprobenerhebung erfolgt alle 60 Sekunden.

Auf Diagramme zugreifen

In Monitoring-Diagrammen werden Daten entweder für einzelne Buckets oder für alle Buckets in einem Projekt erfasst. Die Ebene der Ressourcenhierarchie, die in einem Diagramm erfasst wird, bestimmt, wo Sie auf das Diagramm zugreifen können.

Auf Diagramme auf Bucket-Ebene zugreifen

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, für den Sie Monitoring-Diagramme aufrufen möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf den Tab Beobachtbarkeit.

  4. Wählen Sie im Navigationsmenü Rapid Cache aus.

    Monitoring-Diagramme werden angezeigt.

Auf Diagramme auf Projektebene zugreifen

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie im Navigationsbereich Cloud Storage auf Monitoring.

  3. Klicken Sie in der Menüleiste auf Rapid Cache.

    Monitoring-Diagramme werden angezeigt.

Vorgänge mit langer Ausführungszeit verwenden

Wenn die Vorgänge AnywhereCaches Create und Update erfolgreich ausgeführt werden, wird ein Vorgang mit langer Ausführungszeit gestartet. Sie können Vorgänge mit langer Ausführungszeit abrufen und auflisten, um die Details und den Status des zugrunde liegenden AnywhereCaches-Vorgangs anzusehen, oder einen Vorgang mit langer Ausführungszeit löschen, um den zugrunde liegenden AnywhereCaches-Vorgang während der Ausführung abzubrechen.

Eine Anleitung zur Verwendung von Vorgängen mit langer Ausführungszeit für Rapid Cache finden Sie unter Vorgänge mit langer Ausführungszeit verwenden.

Das folgende Beispiel zeigt einen Vorgang mit langer Ausführungszeit, der von einem AnywhereCaches-Erstellungsvorgang initiiert wird:

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

Wiederholungsversuche

Asynchrone AnywhereCaches APIs sind standardmäßig idempotent. Das bedeutet, dass Sie asynchrone AnywhereCaches API-Aufrufe sicher wiederholen können, ohne sich Gedanken über unbeabsichtigte Änderungen an Ressourcen machen zu müssen.

Angenommen, Sie führen einen AnywhereCaches-Erstellungsvorgang aus, um einen Cache in us-central1-a zu erstellen. Der Vorgang wird erfolgreich abgeschlossen. Wenn Sie einen nachfolgenden AnywhereCaches Create-Vorgang mit derselben Zone ausführen, der erfolgreich ist, gibt die Anfrage denselben Vorgang mit langer Ausführungszeit wie die vorherige Anfrage zurück. Dieses Verhalten tritt nur auf, wenn Sie in Ihre Anfrage zum Erstellen des Caches ein request_id einfügen. Wenn kein request_id enthalten ist, erhalten Sie beim Versuch, einen Cache zu erstellen, der bereits vorhanden ist, einen ANYWHERE_CACHE_ALREADY_EXISTS-Fehler. Informationen dazu, wie Sie eine request_id einfügen, finden Sie unter Identifizierung anfordern.

Nächste Schritte

Empfehlungen dazu erhalten, für welche Buckets und Zonen ein Cache erstellt werden soll.