建立網路商店執行個體

如要設定線上提供功能,請先建立 Bigtable 線上提供或最佳化線上提供 (已淘汰) 的線上商店執行個體。

請注意,建立網路商店時,選擇 Bigtable 線上提供或最佳化線上提供後,就無法變更線上提供類型。不過,您可以變更為最佳化線上提供建立的網路商店執行個體,調整其提供端點設定。

建立網路商店後,您可以新增特徵檢視表,並將這些特徵檢視表與 BigQuery 中的特徵資料來源建立關聯。

建立網路商店執行個體時,您可以指定客戶自行管理的加密金鑰 (CMEK),加密網路商店執行個體。只有 Bigtable 線上提供功能支援使用 CMEK 加密。如要進一步瞭解使用 CMEK 的好處,以及 CMEK 是否適用於您的網路商店,請參閱「CMEK 的優點」。

視使用的金鑰類型而定,使用 CMEK 可能會產生額外費用。如要進一步瞭解定價,請參閱「Cloud Key Management Service 定價」。

事前準備

向 Gemini Enterprise Agent Platform 驗證 (如果尚未驗證)。

請根據您打算如何使用本頁範例,選取對應的分頁標籤:

控制台

使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證機制。

Python

如要在本機開發環境中使用本頁的 Python 範例,請安裝並初始化 gcloud CLI,然後使用使用者憑證設定應用程式預設憑證。

  1. 安裝 Google Cloud CLI。

  2. 若您採用的是外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

  3. 如果您使用的是本機殼層,請為使用者帳戶建立本機驗證憑證:

    gcloud auth application-default login

    如果您使用的是 Cloud Shell,則不必執行這項操作。

    如果系統傳回驗證錯誤,且您使用的是外部識別資訊提供者 (IdP),請確認您已 使用聯合身分登入 gcloud CLI。

詳情請參閱「 為本機開發環境設定驗證機制」。

REST

如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

    安裝 Google Cloud CLI。

    若您採用的是外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」一節。

建立 Bigtable 線上提供服務的網路商店

使用 Bigtable 線上提供功能時,您可以選擇使用 CMEK 加密網路商店。

為 Bigtable 線上提供建立網路商店 (不使用 CMEK)

如要為 Bigtable 線上提供建立網路商店執行個體,並啟用自動調度資源功能,但不指定 CMEK,請使用 Google Cloud 控制台或 REST API。

控制台

請按照下列操作說明,使用 Google Cloud 控制台建立 Bigtable 線上提供服務的網路商店。

  1. 在 Google Cloud 控制台的「Agent Platform」部分,前往「Feature Store」(特徵儲存庫) 頁面。

    前往「Feature Store」(特徵儲存庫) 頁面

  2. 按一下「網路商店」,前往「網路商店」部分。

  3. 點選「建立」,開啟「建立網路商店」頁面。

  4. 指定網路商店名稱。

  5. 選用:如要新增標籤,請按一下「新增標籤」,然後指定標籤名稱和值。你可以為網路商店新增多個標籤。

  6. 在「Choose a storage solution for your online store」(為網路商店選取儲存空間解決方案) 欄位中,點選「Bigtable」。

  7. 視需要修改「節點數量下限」、「節點數量上限」和「CPU 使用率目標」。

  8. 點選「建立」。

Python

如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。詳情請參閱 Python API 參考文件。


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_bigtable_feature_online_store_sample(
    project: str,
    location: str,
    feature_online_store_id: str,
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore.create_bigtable_store(
        feature_online_store_id
    )
    return fos

  • project:專案 ID。
  • location:網路商店所在區域,例如 us-central1。
  • feature_online_store_id:新 FeatureOnlineStore 執行個體的名稱。

REST

如要建立 FeatureOnlineStore 資源,請使用 featureOnlineStores.create 方法傳送 POST 要求。

使用任何要求資料之前,請先修改下列項目的值:

  • LOCATION_ID:要建立網路商店的區域,例如 us-central1。
  • PROJECT_ID:專案 ID。
  • FEATUREONLINESTORE_NAME:新網路商店執行個體的名稱。
  • BOOLEAN:選用:如要建立支援嵌入管理的網路商店,請輸入 true。預設值為 false。

HTTP 方法和網址:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

JSON 要求內文:

{
  "bigtable": {
    "auto_scaling": {
      "min_node_count": 1,
      "max_node_count": 3,
      "cpu_utilization_target": 50
    }
  }
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

您應該會收到如下的 JSON 回覆:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

建立使用 CMEK 的網路商店

請按照下列步驟,為 Bigtable 線上提供建立網路商店執行個體,並使用 CMEK 加密。

使用 CMEK 加密可能會產生額外的使用費用,具體取決於使用的金鑰類型。如要進一步瞭解定價,請參閱「Cloud KMS 定價」。

  1. 使用 Cloud KMS 設定客戶自行管理的加密金鑰。

  2. 如要建立 FeatureOnlineStore 資源,請使用 featureOnlineStores.create 方法並指定 CMEK,傳送下列 POST 要求。

    使用任何要求資料之前,請先修改下列項目的值:

    • LOCATION_ID:要建立網路商店的區域,例如 us-central1。
    • PROJECT_ID:專案 ID。
    • FEATUREONLINESTORE_NAME:新網路商店執行個體的名稱。
    • BOOLEAN:選用:如要建立支援嵌入管理的網路商店,請輸入 true。預設值為 false。
    • KEY_NAME:要用於這個中繼資料儲存庫的加密金鑰名稱。

    HTTP 方法和網址:

    POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

    JSON 要求內文:

    {
      "bigtable": {
        "auto_scaling": {
          "min_node_count": 1,
          "max_node_count": 3,
          "cpu_utilization_target": 50
        }
      },
      "encryption_spec": {
        "kms_key_name": "KEY_NAME"
      }
    }
    

    如要傳送要求,請選擇以下其中一個選項:

    curl

    將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

    PowerShell

    將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

    您應該會收到如下的 JSON 回覆:

    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
        "genericMetadata": {
          "createTime": "2023-09-18T17:49:23.847496Z",
          "updateTime": "2023-09-18T17:49:23.847496Z"
        }
      }
    }
    

