Menayangkan fitur dari toko online

Dengan Vertex AI Feature Store, Anda dapat menyalurkan nilai fitur secara online secara real time dari tampilan fitur dalam toko online. Misalnya, Anda dapat menayangkan nilai fitur dari tampilan fitur untuk prediksi online. Tampilan fitur harus disinkronkan setidaknya satu kali sebelum Anda dapat menayangkan fitur secara online dari fitur tersebut.

Jika tampilan fitur ditentukan berdasarkan grup fitur dan fitur, Vertex AI Feature Store akan mengambil nilai fitur terbaru yang sesuai dengan ID entitas tertentu. Jika ada beberapa data dengan nilai yang sama di kolom ID, Vertex AI Feature Store akan mengambil nilai fitur non-null terbaru, berdasarkan kolom feature_timestamp.

Jika tampilan fitur dikaitkan langsung dengan sumber data BigQuery tanpa mengaitkan grup fitur dan fitur, Vertex AI Feature Store akan mengambil semua nilai fitur dari sumber data. Dalam hal ini, setiap baris dalam sumber data harus berisi ID unik.

Bergantung pada jenis penyaluran online yang dikonfigurasi untuk penyimpanan online, Anda dapat menyalurkan nilai fitur dengan salah satu cara berikut:

Sebelum memulai

Lakukan autentikasi ke Vertex AI, kecuali jika Anda telah melakukannya.

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

Python

Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. Buat kredensial autentikasi lokal untuk Akun Google Anda:

    gcloud auth application-default login

Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.

REST

Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Mengambil nilai fitur menggunakan penyaluran online Bigtable

Anda dapat menggunakan penyaluran online Bigtable untuk melakukan hal berikut:

Mengambil nilai fitur untuk satu entity

Gunakan contoh berikut untuk mengambil nilai fitur berdasarkan ID entitas tertentu menggunakan penyaluran online Bigtable.

REST

Untuk mengambil semua nilai fitur terbaru untuk ID entitas tertentu dari instance FeatureView, kirim permintaan POST menggunakan metode featureView.fetchFeatureValues.

Sebelum menggunakan salah satu data permintaan, lakukan proses penggantian berikut:

  • LOCATION_ID: Region tempat toko online berada, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama penyimpanan online yang berisi tampilan fitur.
  • FEATUREVIEW_NAME: Nama tampilan fitur tempat Anda ingin menyajikan nilai fitur.
  • ENTITY_ID: Nilai kolom ID di data fitur tempat Anda ingin menyajikan nilai fitur terbaru.
  • FORMAT: Opsional: Format yang Anda inginkan untuk mengambil nilai fitur. Format berikut didukung:
    • KEY_VALUE
    • PROTO_STRUCT

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues

Isi JSON permintaan:

