建立及管理「任何位置」快取

本頁說明如何建立及管理 Anywhere Cache 快取執行個體

如要瞭解如何使用及管理從「任何位置」快取啟動的長時間執行作業 (非同步快取作業),請參閱使用長時間執行的作業

使用 Anywhere Cache 前,請先參閱限制

事前準備

如要取得建立及管理 Anywhere Cache 快取所需的權限,請要求管理員在您要建立快取的值區中,授予您儲存空間管理員 (roles/storage.admin) 身分與存取權管理角色。

這個預先定義的角色具備建立及管理 Anywhere Cache 快取所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要建立及管理 Anywhere Cache 快取,必須具備下列權限:

  • storage.anywhereCaches.disable (停用快取時必須提供)
  • storage.anywhereCaches.get (取得快取時必須提供)
  • storage.anywhereCaches.create (建立快取時必須提供)
  • storage.anywhereCaches.list (列出快取時必須提供)
  • storage.anywhereCaches.pause (暫停快取時必須提供)
  • storage.anywhereCaches.resume (必須提供此目錄才能繼續使用快取)
  • storage.anywhereCaches.update (更新快取時必須提供)

您也可以透過自訂角色取得這些權限。

如要瞭解如何授予值區角色,請參閱「搭配值區使用 IAM」。

如要管理從 Anywhere Cache 方法啟動的長期執行的作業,您可能需要其他角色和權限。詳情請參閱長時間執行作業的必要角色

建立快取

控制台

如要在現有 bucket 上建立快取:

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在值區清單中,按一下要快取資料的值區名稱。

  3. 在「Bucket details」(值區詳細資料) 頁面上,按一下「Configuration」(設定) 分頁標籤。

  4. 在「Anywhere Cache」部分,按一下「設定快取」

    系統隨即會顯示 bucket 的「設定快取」頁面。

  5. 在「快取區域」部分中,按一下包含要建立快取區域的區域。

  6. 在「快取區域」部分,選取要建立快取的區域。為選取的每個可用區指定快取的「存留時間」和「在第二次存取時擷取」選項。

  7. 點選 [Save configuration] (儲存設定)。

  8. 在隨即顯示的對話方塊中,按一下「確認」

    「Bucket details」(值區詳細資料) 頁面會開啟「Operations」(作業) 分頁標籤,顯示建立快取作業的工作狀態。

如要在建立新 bucket 時一併建立快取,請按照「建立新 bucket」一文中的操作說明進行。

如要從「值區清單」頁面查看值區的快取狀態,請按照下列步驟操作:

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 按一下「查看資料欄」圖示 (), 選取「快取」,然後按一下「確定」。

指令列

使用 gcloud storage buckets anywhere-caches create 指令:

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

取代:

  • BUCKET_NAME 替換為要快取資料的值區名稱。例如:my-bucket

  • ZONE 替換為快取執行的區域。例如:us-east1-b

    如要一次建立多個快取,可以指定多個區域。例如 us-east1-b us-east1-c us-east1-d

設定下列選用標記,進一步控管快取建立作業:

  • --ttl:指定快取中資料的存留時間 (TTL),單位為秒。值可以秒、分、時和天為單位表示。 例如:

    • 86400s 86,400 秒
    • 1440m 1,440 分鐘
    • 24h 24 小時
    • 1d (1 天)

    如未指定,則預設為 86400s (1 天)。

  • --admission-policy:指定資料擷取到快取的時間點。可接受的值為 ADMIT_ON_FIRST_MISSADMIT_ON_SECOND_MISS。如未指定,則預設為 ADMIT_ON_FIRST_MISS

如果成功,指令會傳回與 AnywhereCache 建立作業相關聯的長時間執行作業 ID。您可以取得長時間執行的作業詳細資料,或取消長時間執行的作業,在作業完成前停止 AnywhereCaches 建立作業。

用戶端程式庫

C++

詳情請參閱 Cloud Storage C++ API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。

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

詳情請參閱 Cloud Storage Java API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。

import com.google.api.gax.longrunning.OperationFuture;
import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.BucketName;
import com.google.storage.control.v2.CreateAnywhereCacheMetadata;
import com.google.storage.control.v2.CreateAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

