将特征数据同步到在线存储区

数据同步是从 BigQuery 中的特征数据源刷新或同步在线存储区的特征视图中的数据的过程。如需同步整个在线存储区的数据,您需要同步其所有特征视图的数据。

功能视图进行数据同步的方式有两种:

  • 定期数据同步:根据使用 FeatureView.sync_config 参数为特征视图配置的同步时间表,自动刷新特征数据。

  • 手动数据同步:您可以通过为特征视图手动启动数据同步,跳过两个定期数据同步操作之间的等待。

数据同步可能会产生 BigQuery 资源使用费。如需了解在为特征视图设置同步时间表时如何优化费用,请参阅在同步期间优化费用

手动启动数据同步

使用以下示例可在特征视图中手动启动数据同步。请注意,在任何时候,一个特征视图都只能有一个数据同步操作处于活动状态。如果正在进行另一个同步期间尝试手动启动数据同步,则新的同步操作只会在正在进行的同步操作结束后才开始。

REST

如需在 FeatureView 中手动启动数据同步,请使用 featureViews.sync 方法发送 POST 请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION_ID:在线存储区所在的区域,例如 us-central1
  • PROJECT_ID:您的项目 ID。
  • FEATUREONLINESTORE_NAME:包含特征视图的在线存储区的名称。
  • FEATUREVIEW_NAME:您要在其中手动启动数据同步的特征视图的名称。

HTTP 方法和网址:

POST http://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:sync

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"http://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:sync"

PowerShell

执行以下命令:

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

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "http://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:sync" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{
  "featureViewSync": "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/featureViewSyncs/OPERATION_ID"
}

后续步骤