{
  data_key: { key: "ENTITY_ID" },
  data_format: "FORMAT"
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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/FEATUREVIEW_NAME:fetchFeatureValues"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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/FEATUREVIEW_NAME:fetchFeatureValues" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

key_values {
  features {
    value {
      int64_value: 258348
    }
    name: "feature_0"
  }
  features {
    value {
      double_value: 0.96300036744534068
    }
    name: "feature_1"
  }
  features {
    value {
      double_value: 0.42787383695351083
    }
    name: "feature_2"
  }
  features {
    value {
      double_value: 0.12219888824743128
    }
    name: "feature_3"
  }
  features {
    value {
      double_value: 0.037523154697944622
    }
    name: "feature_4"
  }
  features {
    value {
      double_value: 0.1766952509448767
    }
    name: "feature_5"
  }
}

Python

Gunakan contoh berikut untuk mengambil nilai fitur berdasarkan ID entitas tertentu menggunakan penyaluran online Bigtable.

from google.cloud.aiplatform_v1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1.types import feature_online_store_service as feature_online_store_service_pb2

data_client = FeatureOnlineStoreServiceClient(
  client_options={"api_endpoint": f"LOCATION_ID-aiplatform.googleapis.com"}
)
data_client.fetch_feature_values(
  request=feature_online_store_service_pb2.FetchFeatureValuesRequest(
    feature_view=f"projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME",
    data_key=feature_online_store_service_pb2.FeatureViewDataKey(key="ENTITY_ID"),
    data_format=feature_online_store_service_pb2.FeatureViewDataFormat.FORMAT,
  )
)

Ganti kode berikut:

  • LOCATION_ID: Region tempat toko online berada, seperti us-central1.

  • PROJECT_ID: Project ID Anda.

  • FEATUREONLINESTORE_NAME: Nama penyimpanan online yang berisi tampilan fitur.

  • FEATUREVIEW_NAME: Nama tampilan fitur tempat Anda ingin menyajikan nilai fitur.

  • ENTITY_ID: Nilai kolom ID di data fitur tempat Anda ingin menyajikan nilai fitur terbaru.

  • FORMAT: Opsional: Format yang Anda inginkan untuk mengambil nilai fitur. Format yang didukung mencakup pasangan KEY_VALUE JSON dan format PROTO_STRUCT proto.

Mengambil nilai fitur untuk kumpulan entity

Gunakan contoh berikut untuk mengambil nilai fitur dengan menentukan kumpulan ID dari beberapa kolom ID entitas menggunakan penyaluran online Bigtable.

REST

Untuk mengambil semua nilai fitur terbaru untuk ID entitas tertentu dari instance FeatureView, kirim permintaan POST menggunakan metode featureViews.streamingFetchFeatureValues.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat toko online berada, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama penyimpanan online yang berisi tampilan fitur.
  • FEATUREVIEW_NAME: Nama tampilan fitur tempat Anda ingin menyajikan nilai fitur.
  • ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3, dan ENTITY_ID_4: Kumpulan nilai dari kolom ID dalam data fitur tempat Anda ingin menayangkan nilai fitur terbaru. Perhatikan bahwa mengelompokkan ID entitas sebagai beberapa daftar bertingkat dalam permintaan dapat membantu mengurangi latensi, karena Vertex AI Feature Store melakukan operasi baca terpisah untuk setiap daftar ID bertingkat.

Metode HTTP dan URL:

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

Isi JSON permintaan:

[
  {
    data_keys: [{key: "ENTITY_ID_1"}, {key: "ENTITY_ID_2"}],
    feature_view: "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME"
  },
  {
    data_keys: [{key: "ENTITY_ID_3"}, {key: "ENTITY_ID_4"}],
    feature_view: "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME"
  }
]

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:streamingFetchFeatureValues"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:streamingFetchFeatureValues" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

[data {
  key_values {
    features {
      name: "movies"
      value {
        string_value: "movie_04"
      }
    }
    features {
      name: "feature_timestamp"
      value {
        int64_value: 1631694494000000
      }
    }
  }
  data_key {
    key: "eve"
  }
}
, data {
  key_values {
    features {
      name: "movies"
      value {
        string_value: "movie_03"
      }
    }
    features {
      name: "feature_timestamp"
      value {
        int64_value: 1631612115000000
      }
    }
  }
  data_key {
    key: "alice"
  }
}
data {
  key_values {
    features {
      name: "movies"
      value {
        string_value: "movie_02"
      }
    }
    features {
      name: "feature_timestamp"
      value {
        int64_value: 1631694494000000
      }
    }
  }
  data_key {
    key: "bob"
  }
}
]

Python

Gunakan contoh berikut untuk mengambil nilai fitur dari beberapa kolom ID entitas menggunakan penyaluran online Bigtable.

from google.cloud.aiplatform_v1beta1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1beta1.types import feature_online_store_service as feature_online_store_service_pb2

data_client = FeatureOnlineStoreServiceClient(
  client_options={"api_endpoint": f"LOCATION_ID-aiplatform.googleapis.com"}
)

feature_view = "projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME"

keys_list=[
    ["ENTITY_ID_1","ENTITY_ID_2"],
    ["ENTITY_ID_3","ENTITY_ID_4"]
  ]

requests = []

for keys in keys_list:
  requests.append(
    feature_online_store_service_pb2.StreamingFetchFeatureValuesRequest(
      feature_view=feature_view,
      data_keys=[
          feature_online_store_service_pb2.FeatureViewDataKey(key=key)
          for key in keys
      ]    
    )
  )

responses = data_client.streaming_fetch_feature_values(
    requests=iter(requests)
)
responses = [response for response in responses]

Ganti kode berikut:

  • LOCATION_ID: Region tempat toko online berada, seperti us-central1.

  • PROJECT_ID: Project ID Anda.

  • FEATUREONLINESTORE_NAME: Nama penyimpanan online yang berisi tampilan fitur.

  • FEATUREVIEW_NAME: Nama tampilan fitur tempat Anda ingin menyajikan nilai fitur.

  • ENTITY_ID_1, ENTITY_ID_2, ENTITY_ID_3, dan ENTITY_ID_4: ID entity tempat Anda ingin menayangkan nilai fitur terbaru. Perhatikan bahwa mengelompokkan ID entity sebagai beberapa daftar bertingkat dalam permintaan dapat membantu mengurangi latensi, karena Vertex AI Feature Store melakukan operasi baca terpisah untuk setiap daftar ID bertingkat.

Mengambil nilai fitur menggunakan Penayangan online yang dioptimalkan dari endpoint publik

Jika telah mengonfigurasi instance toko online untuk menyalurkan nilai fitur menggunakan Penyaluran online yang dioptimalkan dari endpoint publik, Anda harus melakukan langkah-langkah berikut untuk mengambil nilai fitur dari tampilan fitur dalam toko online:

  1. Ambil nama domain endpoint publik untuk instance FeatureOnlineStore.

  2. Mengambil nilai fitur dari ID entitas menggunakan nama domain endpoint publik.

Mengambil nama domain endpoint publik untuk toko online

Saat Anda membuat dan mengonfigurasi instance penyimpanan online untuk Penyaluran online yang dioptimalkan dengan endpoint publik, Vertex AI Feature Store akan membuat nama domain endpoint publik untuk penyimpanan online. Sebelum dapat mulai menyalurkan nilai fitur dari tampilan fitur di toko online, Anda perlu mengambil nama domain endpoint publik dari detail toko online.

Gunakan contoh berikut untuk mengambil detail instance toko online.

REST

Untuk mengambil detail resource FeatureOnlineStore di project Anda, kirim permintaan GET menggunakan metode featureOnlineStores.get.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat toko online berada, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama instance toko online.

Metode HTTP dan URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME"

PowerShell

Jalankan perintah berikut:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME_1",
  "createTime": "2023-09-06T23:25:04.256314Z",
  "updateTime": "2023-09-06T23:25:04.256314Z",
  "etag": "AMEw9yMgoV0bAsYuKwVxz4Y7lOmxV7riNVHg217KaQAKORqvdqGCrQ1DIt8yHgoGXf8=",
  "state": "STABLE",
  "dedicatedServingEndpoint": {
    "publicEndpointDomainName": "PUBLIC_ENDPOINT_DOMAIN_NAME"
  },
  "optimized": {}
}

