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

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

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

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

事前準備

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

這個預先定義的角色具備建立及管理 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 方法啟動的長期執行的作業,您可能需要其他角色和權限。詳情請參閱長時間執行作業的必要角色

建立快取

控制台

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

    前往「Buckets」(值區) 頁面

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

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

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

    系統會顯示值區的「Edit configuration for <your_bucket_name>」(編輯「<your_bucket_name>」的設定) 頁面。

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

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

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

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

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

您也可以直接在「Bucket list」(儲存區清單) 頁面查看儲存區的快取狀態。如要這樣做,請按照下列指示操作:

  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 (24 小時)。

  • --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 (24 小時)。

    • 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 建立作業啟動的長時間執行作業:

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 建立作業,且作業成功,則要求會傳回與先前要求相同的長時間執行作業。請注意,只有在建立快取要求中加入 request_id 時,才會發生這種情況。如果未加入 request_id,嘗試建立已存在的快取時,會收到 ANYWHERE_CACHE_ALREADY_EXISTS 錯誤。如要瞭解如何加入 request_id,請參閱「要求重複」。

後續步驟

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