Caches mit Rapid Cache erstellen und verwalten

Mit Rapid Cache können Sie Cache-Instanzen 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 zum Verwenden und Verwalten von Vorgängen mit langer Ausführungszeit, die über Rapid Cache initiiert werden, asynchrone Cachevorgänge, finden Sie unter Vorgänge mit langer Ausführungszeit verwenden.

Bevor Sie Rapid Cache verwenden, lesen Sie die Einschränkungen.

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 die Auflistung 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 Ingest-on-Write-Verhalten eines Caches 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 Ausführungszeit.

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 Ingest-on-Write-Funktion ü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 Bucket-Liste 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 Time to Live (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. Aktivieren Sie das Kästchen Daten beim Schreiben aufnehmen.

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

        • Wenn Sie die Aufnahme beim Schreiben 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 Objektnamepräfix 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 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 nichts angegeben ist, wird standardmäßig 86400s (1 Tag) verwendet.

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 AnywhereCaches-Erstellungsvorgang 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:

    • 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. Werte können 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 nichts angegeben ist, wird standardmäßig 86400s (1 Tag) verwendet. Der Höchstwert beträgt 7 Tage.

    • 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 der Wert auf false gesetzt ist, kann „Ingest-on-Write“ 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 Anforderungen 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.

      Selektives Aktivieren von „Ingest-on-Write“ für Objekte unter einem Präfix

      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 anhand der Anleitung unter Ingest-on-Write verwenden fest.

      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 Liste der Buckets 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 den einzelnen verfügbaren Caches aufrufen.

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 mit der Kennung 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 Liste der Buckets 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 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 anstelle einer standardisierten Antwort eine Roh-API-Antwort zurückzugeben. Weitere Informationen zum Steuern des Auflistungsverhaltens, z. B. zum Paginieren von Ergebnissen, finden Sie in der gcloud storage ls-Dokumentation.

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 Eigenschaften des Cache:

    • Wenn Sie die Gültigkeitsdauer 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 Ingest-on-Write-Verhalten des Cache, 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 nach der Spalte Aufnahmekriterien und klicken Sie dann auf  Cache-Aufnahmekriterien bearbeiten.

      2. Im Bereich Kriterien für Datenaufnahme festlegen:

      • Wenn Sie die Ingest-on-Write-Funktion aktivieren oder deaktivieren möchten, markieren oder demarkieren Sie das Kästchen Daten bei Schreibvorgang aufnehmen und klicken Sie dann auf Fertig.

      • Wenn Sie den Cache so aktualisieren möchten, dass 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 aufgenommen werden, deren Name ein bestimmtes Präfix enthält, muss das Kästchen Daten beim Schreiben aufnehmen aktiviert sein. Wählen Sie dann Ausgewählte Ordner aus.

        • Geben Sie ein oder mehrere Präfixe in das Feld für den Ordnerpfad ein und klicken Sie dann auf Fertig, um ein Präfix anzugeben.

        • 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 mit der 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 der Wert auf false gesetzt 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 „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.

      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.

      Selektives Aktivieren von „Ingest-on-Write“ für Objekte unter einem Präfix

      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 anhand der Anleitung unter Einstellungen und Verhalten für die Erfassung 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 Aufnahme beim Schreiben 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-Einstellungen sorgfältig durch, um zu verstehen, wie sich die Ingest-on-Write-Richtlinie eines Cache-Speichers auswirken kann, wenn die ingestOnWrite-Einstellung für den Cache-Speicher 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 die Ingest-on-Write-Funktion 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 die Ingest-on-Write-Funktion 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 mit der 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

Wenn der Vorgang erfolgreich ist, 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 Liste der Buckets 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 mit der 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

Wenn der Vorgang erfolgreich ist, 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 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/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.

Wenn der Vorgang erfolgreich ist, gibt der Befehl eine formatierte AnywhereCache-Ressource zurück.

Cache-Leistung überwachen

Der Cloud Storage-Bereich der Google Cloud Console enthält 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 Byte in allen Caches eines Buckets, stündlich erfasst. 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 Bandbreite für die Datenübertragung für die Region, Dual-Region oder Multi-Region, die Nutzung des Kontingents und den vom Cache bereitgestellten zusätzlichen 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 gemeldet.
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 erfasst.
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 Überwachungsdiagramme 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 Details und 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, wird in der Anfrage derselbe Vorgang mit langer Ausführungszeit wie in der vorherigen Anfrage zurückgegeben. Dieses Verhalten tritt nur auf, wenn Sie in Ihre Anfrage zum Erstellen des Cache ein request_id einfügen. Wenn kein request_id enthalten ist, erhalten Sie einen ANYWHERE_CACHE_ALREADY_EXISTS-Fehler, wenn Sie versuchen, einen Cache zu erstellen, der bereits vorhanden ist. 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.