Anda memerlukan PUBLIC_ENDPOINT_DOMAIN_NAME dari respons untuk mengambil nilai fitur pada langkah berikut.

Mengambil nilai fitur dari ID entity

Setelah Anda mengambil nama domain endpoint publik untuk instance toko online, gunakan contoh berikut untuk mengambil nilai fitur untuk ID entitas tertentu menggunakan Penyaluran online yang dioptimalkan.

REST

Untuk mengambil semua nilai fitur terbaru untuk ID entitas tertentu dari instance FeatureView, kirim permintaan POST menggunakan metode featureViews.fetchFeatureValues.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PUBLIC_ENDPOINT_DOMAIN_NAME: Nama domain endpoint publik untuk instance toko online yang Anda ambil menggunakan metode featureOnlineStores.get.
  • LOCATION_ID: Region tempat toko online berada, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama penyimpanan online yang berisi tampilan fitur.
  • FEATUREVIEW_NAME: Nama tampilan fitur tempat Anda ingin menyajikan nilai fitur.
  • ENTITY_ID: Nilai kolom ID di data fitur tempat Anda ingin menyajikan nilai fitur terbaru.
  • FORMAT: Opsional: Format yang digunakan untuk mengambil nilai fitur. Format berikut didukung:
    • KEY_VALUE
    • PROTO_STRUCT