public final class AnywhereCacheCreate {

  public static void anywhereCacheCreate(String bucketName, String cacheName, String zoneName)
      throws InterruptedException, ExecutionException, IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      CreateAnywhereCacheRequest request =
          CreateAnywhereCacheRequest.newBuilder()
              // Set project to "_" to signify globally scoped bucket
              .setParent(BucketName.format("_", bucketName))
              .setAnywhereCache(
                  AnywhereCache.newBuilder().setName(cacheName).setZone(zoneName).build())
              .build();

      // Start a long-running operation (LRO).
      OperationFuture<AnywhereCache, CreateAnywhereCacheMetadata> operation =
          storageControl.createAnywhereCacheAsync(request);

      // Await the LROs completion.
      AnywhereCache anywhereCache = operation.get();
      System.out.printf("Created anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

如要瞭解如何搭配使用「任何位置」快取與 Terraform,請參閱 google_storage_anywhere_cacheTerraform 說明文件

REST API

JSON API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 建立包含下列資訊的 JSON 檔案:

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

    取代:

    • ZONE 替換為快取執行的區域。例如:us-east1-b

    • TIME_TO_LIVE,並設定快取中資料的存留時間 (TTL)。這個值可以介於 1 小時到 7 天之間,以秒為單位指定。如未指定,則預設為 86400s (1 天)。

    • ADMISSION_POLICY,並根據快取的准入政策,指定資料的擷取時間。值可以是 admit-on-first-missadmit-on-second-miss。如未指定,則預設為 admit-on-first-miss

  3. 使用 cURL 透過建立快取的要求呼叫 JSON API

    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"

    取代:

    • JSON_FILE_NAME 改成您在步驟 2 建立的 JSON 檔案名稱。

    • BUCKET_NAME 替換為要快取資料的值區名稱。例如:my-bucket

如果作業成功,會傳回 google.longrunning.Operation。 您可以取得長時間執行的作業詳細資料,或取消長時間執行的作業,在作業完成前停止 AnywhereCaches 建立作業。

查看快取

控制台

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在值區清單中,按一下與要查看的快取相關聯的值區名稱。

  3. 在「Bucket details」(值區詳細資料) 頁面上,按一下「Configuration」(設定) 分頁標籤。

  4. 在「Anywhere Cache」部分中,按一下「Cache」欄位旁邊的「Edit」

  5. 在隨即顯示的「編輯設定」頁面中,選取要查看區域內所有快取的區域。

    接著,您可以在「快取區域」窗格中查看每個可用快取的詳細資料。

指令列

使用 gcloud storage buckets anywhere-caches describe 指令:

gcloud storage buckets anywhere-caches describe ID

取代:

  • ID,並使用快取執行個體的 ID,公式為 BUCKET_NAME/ANYWHERE_CACHE_ID。例如:my-bucket/us-east1-b

使用選用的 raw 旗標,輸出原始 API 回應,而非標準化 API 回應。

如果成功,指令會傳回 AnywhereCache 資源

用戶端程式庫

C++

詳情請參閱 Cloud Storage C++ API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。

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

詳情請參閱 Cloud Storage Java API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.GetAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;

public final class AnywhereCacheGet {

  public static void anywhereCacheGet(String cacheName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      GetAnywhereCacheRequest request =
          GetAnywhereCacheRequest.newBuilder().setName(cacheName).build();

      AnywhereCache anywhereCache = storageControl.getAnywhereCache(request);

      System.out.printf("Got anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

如要瞭解如何搭配使用「任何位置」快取與 Terraform,請參閱 google_storage_anywhere_cacheTerraform 說明文件

REST API

JSON API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 使用 cURL 透過要求取得快取呼叫 JSON API

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

    取代:

    • BUCKET_NAME 改成與要擷取快取相關聯的值區名稱。例如:my-bucket

    • ANYWHERE_CACHE_ID 替換為快取所在的區域。例如:us-east1-b

如果成功,這項作業會傳回 AnywhereCache 資源

列出快取

控制台

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在值區清單中,按一下與要查看的快取相關聯的值區名稱。

  3. 在「Bucket details」(值區詳細資料) 頁面上,按一下「Configuration」(設定) 分頁標籤。

  4. 在「Anywhere Cache」部分中,按一下「Cache」欄位旁邊的「Edit」

  5. 在隨即顯示的「編輯設定」頁面中,選取區域即可查看該區域可用區中的所有快取。

    區域內所有可用快取都會顯示在「快取區域」窗格中。

指令列

使用 gcloud storage buckets anywhere-caches list 指令:

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

取代:

  • BUCKET_NAME 改成與要列出快取相關聯的值區名稱。例如:my-bucket

如果成功,指令會傳回 AnywhereCache 資源清單。

您可以選擇使用 --raw 標記傳回原始 API 回應,而非標準化回應。如要進一步瞭解如何控管清單行為 (例如結果分頁),請參閱 gcloud storage ls 說明文件

用戶端程式庫

C++

詳情請參閱 Cloud Storage C++ API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。

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

詳情請參閱 Cloud Storage Java API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.BucketName;
import com.google.storage.control.v2.ListAnywhereCachesRequest;
import com.google.storage.control.v2.StorageControlClient;
import com.google.storage.control.v2.StorageControlClient.ListAnywhereCachesPagedResponse;
import java.io.IOException;

public final class AnywhereCacheList {

  public static void anywhereCacheList(String bucketName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      ListAnywhereCachesRequest request =
          ListAnywhereCachesRequest.newBuilder()
              .setParent(BucketName.format("_", bucketName))
              .build();

      ListAnywhereCachesPagedResponse page = storageControl.listAnywhereCaches(request);
      for (AnywhereCache anywhereCache : page.iterateAll()) {
        System.out.println(anywhereCache.getName());
      }
    }
  }
}

Terraform

如要瞭解如何搭配使用「任何位置」快取與 Terraform,請參閱 google_storage_anywhere_cacheTerraform 說明文件

REST API

JSON API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 使用 cURL 透過列出快取的要求呼叫 JSON API

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

    取代:

    • BUCKET_NAME,並填入與要擷取快取相關聯的值區名稱。例如:my-bucket

    列出多個快取時,您可以將結果分頁

如果成功,這項作業會傳回 AnywhereCache 資源清單。如要進一步瞭解這項回應的結構,請參閱「AnywhereCaches List 說明文件中的回應」。

更新快取

控制台

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在值區清單中,按一下要更新快取的值區名稱。

  3. 在「Bucket details」(值區詳細資料) 頁面中,按一下「Observability」(可觀測性) 分頁標籤,然後在導覽選單中按一下「Anywhere Cache」(Anywhere Cache)

  4. 按一下「編輯設定」

  5. 在隨即顯示的「編輯設定」頁面中,更新快取的屬性,然後按一下「儲存」

指令列

使用 gcloud storage buckets anywhere-caches update 指令:

gcloud storage buckets anywhere-caches update ID

取代:

  • ID,並使用快取執行個體的 ID,公式為 BUCKET_NAME/ANYWHERE_CACHE_ID。例如:my-bucket/us-east1-b

    如要一次更新多個快取,可以指定多個 ID。例如 my-bucket/us-east1-b my-bucket/us-east1-c

使用下列旗標更新快取設定。如未指定旗標,值會維持不變。

  • --ttl:指定快取中資料的存留時間 (TTL),單位為秒。

  • --admission-policy:指定資料擷取到快取的時間點。值可以是 ADMIT_ON_FIRST_MISSADMIT_ON_SECOND_MISS

如果執行成功,指令會傳回與 AnywhereCache 更新作業相關聯的原始長時間執行作業 ID。您可以取得長時間執行的作業詳細資料。

用戶端程式庫

C++

詳情請參閱 Cloud Storage C++ API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client, std::string const& cache_name,
   std::string const& admission_policy) {
  google::storage::control::v2::AnywhereCache cache;
  google::protobuf::FieldMask field_mask;
  field_mask.add_paths("admission_policy");
  cache.set_name(cache_name);
  cache.set_admission_policy(admission_policy);
  // Start an update operation and block until it completes. Real applications
  // may want to setup a callback, wait on a coroutine, or poll until it
  // completes.
  auto anywhere_cache = client.UpdateAnywhereCache(cache, field_mask).get();
  if (!anywhere_cache) throw std::move(anywhere_cache).status();
  std::cout << "Updated anywhere cache: " << anywhere_cache->name() << "\n";
}

Java

詳情請參閱 Cloud Storage Java API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。


import com.google.api.gax.longrunning.OperationFuture;
import com.google.protobuf.FieldMask;
import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.StorageControlClient;
import com.google.storage.control.v2.UpdateAnywhereCacheMetadata;
import com.google.storage.control.v2.UpdateAnywhereCacheRequest;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

public final class AnywhereCacheUpdate {

  public static void anywhereCacheUpdate(String cacheName, String admissionPolicy)
      throws InterruptedException, ExecutionException, IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      AnywhereCache pendingUpdate =
          AnywhereCache.newBuilder().setName(cacheName).setAdmissionPolicy(admissionPolicy).build();

      UpdateAnywhereCacheRequest request =
          UpdateAnywhereCacheRequest.newBuilder()
              .setAnywhereCache(pendingUpdate)
              .setUpdateMask(FieldMask.newBuilder().addPaths("admission_policy").build())
              .build();

      // Start a long-running operation (LRO).
      OperationFuture<AnywhereCache, UpdateAnywhereCacheMetadata> operation =
          storageControl.updateAnywhereCacheAsync(request);

      // Await the LROs completion.
      AnywhereCache updatedAnywhereCache = operation.get();
      System.out.printf("Updated anywhere cache: %s%n", updatedAnywhereCache.getName());
    }
  }
}

Terraform

如要瞭解如何搭配使用「任何位置」快取與 Terraform,請參閱 google_storage_anywhere_cacheTerraform 說明文件

REST API

JSON API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 建立 JSON 檔案,內含要更新的快取屬性變更。

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

