オンライン ストア インスタンスを作成する

オンライン サービングを設定するには、まず Bigtable オンライン サービングまたは最適化されたオンライン サービング用のオンライン ストア インスタンスを作成する必要があります。 Bigtable オンライン サービングと最適化されたオンライン サービングの違いについては、オンライン サービングのタイプをご覧ください。

オンライン ストアの作成中に Bigtable オンライン サービングまたは最適化されたオンライン サービングを選択した後に、オンライン サービングの種類を変更することはできません。ただし、最適化されたオンライン サービング用に作成されたオンライン ストア インスタンスのサービス エンドポイントの構成は変更できます。

オンライン ストアを作成したら、特徴ビューを追加し、それらの特徴ビューを BigQuery の特徴データソースに関連付けることができます。

Bigtable オンライン サービング用のオンライン ストアを作成する

自動スケーリングを使用して、Bigtable オンライン サービング用のオンライン ストア インスタンスを作成するには、次のサンプルを使用してください。

コンソール

Google Cloud コンソールで Bigtable オンライン サービング用のオンライン ストアを作成するには、次の操作を行います。

  1. Google Cloud コンソールの [Vertex AI] セクションで、[Feature Store] ページに移動します。

    [Feature Store] ページに移動

  2. [オンライン ストア] をクリックして、[オンライン ストア] セクションに移動します。

  3. [作成] をクリックして [オンライン ストアを作成] ページを開きます。

  4. オンライン ストアの名前を指定します。

  5. 省略可: ラベルを追加するには、[ラベルを追加] をクリックし、ラベル名と値を指定します。オンライン ストアには複数のラベルを追加できます。

  6. [オンライン ショップ用のストレージ ソリューションの選択] フィールドで、[Bigtable] をクリックします。

  7. 最小ノード数最大ノード数CPU 使用率の目標値を必要に応じて変更します。

  8. [作成] をクリックします。

REST

FeatureOnlineStore リソースを作成するには、featureOnlineStores.create メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: オンライン ストアを作成するリージョン(us-central1 など)。
  • PROJECT_ID: 実際のプロジェクト ID。
  • FEATUREONLINESTORE_NAME: 新しいオンライン ストア インスタンスの名前。
  • BOOLEAN:(省略可)エンベディング管理をサポートするオンライン ストアを作成するには、「true」と入力します。デフォルト値は false です。

HTTP メソッドと URL:

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"
    }
  }
}

最適化されたオンライン サービング用のオンライン ストアを作成する

最適化されたオンライン サービングを使用する場合、パブリック エンドポイントまたは専用の Private Service Connect エンドポイントのいずれかから特徴を提供するようにオンライン ストアを構成できます。VPC ネットワーク内でパブリック エンドポイントよりも低いレイテンシで特徴を提供する場合は、Private Service Connect エンドポイントを使用します。

最適化されたオンライン サービング用にパブリック エンドポイントを使用してオンライン ストアを作成する

次のサンプルでは、最適化されたオンライン サービング用にパブリック エンドポイントを使用してオンライン ストアを作成します。

コンソール

Google Cloud コンソールで最適化されたオンライン サービング用のオンライン ストアを作成するには、次の操作を行います。

  1. Google Cloud コンソールの [Vertex AI] セクションで、[Feature Store] ページに移動します。

    [Feature Store] ページに移動

  2. [オンライン ストア] をクリックして、[オンライン ストア] セクションに移動します。

  3. [作成] をクリックして [オンライン ストアを作成] ページを開きます。

  4. オンライン ストアの名前を指定します。

  5. 省略可: ラベルを追加するには、[ラベルを追加] をクリックし、ラベル名と値を指定します。オンライン ストアには複数のラベルを追加できます。

  6. [オンライン ショップ用のストレージ ソリューションの選択] フィールドで、[最適化] をクリックします。

  7. [作成] をクリックします。

REST

オンライン ストア インスタンスを作成するには、featureOnlineStores.create メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: FeatureOnlineStore インスタンスを作成するリージョン(us-central1 など)。
  • PROJECT_ID: 実際のプロジェクト ID。
  • FEATUREONLINESTORE_NAME: 新しい FeatureOnlineStore インスタンスの名前。

HTTP メソッドと URL:

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 を使用してオンライン ストアを作成します。

REST

オンライン ストア インスタンスを作成するには、featureOnlineStores.create メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

  • LOCATION_ID: FeatureOnlineStore インスタンスを作成するリージョン(us-central1 など)。
  • PROJECT_ID: 実際のプロジェクト ID。
  • FEATUREONLINESTORE_NAME: 新しい FeatureOnlineStore インスタンスの名前。

HTTP メソッドと URL:

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_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"
    }
  }
}

次のステップ