Metode HTTP dan URL:

POST https://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues

Isi JSON permintaan:

{
  data_key: { key: "ENTITY_ID" },
  data_format: "FORMAT"
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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://PUBLIC_ENDPOINT_DOMAIN_NAME/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:fetchFeatureValues" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

key_values {
  features {
    value {
      int64_value: 258348
    }
    name: "feature_0"
  }
  features {
    value {
      double_value: 0.96300036744534068
    }
    name: "feature_1"
  }
  features {
    value {
      double_value: 0.42787383695351083
    }
    name: "feature_2"
  }
  features {
    value {
      double_value: 0.12219888824743128
    }
    name: "feature_3"
  }
  features {
    value {
      double_value: 0.037523154697944622
    }
    name: "feature_4"
  }
  features {
    value {
      double_value: 0.1766952509448767
    }
    name: "feature_5"
  }
}

Python

Gunakan contoh berikut untuk mengambil nilai fitur berdasarkan ID entitas tertentu menggunakan penyaluran online yang Dioptimalkan.

from google.cloud.aiplatform_v1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1.types import feature_online_store_service as feature_online_store_service_pb2

data_client = FeatureOnlineStoreServiceClient(
  client_options={"api_endpoint": f"PUBLIC_ENDPOINT_DOMAIN_NAME"}
)
data_client.fetch_feature_values(
  request=feature_online_store_service_pb2.FetchFeatureValuesRequest(
    feature_view=f"projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME",
    id=f"ENTITY_ID",
    format=feature_online_store_service_pb2.FetchFeatureValuesRequest.Format.FORMAT,
  )
)

Ganti kode berikut:

  • PUBLIC_ENDPOINT_DOMAIN_NAME: Nama domain endpoint publik untuk instance toko online yang Anda ambil menggunakan metode featureOnlineStores.get.

  • LOCATION_ID: Region tempat toko online berada, seperti us-central1.

  • PROJECT_ID: Project ID Anda.

  • FEATUREONLINESTORE_NAME: Nama penyimpanan online yang berisi tampilan fitur.

  • FEATUREVIEW_NAME: Nama tampilan fitur tempat Anda ingin menyajikan nilai fitur.

  • ENTITY_ID: Nilai kolom ID di data fitur tempat Anda ingin menyajikan nilai fitur terbaru.

  • FORMAT: Opsional: Format yang Anda inginkan untuk mengambil nilai fitur. Format yang didukung mencakup pasangan KEY_VALUE JSON dan format PROTO_STRUCT proto.

Mengambil nilai fitur menggunakan layanan online yang Dioptimalkan dari endpoint Private Service Connect

Jika telah mengonfigurasi instance penyimpanan online untuk menyalurkan nilai fitur menggunakan penyaluran online yang dioptimalkan dari endpoint Private Service Connect, Anda perlu melakukan langkah-langkah berikut untuk mengambil nilai fitur dari tampilan fitur dalam penyimpanan online:

  1. Ambil konfigurasi Private Service Connect untuk instance FeatureOnlineStore.

  2. Tambahkan endpoint untuk Private Service Connect ke konfigurasi jaringan Anda.

  3. Hubungkan ke endpoint Private Service Connect melalui gRPC.

  4. Mengambil nilai fitur dari ID entity.

Mengambil string lampiran layanan untuk toko online

Saat Anda membuat dan mengonfigurasi instance toko online untuk penayangan online yang Dioptimalkan dengan endpoint Private Service Connect, Vertex AI Feature Store akan menghasilkan string lampiran layanan yang dapat Anda gunakan untuk menyiapkan endpoint Private Service Connect. Anda dapat mengambil string lampiran layanan dari detail toko online.

Gunakan contoh berikut untuk mengambil detail instance toko online.

REST

Untuk mengambil detail resource FeatureOnlineStore di project Anda, kirim permintaan GET menggunakan metode featureOnlineStores.get.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat toko online berada, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama instance toko online.

Metode HTTP dan URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Jalankan perintah berikut:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME"

PowerShell

Jalankan perintah berikut:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME_1",
  "createTime": "2023-09-06T23:25:04.256314Z",
  "updateTime": "2023-09-06T23:25:04.256314Z",
  "etag": "AMEw9yMgoV0bAsYuKwVxz4Y7lOmxV7riNVHg217KaQAKORqvdqGCrQ1DIt8yHgoGXf8=",
  "state": "STABLE",
  "dedicatedServingEndpoint": {
    "privateServiceConnectConfig": {
      "enablePrivateServiceConnect": "true",
      "projectAllowlist": [
        "PROJECT_NAME"
      ]
    },
    serviceAttachment: "SERVICE_ATTACHMENT_STRING"
  },
  "optimized": {}
}