    取代:

    • TIME_TO_LIVE,並提供快取中資料的存留時間。這個值可介於 1 小時至 7 天之間,以秒為單位指定。如未指定,系統會繼續使用目前的值。

    • ADMISSION_POLICY,並根據快取的准入政策,指定資料的擷取時間。值可以是 admit-on-first-missadmit-on-second-miss。如未指定,系統會繼續使用目前的值。

    以下範例會將快取的 TTL 更新為 2 天,並將准入政策更新為在第二次未命中時擷取資料:

    {
       "ttl": "172800s",
       "admissionPolicy": "admit-on-second-miss"
    }
  3. 如要套用新屬性,請使用 cURL 透過JSON API 要求更新快取

    curl -X PATCH --data-binary @JSON_FILE_NAME \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/anywhereCaches/ANYWHERE_CACHE_ID"

    取代:

    • JSON_FILE_NAME 改成您在步驟 2 建立的 JSON 檔案名稱。

    • BUCKET_NAME,並提供要更新快取的值區名稱。例如:my-bucket

    • ANYWHERE_CACHE_ID,其中包含快取的 ID。例如:us-east1-b

如果作業成功,會傳回 google.longrunning.Operation。 您可以取得長時間執行的作業詳細資料。

暫停快取

控制台

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在值區清單中,找出要暫停快取的值區,然後點選該值區的名稱。

