您可以在現有的線上商店執行個體中建立特徵檢視畫面。建立特徵檢視區塊時,您可以透過下列方式將特徵與其建立關聯:
從特徵登錄新增特徵群組和特徵:與特徵登錄中的現有特徵群組和特徵建立關聯。特徵群組會指定 BigQuery 資料來源的位置。特徵群組中的特徵會指向該資料來源中的特定特徵資料欄。您可以將特徵檢視畫面與多個特徵群組建立關聯。
從 BigQuery 來源新增特徵:直接關聯 BigQuery 資料來源 (例如 BigQuery 資料表或檢視區塊),並指定至少一個實體 ID 欄。
建立特徵檢視區塊後,Vertex AI 特徵儲存庫會從 BigQuery 資料來源同步處理最新的特徵值。如果您設定查詢參數 run_sync_immediately=true
,Vertex AI 特徵儲存庫會在您建立特徵檢視區塊時,同步處理特徵值。否則,Vertex AI 特徵儲存庫會根據特徵檢視區塊指定的同步時間表,同步處理特徵值。
事前準備
向 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」。
在特徵檢視中同步處理特徵資料
Vertex AI 特徵儲存庫可以從 BigQuery 資料來源重新整理或同步特徵值至特徵檢視畫面。您可以使用 FeatureView.sync_config
參數,指定特徵檢視區塊的資料同步類型。
Vertex AI 特徵儲存庫支援下列資料同步類型:
排定資料同步處理時間:您可以指定資料同步處理的時間或頻率。無論為網路商店執行個體指定的線上放送類型為何,您都可以為功能檢視畫面選擇這項排程資料同步。
如果特徵檢視區塊已設定為使用排定的資料同步作業,您可以手動啟動資料同步作業,選擇略過等待下一次排定同步作業的時間。如要進一步瞭解如何手動觸發資料同步,請參閱「將功能資料同步至網路商店」。
在線上服務期間,如果只想提供最新的特徵值 (包括空值),請務必使用下列設定:
建立線上商店執行個體時,請選擇 Bigtable 線上服務。
建立特徵檢視區塊時,請選擇排定資料同步時間。
持續同步資料:每當 BigQuery 資料來源中的特徵資料更新時,特徵資料就會重新整理。只有在符合下列所有條件時,您才能為特徵檢視畫面選擇這類資料同步:
線上商店執行個體已設定為 Bigtable 線上供應。
特徵檢視畫面與特徵群組和特徵資源相關聯。
BigQuery 資料來源位於下列任一區域:
eu
us
us-central1
持續資料同步有下列限制:
如果為特徵檢視區塊選取連續資料同步,就無法更新該檢視區塊。
系統只會從 BigQuery 資料來源同步處理新的特徵記錄。持續資料同步不會同步處理您在 BigQuery 中更新或刪除的特徵記錄。
特徵註冊庫來源中的特徵群組必須以 BigQuery 資料表做為來源。
在排定的資料同步期間最佳化成本
資料同步作業可能會產生 BigQuery 資源用量費用。請遵循以下規範,在資料同步期間盡可能降低這些費用並提升效能:
請勿將同步時間表設為比 BigQuery 來源資料變更頻率更頻繁。
在 BigQuery 中,盡量縮小特徵資料來源的大小。建立特徵檢視區塊時,請只納入線上供應所需的資料。
避免在 BigQuery 中執行複雜的匯總作業。對資料表或檢視表執行
SELECT *
查詢,估算資料處理量和處理時間。設定網路商店的縮放選項時,請將
max_node_count
設為足夠高的值,以因應資料同步期間的高負載。在同一個線上商店中,為不同特徵檢視畫面安排不同的同步時間。
如果 BigQuery 資料表包含大量歷史資料,請考慮使用時間戳記將資料表分區,並指定時間範圍來擷取特徵資料。這樣可盡量減少同步期間擷取的過時功能資料。
資料同步期間,Bigtable 使用率會提高。如要透過 Bigtable 線上服務,在線上儲存庫中建立特徵檢視區塊,請在離峰時段排定同步處理作業,以獲得最佳效能。
設定特徵檢視區塊的服務帳戶
每個特徵檢視區塊都會在同步期間,使用服務帳戶存取 BigQuery 中的來源資料。Vertex AI 特徵儲存庫會將 BigQuery 資料檢視者身分與存取權管理 (IAM) 角色指派給這個服務帳戶。
根據預設,特徵檢視區塊會使用為專案設定的服務帳戶。完成這項設定後,專案中任何有權建立特徵檢視區塊的使用者,都能存取 BigQuery 中的特徵資料。
或者,您也可以設定特徵檢視畫面,使用自己的服務帳戶。Vertex AI 特徵儲存庫隨後會為特徵檢視畫面設定專屬服務帳戶。完成這項設定後,您就能限制 BigQuery 中特徵資料的存取權,或授予其他使用者存取權。您可以使用 FeatureView.service_agent_type
參數指定服務帳戶設定。請注意,針對設定專屬服務帳戶的每個特徵檢視畫面,Vertex AI 特徵儲存庫都會產生專屬的服務帳戶電子郵件地址。
如果特徵檢視區塊已設定專屬服務帳戶,您可以透過下列任一方式查看服務帳戶電子郵件地址:
使用 featureViews.get 方法擷取特徵檢視區塊的詳細資料。
設定特徵檢視區塊的向量擷取作業
您可以透過 FeatureView.index_config
參數,為針對最佳化線上服務建立的線上商店,設定特徵檢視區塊的向量擷取功能。如要瞭解如何準備或更新 BigQuery 資料來源,以納入 embedding
欄位來支援嵌入,請參閱資料來源準備指南。
請注意,只有在指定 BigQuery 來源 URI 建立特徵檢視區塊時,才能設定向量擷取功能及管理嵌入內容,而無法透過特徵註冊庫中的特徵群組和特徵進行設定。
如要進一步瞭解如何使用 Vertex AI 特徵儲存庫中的嵌入功能搜尋近似最近鄰,請參閱「使用嵌入功能搜尋」。
從特徵群組建立特徵檢視
您可以根據使用特徵群組和特徵註冊的特徵資料建立特徵檢視區塊。如要將多個 BigQuery 資料來源與同一個特徵檢視區塊建立關聯,可以指定多個特徵群組。
如果您指定特徵群組和特徵來建立特徵檢視畫面:
資料來源必須有
feature_timestamp
欄,且可包含歷來資料。Vertex AI 特徵儲存庫只會根據特徵時間戳記,提供最新的特徵值。
您無法為特徵檢視畫面設定嵌入管理功能。
使用預設服務帳戶設定建立特徵檢視區塊
使用下列範例建立特徵檢視區塊,方法是關聯多個特徵群組,但不必指定服務帳戶設定。
REST
如要建立 FeatureView
資源,請使用 featureViews.create 方法傳送 POST
要求。
使用任何要求資料之前,請先替換以下項目:
- LOCATION_ID:要建立特徵檢視區塊的區域,例如
us-central1
。 - PROJECT_ID:您的專案 ID。
- FEATUREONLINESTORE_NAME:要在其中建立特徵檢視區塊的線上商店執行個體名稱。
- FEATUREVIEW_NAME:要建立的新特徵檢視區塊執行個體名稱。
- FEATUREGROUP_NAME_A 和 FEATUREGROUP_NAME_B:要從中將特徵新增至特徵檢視區塊的特徵群組名稱。
- FEATURE_ID_A1 和 FEATURE_ID_A2:要新增至特徵檢視區塊的特徵群組 FEATUREGROUP_NAME_A 中的特徵 ID。
- FEATURE_ID_B1 和 FEATURE_ID_B2:要新增至特徵檢視區塊的特徵群組 FEATUREGROUP_NAME_B 中的特徵 ID。
- SYNC_CONFIG:為特徵檢視畫面輸入下列其中一個同步設定:
- 如要使用排定時間的資料同步功能,請提供下列格式的同步排程:
"cron": "cron_schedule_expression"
請將 `cron_schedule_expression` 替換為 Cron 排程運算式,代表將資料同步至特徵檢視區塊的頻率。詳情請參閱 cron。 - 如要使用持續資料同步功能,請輸入下列內容:
"continuous": true
只有在為 Bigtable 線上服務設定包含特徵檢視區塊的網路商店執行個體時,才能使用持續資料同步功能。
- 如要使用排定時間的資料同步功能,請提供下列格式的同步排程:
HTTP 方法和網址:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
JSON 要求主體:
{ "feature_registry_source": { "feature_groups": [ { "feature_group_id": "FEATUREGROUP_NAME_A", "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ] }, { "feature_group_id": "FEATUREGROUP_NAME_B", "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ] } ] }, "sync_config": { SYNC_CONFIG } }
如要傳送要求,請選擇以下其中一個選項:
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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
建立使用專用服務帳戶的特徵檢視區塊
請使用下列範例,透過設定專屬服務帳戶,從特徵群組建立特徵檢視畫面。
REST
如要建立 FeatureView
資源,請使用 featureViews.create 方法傳送 POST
要求。
使用任何要求資料之前,請先替換以下項目:
- LOCATION_ID:要建立特徵檢視區塊的區域,例如
us-central1
。 - PROJECT_ID:您的專案 ID。
- FEATUREONLINESTORE_NAME:要在其中建立特徵檢視區塊的線上商店執行個體名稱。
- FEATUREVIEW_NAME:要建立的新特徵檢視區塊執行個體名稱。
- FEATUREGROUP_NAME_A 和 FEATUREGROUP_NAME_B:要從中將特徵新增至特徵檢視區塊的特徵群組名稱。
- FEATURE_ID_A1 和 FEATURE_ID_A2:要新增至特徵檢視區塊的特徵群組 FEATUREGROUP_NAME_A 中的特徵 ID。
- FEATURE_ID_B1 和 FEATURE_ID_B2:要新增至特徵檢視區塊的特徵群組 FEATUREGROUP_NAME_B 中的特徵 ID。
- SYNC_CONFIG:為特徵檢視畫面輸入下列其中一個同步設定:
- 如要使用排定時間的資料同步功能,請提供下列格式的同步排程:
"cron": "cron_schedule_expression"
請將 `cron_schedule_expression` 替換為 Cron 排程運算式,代表將資料同步至特徵檢視區塊的頻率。詳情請參閱 cron。 - 如要使用持續資料同步功能,請輸入下列內容:
"continuous": true
只有在為 Bigtable 線上服務設定包含特徵檢視區塊的網路商店執行個體時,才能使用持續資料同步功能。
- 如要使用排定時間的資料同步功能,請提供下列格式的同步排程:
- SERVICE_AGENT_TYPE:特徵檢視區塊的服務帳戶設定。如要為特徵檢視畫面使用專屬服務帳戶,請輸入
SERVICE_AGENT_TYPE_FEATURE_VIEW
。
HTTP 方法和網址:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
JSON 要求主體:
{ "feature_registry_source": { "feature_groups": [ { "feature_group_id": "FEATUREGROUP_NAME_A", "feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ] }, { "feature_group_id": "FEATUREGROUP_NAME_B", "feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ] } ] }, "sync_config": { SYNC_CONFIG }, "service_agent_type": "SERVICE_AGENT_TYPE", }
如要傳送要求,請選擇以下其中一個選項:
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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
從 BigQuery 來源建立特徵檢視區塊
如要線上提供特徵,但不想使用特徵群組和特徵註冊 BigQuery 資料來源,可以指定 BigQuery 資料來源的 URI 來建立特徵檢視區塊。
如果您透過指定資料來源建立特徵檢視區塊:
您無法在 BigQuery 資料表或檢視畫面中加入
feature_timestamp
欄。資料來源中無法包含歷來特徵值。每個資料列都必須包含不重複的實體 ID。
建立使用預設服務帳戶的特徵檢視區塊,且不支援嵌入
使用下列範例建立不支援嵌入的特徵檢視區塊,方法是直接關聯 BigQuery 資料來源,且不指定服務帳戶設定。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Python API 參考說明文件。
project
:您的專案 ID。location
:要建立特徵檢視區塊的區域,例如us-central1
。existing_feature_online_store_id
:要在其中建立特徵檢視區塊的線上商店執行個體名稱。feature_view_id
:要建立的新特徵檢視區塊執行個體名稱。bq_table_uri
:BigQuery 來源資料表或檢視區塊的 URI。entity_id_columns
:包含實體 ID 的資料欄名稱。您可以指定單一資料欄或多個資料欄。- 如要只指定一個實體 ID 欄,請使用下列格式指定欄名:
"entity_id_column_name"
。 - 如要指定多個實體 ID 資料欄,請採用以下格式指定資料欄名稱:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
。
- 如要只指定一個實體 ID 欄,請使用下列格式指定欄名:
REST
如要建立 FeatureView
資源,請使用 featureViews.create 方法傳送 POST
要求。
使用任何要求資料之前,請先替換以下項目:
- LOCATION_ID:要建立特徵檢視區塊的區域,例如
us-central1
。 - PROJECT_ID:您的專案 ID。
- FEATUREONLINESTORE_NAME:要在其中建立特徵檢視區塊的線上商店執行個體名稱。
- FEATUREVIEW_NAME:要建立的新特徵檢視區塊名稱。
- PROJECT_NAME:您的專案名稱。
- DATASET_NAME:您的 BigQuery 資料集名稱。
- TABLE_NAME:BigQuery 資料集中的資料表名稱。
- ENTITY_ID_COLUMNS:包含實體 ID 的資料欄名稱。您可以指定單一資料欄或多個資料欄。
- 如要只指定一個實體 ID 欄,請以下列格式指定欄名:
"entity_id_column_name"
- 如要指定多個實體 ID 資料欄,請以下列格式指定資料欄名稱:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- 如要只指定一個實體 ID 欄,請以下列格式指定欄名:
- CRON:Cron 排程運算式,代表將資料同步至特徵檢視區塊的頻率。詳情請參閱 cron。
HTTP 方法和網址:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
JSON 要求主體:
{ "big_query_source": { "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME", "entity_id_columns": "ENTITY_ID_COLUMNS" }, "sync_config": { "cron": "CRON" } }
如要傳送要求,請選擇以下其中一個選項:
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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
建立使用預設服務帳戶且支援嵌入的特徵檢視區塊
使用下列範例,直接關聯 BigQuery 資料來源並採用預設服務帳戶設定,建立支援嵌入的特徵檢視區塊。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Python API 參考說明文件。
project
:您的專案 ID。location
:要建立特徵檢視區塊的區域,例如us-central1
。existing_feature_online_store_id
:要在其中建立特徵檢視區塊的線上商店執行個體名稱。feature_view_id
:要建立的新特徵檢視區塊執行個體名稱。bq_table_uri
:BigQuery 來源資料表或檢視區塊的 URI。entity_id_columns
:包含實體 ID 的資料欄名稱。您可以指定單一資料欄或多個資料欄。- 如要只指定一個實體 ID 欄,請使用下列格式指定欄名:
"entity_id_column_name"
。 - 如要指定多個實體 ID 資料欄,請採用以下格式指定資料欄名稱:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
。
- 如要只指定一個實體 ID 欄,請使用下列格式指定欄名:
embedding_column
:包含來源資料的資料欄名稱,用於建立向量搜尋的索引。只有在您想透過特徵檢視畫面管理嵌入內容時,才需要這麼做。embedding_dimensions
:選用。嵌入欄中嵌入的大小,以維度數量表示。
REST
如要建立 FeatureView
資源,請使用 featureViews.create 方法傳送 POST
要求。
使用任何要求資料之前,請先替換以下項目:
- LOCATION_ID:要建立特徵檢視區塊的區域,例如
us-central1
。 - PROJECT_ID:您的專案 ID。
- FEATUREONLINESTORE_NAME:要在其中建立特徵檢視區塊的線上商店執行個體名稱。
- FEATUREVIEW_NAME:要建立的新特徵檢視區塊名稱。
- PROJECT_NAME:您的專案名稱。
- DATASET_NAME:您的 BigQuery 資料集名稱。
- TABLE_NAME:BigQuery 資料集中的資料表名稱。
- ENTITY_ID_COLUMNS:包含實體 ID 的資料欄名稱。您可以指定單一資料欄或多個資料欄。
- 如要只指定一個實體 ID 欄,請以下列格式指定欄名:
"entity_id_column_name"
- 如要指定多個實體 ID 資料欄,請以下列格式指定資料欄名稱:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- 如要只指定一個實體 ID 欄,請以下列格式指定欄名:
- CRON:Cron 排程運算式,代表將資料同步至特徵檢視區塊的頻率。詳情請參閱 cron。
- EMBEDDING_COLUMN:包含來源資料的資料欄名稱,用於建立向量搜尋的索引。只有在您想透過特徵檢視畫面管理嵌入內容時,才需要這麼做。
- FILTER_COLUMN_1 和 FILTER_COLUMN_2:選用。用於篩選向量搜尋結果的資料欄名稱。
- CROWDING_COLUMN:選用:包含擁擠屬性的資料欄名稱。
- EMBEDDING_DIMENSION:選用:嵌入資料欄中嵌入的大小,以維度數量表示。
HTTP 方法和網址:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
JSON 要求主體:
{ "big_query_source": { "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME", "entity_id_columns": "ENTITY_ID_COLUMNS" }, "sync_config": { "cron": "CRON" }, "index_config": { "embedding_column": "EMBEDDING_COLUMN", "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"], "crowding_column": "CROWDING_COLUMN", "embedding_dimension": EMBEDDING_DIMENSION "tree_ah_config": {} } }
如要傳送要求,請選擇以下其中一個選項:
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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
使用專屬服務帳戶建立特徵檢視區塊,且不嵌入管理功能
使用下列範例直接建立 BigQuery 資料來源並指定服務帳戶設定,即可建立不支援嵌入的特徵檢視區塊。
REST
如要建立支援嵌入的 FeatureView
資源,請使用 featureViews.create 方法傳送 POST
要求,並指定 FeatureView.index_config
參數。請注意,只有在線上商店已設定為最佳化線上放送時,才能使用嵌入管理功能。
使用任何要求資料之前,請先替換以下項目:
- LOCATION_ID:要建立特徵檢視區塊的區域,例如
us-central1
。 - PROJECT_ID:您的專案 ID。
- FEATUREONLINESTORE_NAME:要在其中建立特徵檢視區塊的線上商店執行個體名稱。
- FEATUREVIEW_NAME:要建立的新特徵檢視區塊名稱。
- PROJECT_NAME:您的專案名稱。
- DATASET_NAME:您的 BigQuery 資料集名稱。
- TABLE_NAME:BigQuery 資料集中的資料表名稱。
- ENTITY_ID_COLUMNS:包含實體 ID 的資料欄名稱。您可以指定單一資料欄或多個資料欄。
- 如要只指定一個實體 ID 欄,請以下列格式指定欄名:
"entity_id_column_name"
- 如要指定多個實體 ID 資料欄,請以下列格式指定資料欄名稱:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- 如要只指定一個實體 ID 欄,請以下列格式指定欄名:
- CRON:Cron 排程運算式,代表將資料同步至特徵檢視區塊的頻率。詳情請參閱 cron。
- SERVICE_AGENT_TYPE:特徵檢視區塊的服務帳戶設定。如要為特徵檢視畫面使用專屬服務帳戶,請輸入
SERVICE_AGENT_TYPE_FEATURE_VIEW
。
HTTP 方法和網址:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
JSON 要求主體:
{ "big_query_source": { "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME", "entity_id_columns": "ENTITY_ID_COLUMNS" }, "sync_config": { "cron": "CRON" }, "service_agent_type": "SERVICE_AGENT_TYPE", }
如要傳送要求,請選擇以下其中一個選項:
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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
建立具有嵌入管理功能和專用服務帳戶的特徵檢視區塊
使用下列範例直接關聯 BigQuery 資料來源,並指定服務帳戶設定,建立支援嵌入的特徵檢視區。
REST
如要建立支援嵌入的 FeatureView
資源,請使用 featureViews.create 方法傳送 POST
要求,並指定 FeatureView.index_config
參數。請注意,只有在線上商店已設定為最佳化線上放送時,才能使用嵌入管理功能。
使用任何要求資料之前,請先替換以下項目:
- LOCATION_ID:要建立特徵檢視區塊的區域,例如
us-central1
。 - PROJECT_ID:您的專案 ID。
- FEATUREONLINESTORE_NAME:要在其中建立特徵檢視區塊的線上商店執行個體名稱。
- FEATUREVIEW_NAME:要建立的新特徵檢視區塊名稱。
- PROJECT_NAME:您的專案名稱。
- DATASET_NAME:您的 BigQuery 資料集名稱。
- TABLE_NAME:BigQuery 資料集中的資料表名稱。
- ENTITY_ID_COLUMNS:包含實體 ID 的資料欄名稱。您可以指定單一資料欄或多個資料欄。
- 如要只指定一個實體 ID 欄,請以下列格式指定欄名:
"entity_id_column_name"
- 如要指定多個實體 ID 資料欄,請以下列格式指定資料欄名稱:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- 如要只指定一個實體 ID 欄,請以下列格式指定欄名:
- CRON:Cron 排程運算式,代表將資料同步至特徵檢視區塊的頻率。詳情請參閱 cron。
- SERVICE_AGENT_TYPE:特徵檢視區塊的服務帳戶設定。如要為特徵檢視畫面使用專屬服務帳戶,請輸入
SERVICE_AGENT_TYPE_FEATURE_VIEW
。 - EMBEDDING_COLUMN:包含來源資料的資料欄名稱,用於建立向量搜尋的索引。只有在您想透過特徵檢視畫面管理嵌入內容時,才需要這麼做。
- FILTER_COLUMN_1 和 FILTER_COLUMN_2:選用。用於篩選向量搜尋結果的資料欄名稱。
- CROWDING_COLUMN:選用:包含擁擠屬性的資料欄名稱。
- EMBEDDING_DIMENSION:選用:嵌入資料欄中嵌入的大小,以維度數量表示。
HTTP 方法和網址:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
JSON 要求主體:
{ "big_query_source": { "uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME", "entity_id_columns": "ENTITY_ID_COLUMNS" }, "sync_config": { "cron": "CRON" }, "service_agent_type": "SERVICE_AGENT_TYPE", "index_config": { "embedding_column": "EMBEDDING_COLUMN", "filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"], "crowding_column": "CROWDING_COLUMN", "embedding_dimension": EMBEDDING_DIMENSION "tree_ah_config": {} } }
如要傳送要求,請選擇以下其中一個選項:
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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_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/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
您應該會收到如下的 JSON 回應:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata", "genericMetadata": { "createTime": "2023-09-15T02:11:29.458820Z", "updateTime": "2023-09-15T02:11:29.458820Z" } } }
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-09-04 (世界標準時間)。