建立網路商店,用於最佳化線上提供

使用最佳化線上提供功能時,您可以設定網路商店,透過公開端點或專屬 Private Service Connect 端點提供特徵。

建立網路商店,透過公開端點使用最佳化線上提供功能

請使用下列範例,建立具備公開端點的最佳化線上提供網路商店。

控制台

請按照下列操作說明,使用 Google Cloud 控制台建立網路商店,用於最佳化線上提供。

  1. 在 Google Cloud 控制台的「Agent Platform」部分,前往「Feature Store」(特徵儲存庫) 頁面。

    前往「Feature Store」(特徵儲存庫) 頁面

  2. 按一下「網路商店」,前往「網路商店」部分。

  3. 點選「建立」,開啟「建立網路商店」頁面。

  4. 指定網路商店名稱。

  5. 選用:如要新增標籤,請按一下「Add label」(新增標籤),然後指定標籤名稱和值。您可以為網路商店新增多個標籤。

  6. 在「Choose a storage solution for your online store」(為網路商店選取儲存空間解決方案) 欄位中,按一下「Optimized」(最佳化)。

  7. 點選「建立」。

Python

如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。詳情請參閱 Python API 參考文件。


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_optimized_public_feature_online_store_sample(
    project: str,
    location: str,
    feature_online_store_id: str,
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore.create_optimized_store(
        feature_online_store_id
    )
    return fos

  • project:專案 ID。
  • location:要建立 FeatureOnlineStore 執行個體的區域,例如 us-central1。
  • feature_online_store_id:新 FeatureOnlineStore 執行個體的名稱。

REST

如要建立網路商店執行個體,請使用 featureOnlineStores.create 方法傳送 POST 要求。

使用任何要求資料之前,請先修改下列項目的值:

  • LOCATION_ID:要建立 FeatureOnlineStore 執行個體的區域,例如 us-central1。
  • PROJECT_ID:專案 ID。
  • FEATUREONLINESTORE_NAME:新 FeatureOnlineStore 執行個體的名稱。

HTTP 方法和網址:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

JSON 要求內文:

{
  "optimized": {}
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

您應該會收到如下的 JSON 回覆:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

建立網路商店,透過 Private Service Connect 端點提供最佳化線上提供

使用下列範例,建立網路商店,以便透過 Private Service Connect 執行最佳化線上提供作業。

Python

如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。詳情請參閱 Python API 參考文件。


from typing import List

from google.cloud import aiplatform
from vertexai.resources.preview import feature_store


def create_optimized_private_feature_online_store_sample(
    project: str,
    location: str,
    feature_online_store_id: str,
    project_allowlist: List[str],
):
    aiplatform.init(project=project, location=location)
    fos = feature_store.FeatureOnlineStore.create_optimized_store(
        name=feature_online_store_id,
        enable_private_service_connect=True,
        project_allowlist=project_allowlist,
    )
    return fos

  • project:專案 ID。
  • location:要建立 FeatureOnlineStore 執行個體的區域,例如 us-central1。
  • feature_online_store_id:新 FeatureOnlineStore 執行個體的名稱。
  • project_allowlist:要加入 Private Service Connect (PSC) 許可清單的專案名稱清單。

REST

如要建立網路商店執行個體,請使用 featureOnlineStores.create 方法傳送 POST 要求。

使用任何要求資料之前,請先修改下列項目的值:

  • LOCATION_ID:要建立 FeatureOnlineStore 執行個體的區域,例如 us-central1。
  • PROJECT_ID:專案 ID。
  • FEATUREONLINESTORE_NAME:新 FeatureOnlineStore 執行個體的名稱。
  • PROJECT_NAMES:要加入 Private Service Connect (PSC) 許可清單的專案名稱清單。

HTTP 方法和網址:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME

JSON 要求內文:

{
  "optimized": {},
  "dedicated_serving_endpoint": {
    "private_service_connect_config": {
      "enable_private_service_connect": true,
      "project_allowlist": ["PROJECT_NAMES"]
    }
  }
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME"

PowerShell

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores?feature_online_store_id=FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

您應該會收到如下的 JSON 回覆:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureOnlineStoreOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T17:49:23.847496Z",
      "updateTime": "2023-09-18T17:49:23.847496Z"
    }
  }
}

後續步驟