  3. 在「Bucket details」(值區詳細資料) 頁面中,按一下「Observability」(可觀測性) 分頁標籤,然後在導覽選單中按一下「Anywhere Cache」(Anywhere Cache)

  4. 按一下「暫停/繼續快取」

  5. 在顯示的窗格中,按一下「暫停快取」圖示 ()。

  6. 按一下 [關閉]

指令列

使用 gcloud storage buckets anywhere-caches pause 指令:

gcloud storage buckets anywhere-caches pause ID

取代:

  • ID,並使用快取執行個體的 ID,公式為 BUCKET_NAME/ANYWHERE_CACHE_ID。例如:my-bucket/us-east1-b

    如要一次暫停多個快取,可以指定多個 ID。例如 my-bucket/us-east1-b my-bucket/us-east1-c

如果成功,指令會傳回成功訊息。

用戶端程式庫

C++

詳情請參閱 Cloud Storage C++ API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。

namespace storagecontrol = google::cloud::storagecontrol_v2;
[](storagecontrol::StorageControlClient client,
   std::string const& cache_name) {
  auto anywhere_cache = client.PauseAnywhereCache(cache_name);
  if (!anywhere_cache) throw std::move(anywhere_cache).status();
  std::cout << "Paused anywhere cache: " << anywhere_cache->name() << "\n";
}

Java

詳情請參閱 Cloud Storage Java API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.PauseAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;

public final class AnywhereCachePause {

