建立網路商店執行個體

如要設定線上供應,請先為 Bigtable 線上供應或最佳化線上供應建立線上儲存庫執行個體。如要瞭解 Bigtable 線上提供和最佳化線上提供之間的差異,請參閱「線上提供類型」。

請注意,建立線上商店時,如果選擇 Bigtable 線上服務或最佳化線上服務,之後就無法變更線上服務類型。不過,您可以變更為最佳化線上放送建立的網路商店執行個體放送端點設定。

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

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

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

事前準備

向 Vertex AI 進行驗證 (如果尚未驗證)。

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

Python

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

    安裝 Google Cloud CLI。

    如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

    If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

詳情請參閱 Set up authentication for a local development environment

REST

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

    安裝 Google Cloud CLI。

    如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

為 Bigtable 線上服務建立線上商店

使用 Bigtable 線上服務時,您可以選擇使用 CMEK 加密線上商店。

建立 Bigtable 線上服務的網路商店 (不使用 CMEK)

如要建立 Bigtable 線上服務的線上商店執行個體 (具備自動調整功能,且未指定 CMEK),請使用 Google Cloud 控制台或 REST API。

控制台

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

  1. 在 Google Cloud 控制台的 Vertex AI 專區中,前往「Feature Store」頁面。

    前往 Feature Store 頁面

  2. 點按「網路商店」前往「網路商店」部分。

  3. 按一下「建立」,開啟「建立網路商店」頁面。

  4. 指定網路商店名稱。

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

  6. 在「為線上儲存庫選取儲存空間解決方案」欄位中,按一下「Bigtable」

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

  8. 點選「建立」

Python

如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 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 Key Management Service 定價

  1. 使用 Cloud Key Management Service 設定客戶管理的加密金鑰。

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

    使用任何要求資料之前,請先替換以下項目:

    • 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 端點放送功能。如要在虛擬私有雲網路中提供功能,且延遲時間比公開端點更短,請使用 Private Service Connect 端點。

建立具有公開端點的線上商店,以進行最佳化線上放送

請使用下列範例,為最佳化線上放送建立具有公開端點的線上商店。

控制台

按照下列操作說明,使用 Google Cloud 控制台建立線上商店,以進行最佳化線上放送。

  1. 在 Google Cloud 控制台的 Vertex AI 專區中,前往「Feature Store」頁面。

    前往 Feature Store 頁面

  2. 點按「網路商店」前往「網路商店」部分。

  3. 按一下「建立」,開啟「建立網路商店」頁面。

  4. 指定網路商店名稱。

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

  6. 在「為線上儲存庫選取儲存空間解決方案」欄位中,按一下「最佳化」

  7. 點選「建立」

Python

如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 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

如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 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"
    }
  }
}

後續步驟