Anda memerlukan SERVICE_ATTACHMENT_STRING dari respons untuk mengambil nilai fitur di langkah berikut.

Menambahkan endpoint untuk Private Service Connect

Untuk menambahkan endpoint Private Service Connect untuk penayangan online yang Dioptimalkan ke konfigurasi jaringan Anda, lakukan langkah-langkah berikut:

  1. Di konsol Google Cloud, pilih project yang berisi instance toko online.

  2. Buat endpoint untuk Private Service Connect dengan menentukan SERVICE_ATTACHMENT_STRING sebagai Target service. Untuk mengetahui informasi tentang cara membuat endpoint untuk Private Service Connect, lihat Membuat endpoint.

Setelah Anda membuat endpoint, endpoint tersebut akan muncul di tab Connected endpoints di halaman Private Service Connect. Alamat IP endpoint muncul di kolom IP addresses.

Buka tab Connected endpoints

Anda harus menggunakan alamat IP ini untuk terhubung ke endpoint untuk instance toko online Anda ke endpoint Private Service Connect melalui gRPC pada langkah berikut.

Terhubung ke endpoint Private Service Connect melalui gRPC

Gunakan contoh kode berikut untuk terhubung ke endpoint Private Service Connect yang dibuat untuk toko online Anda melalui gRPC.

Python

from google.cloud.aiplatform_v1 import FeatureOnlineStoreServiceClient
from google.cloud.aiplatform_v1.services.feature_online_store_service.transports.grpc import FeatureOnlineStoreServiceGrpcTransport
import grpc

data_client = FeatureOnlineStoreServiceClient(
  transport = FeatureOnlineStoreServiceGrpcTransport(
    # Add the IP address of the Endpoint you just created.
    channel = grpc.insecure_channel("ENDPOINT_IP:10002")
  )
)

Ganti kode berikut:

  • ENDPOINT_IP: Alamat IP endpoint di kolom Alamat IP di halaman Private Service Connect.

Mengambil nilai fitur dari ID entity

Setelah terhubung ke endpoint Private Service Connect melalui gRPC, gunakan contoh berikut untuk mengambil nilai fitur untuk ID entitas tertentu menggunakan penyaluran online yang dioptimalkan.

Python

data_client.fetch_feature_values(
  request=feature_online_store_service_pb2.FetchFeatureValuesRequest(
  feature_view=f"projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME",
  data_key=feature_online_store_service_pb2.FeatureViewDataKey(ENTITY_ID),
  data_format=feature_online_store_service_pb2.FeatureViewDataFormat.PROTO_STRUCT,
  )
)

Ganti kode berikut:

  • LOCATION_ID: Region tempat toko online berada, seperti us-central1.

  • PROJECT_ID: Project ID Anda.

  • FEATUREONLINESTORE_NAME: Nama penyimpanan online yang berisi tampilan fitur.

  • FEATUREVIEW_NAME: Nama tampilan fitur tempat Anda ingin menyajikan nilai fitur.

  • ENTITY_ID: Nilai kolom ID di data fitur tempat Anda ingin menyajikan nilai fitur terbaru.

  • FORMAT: Opsional: Format yang Anda inginkan untuk mengambil nilai fitur. Format yang didukung mencakup format pasangan nilai kunci JSON dan proto Struct. Perhatikan bahwa format proto Struct tidak mendukung jenis nilai fitur byte. Jika Anda ingin mengambil nilai fitur yang diformat sebagai byte, gunakan JSON sebagai format respons.

Langkah selanjutnya