  public static void anywhereCachePause(String cacheName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      PauseAnywhereCacheRequest request =
          PauseAnywhereCacheRequest.newBuilder().setName(cacheName).build();

      AnywhereCache anywhereCache = storageControl.pauseAnywhereCache(request);

      System.out.printf("Paused anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

如要瞭解如何搭配使用「任何位置」快取與 Terraform,請參閱 google_storage_anywhere_cacheTerraform 說明文件

REST API

JSON API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 使用 cURL 透過暫停快取的要求呼叫 JSON API

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

    取代:

    • BUCKET_NAME,並填入要暫停快取相關聯的值區名稱。例如:my-bucket

    • ANYWHERE_CACHE_ID,其中包含快取的 ID。例如:us-east1-b

如果成功,作業會傳回格式化的 AnywhereCache 資源

恢復快取

控制台

如要繼續使用已暫停的快取,請完成下列操作說明:

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在值區清單中,按一下要繼續快取作業的值區名稱。

  3. 在「Bucket details」(值區詳細資料) 頁面中,按一下「Observability」(可觀測性) 分頁標籤,然後在導覽選單中按一下「Anywhere Cache」(Anywhere Cache)

  4. 按一下「暫停/繼續快取」

  5. 在隨即顯示的窗格中,按一下「繼續快取」圖示 ()。

  6. 按一下 [關閉]

如要恢復已停用的快取,請完成下列操作說明:

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在值區清單中,按一下要繼續快取作業的值區名稱。

  3. 在「Bucket details」(值區詳細資料) 頁面中,按一下「Observability」(可觀測性) 分頁標籤,然後在導覽選單中按一下「Anywhere Cache」(Anywhere Cache)

  4. 按一下「停用/恢復快取」

  5. 在隨即顯示的窗格中,按一下「繼續快取」圖示 ()。

  6. 按一下 [關閉]

指令列

使用 gcloud storage buckets anywhere-caches resume 指令:

gcloud storage buckets anywhere-caches resume ID

取代:

  • ID,並使用快取執行個體的 ID,公式為 BUCKET_NAME/ANYWHERE_CACHE_ID。例如:my-bucket/us-east1-b

    如要一次恢復多個快取,可以指定多個 ID。例如 my-bucket/us-east1-b my-bucket/us-east1-c

如果成功,指令會傳回格式化的 AnywhereCache 資源

用戶端程式庫

C++

詳情請參閱 Cloud Storage C++ API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。

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

詳情請參閱 Cloud Storage Java API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.ResumeAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;

public final class AnywhereCacheResume {

  public static void anywhereCacheResume(String cacheName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      ResumeAnywhereCacheRequest request =
          ResumeAnywhereCacheRequest.newBuilder().setName(cacheName).build();

      AnywhereCache anywhereCache = storageControl.resumeAnywhereCache(request);

      System.out.printf("Resumed anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

如要瞭解如何搭配使用「任何位置」快取與 Terraform,請參閱 google_storage_anywhere_cacheTerraform 說明文件

REST API

JSON API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 使用 cURL 透過要求繼續快取呼叫 JSON API

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

    取代:

    • BUCKET_NAME 替換成與要繼續的快取相關聯的值區名稱。例如:my-bucket

    • ANYWHERE_CACHE_ID,其中包含快取的 ID。例如:us-east1-b

如果成功,作業會傳回格式化的 AnywhereCache 資源

停用快取

控制台

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在值區清單中,按一下與要停用快取相關聯的值區名稱。

  3. 在「Bucket details」(值區詳細資料) 頁面中,按一下「Observability」(可觀測性) 分頁標籤,然後在導覽選單中按一下「Anywhere Cache」(Anywhere Cache)

  4. 按一下「停用/恢復快取」

  5. 在隨即顯示的窗格中,按一下「停用快取」圖示 ()。

  6. 在隨即顯示的對話方塊中,按一下「確認」

  7. 按一下 [關閉]

指令列

使用 gcloud storage buckets anywhere-caches disable 指令:

gcloud storage buckets anywhere-caches disable ID

取代:

  • ID,並使用快取執行個體的 ID,公式為 BUCKET_NAME/ANYWHERE_CACHE_ID。例如:my-bucket/us-east1-b

    如要一次停用多個快取,可以指定多個 ID。例如 my-bucket/us-east1-b my-bucket/us-east1-c

如果成功,指令會傳回格式化的 AnywhereCache 資源

用戶端程式庫

C++

詳情請參閱 Cloud Storage C++ API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。

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

詳情請參閱 Cloud Storage Java API 參考說明文件

如要驗證 Cloud Storage,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。


import com.google.storage.control.v2.AnywhereCache;
import com.google.storage.control.v2.DisableAnywhereCacheRequest;
import com.google.storage.control.v2.StorageControlClient;
import java.io.IOException;

public final class AnywhereCacheDisable {

  public static void anywhereCacheDisable(String cacheName) throws IOException {
    try (StorageControlClient storageControl = StorageControlClient.create()) {

      DisableAnywhereCacheRequest request =
          DisableAnywhereCacheRequest.newBuilder().setName(cacheName).build();

      AnywhereCache anywhereCache = storageControl.disableAnywhereCache(request);

      System.out.printf("Disabled anywhere cache: %s%n", anywhereCache.getName());
    }
  }
}

Terraform

如要瞭解如何搭配使用「任何位置」快取與 Terraform,請參閱 google_storage_anywhere_cacheTerraform 說明文件

REST API

JSON API

  1. 安裝並初始化 gcloud CLI,以便為 Authorization 標頭產生存取權杖。

  2. 使用 cURL 透過停用快取的要求呼叫 JSON API

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

    取代:

    • BUCKET_NAME,其中包含要停用快取的值區名稱。例如:my-bucket

    • ANYWHERE_CACHE_ID,其中包含快取的 ID。例如:us-east1-b

如果成功,指令會傳回格式化的 AnywhereCache 資源

監控快取效能

Google Cloud 控制台的 Cloud Storage 部分提供監控圖表,可讓您使用指標追蹤快取的效能。您也可以使用 Cloud Monitoring 查看這些監控圖表。

可用的圖表

圖表 資源階層結構層級 說明
位元組剔除率 值區 每小時取樣一次,從快取中剔除的位元組速率。這項資料每小時更新多次,以確保系統有足夠時間完成後續處理。
位元組剔除率 專案 bucket 中所有快取剔除的位元組速率,每小時取樣一次。這項資料每小時更新多次,以確保系統有足夠時間完成後續處理。
快取中的位元組數 值區 快取中的位元組數,每小時取樣一次。這項資料每小時更新多次,以確保系統有足夠時間完成後續處理。
快取中的位元組數 專案 bucket 所有快取中的位元組數,每小時取樣一次。 這項資料每小時更新多次,以確保系統有足夠時間完成後續處理。
快取處理量效益 專案 區域、雙區域或多區域的資料傳輸頻寬配額比率、配額用量,以及快取提供的額外處理量。快取提供的額外處理量不會計入配額,因此使用快取之後,專案的處理量可以超出配額上限。
命中率作業 值區 這項指標以 60 秒為間隔,顯示符合條件的所有快取作業中,有多少比例的快取作業是透過快取提供所要求的各項資料。如果讀取內容完全從快取傳回,該項作業會計為「命中」。如果讀取內容只有一部分或並非從快取傳回,該項作業則會計為「失敗」。
命中率作業 專案 這項指標以 60 秒為間隔,顯示符合條件的所有快取作業中,有多少比例的快取作業是透過某個 bucket 的所有快取提供所要求的各項資料。如果讀取內容完全從快取傳回,該項作業會計為「命中」。如果讀取內容只有一部分或並非從快取傳回,該項作業則會計為「失敗」。
命中率 (位元組數) 值區 快取提供的位元組數,在符合條件的快取總位元組數中的占比。每 60 秒取樣一次。
命中率 (位元組數) 專案 某個 bucket 所有快取提供的位元組數,在符合條件的快取總位元組數中的占比,每 60 秒取樣一次。
原始位元組擷取率 值區 各快取擷取原始位元組的速率,每 60 秒取樣一次。所有擷取的位元組 (包括非計費位元組) 都會用於計算這項指標的值。這項指標會即時回報。
原始位元組擷取率 專案 bucket 中所有快取擷取原始位元組的速率,每 60 秒取樣一次。所有擷取的位元組 (包括非計費位元組) 都會用於計算這項指標的值。這項指標會即時回報。
處理量 - 快取命中 值區 快取提供的處理量,每 60 秒取樣一次。
處理量 - 快取命中 專案 某個 bucket 所有快取提供的處理量,每 60 秒取樣一次。
處理量 - 快取失敗 值區 每 60 秒取樣一次,顯示未透過快取提供的處理量。
處理量 - 快取失敗 專案 bucket 中任何快取未提供的處理量,每 60 秒取樣一次。

存取圖表

監控圖表會擷取個別值區或專案內所有值區的資料。圖表擷取的資源階層層級,會決定您可存取圖表的位置。

存取值區層級圖表

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在值區清單中,找出您要查看監控圖表的值區,然後點選該值區名稱。

  3. 前往「Bucket details」(值區詳細資料) 頁面,點選「Observability」(可觀測性) 分頁標籤。

  4. 在導覽選單中選取「Anywhere Cache」

    系統會顯示監控圖表。

存取專案層級圖表

  1. 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。

    前往「Buckets」(值區) 頁面

  2. 在「Cloud Storage」導覽窗格中,按一下「監控」

  3. 按一下選單列中的「Anywhere Cache」

    系統會顯示監控圖表。

使用長時間執行的作業

成功執行後,「AnywhereCaches Create」和「Update」作業會啟動長時間執行的作業。您可以取得及列出長時間執行的作業,以便查看基礎 AnywhereCaches 作業的詳細資料和狀態,也可以取消長時間執行的作業,以便在基礎 AnywhereCaches 作業進行中時取消該作業。

如需使用 Anywhere Cache 的長時間執行作業的操作說明,請參閱「使用長時間執行作業」。

以下範例顯示從 AnywhereCaches Create 作業啟動的長時間執行作業:

done: false
kind: storage#operation
metadata:
  '@type': type.googleapis.com/google.storage.control.v2.CreateAnywhereCacheMetadata
  anywhereCacheId: us-central1-c
  zone: us-central1-c
  ttl: 172800s
  admissionPolicy: admit-on-first-miss
  commonMetadata:
    createTime: '2023-12-14T20:52:00.032Z'
    progressPercent: -1
    requestedCancellation: false
    type: create-anywhere-cache
    updateTime: '2023-12-14T20:52:00.032Z'
name: projects/_/buckets/my-bucket/operations/AULf_KhQxxsWRSn56wv4jfmn3pOu_dKTz9FoYx6S0EzMw5ssR0cXIiorCvHRwqxZnQmWj9jnGpKb3Y6iCD3XM9KLc8EHBm7uig
selfLink: https://www.googleapis.com/storage/v1/b/my-bucket/operations/AULf_KhQxxsWRSn56wv4jfmn3pOu_dKTz9FoYx6S0EzMw5ssR0cXIiorCvHRwqxZnQmWj9jnGpKb3Y6iCD3XM9KLc8EHBm7uig

重試

預設情況下,非同步 AnywhereCaches API 是等冪的。也就是說,您可以安全地重試非同步 AnywhereCaches API 呼叫,不必擔心會意外修改資源。

舉例來說,假設您執行 AnywhereCaches Create 作業,在 us-central1-a 中建立快取,且作業成功。如果您使用相同的區域執行後續的 AnywhereCaches Create 作業,且作業成功,則要求會傳回與先前要求相同的長時間執行作業。請注意,只有在建立快取要求中加入 request_id 時,才會發生這種情況。如果未加入 request_id,嘗試建立已存在的快取時,會收到 ANYWHERE_CACHE_ALREADY_EXISTS 錯誤。如要瞭解如何加入 request_id,請參閱「要求識別資訊」。

後續步驟

取得要為哪些值區和區域建立快取的建議