管理索引端點

Vision Warehouse 索引端點是受管理環境,可提供 Vision Warehouse 索引。索引端點提供單一存取點,可傳送搜尋要求。如要搜尋 Vision Warehouse 語料庫,您必須先建立 indexEndpoint 資源,然後將索引部署至該資源。

建立索引端點

REST

如要建立索引端點,請使用 projects.locations.indexEndpoints.create 方法傳送 POST 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • INDEX_ENDPOINT_ID:(選用) 使用者提供的索引端點 ID 值。在這項要求中,值會以以下格式新增至要求網址:
    • https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints

JSON 要求主體:

{
  "display_name": "DISPLAY_NAME",
  "description": "DESCRIPTION",
}

如要傳送要求,請選擇以下其中一個選項:

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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints"

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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints" | Select-Object -Expand Content

您應該會收到如下的 JSON 回應:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
  }
}

更新索引端點

UpdateIndexEndpoint API 可用來更新索引端點的中繼資料欄位,例如 display_namedescription。系統不允許更新索引端點的 labels 欄位。

要求中的 update_mask 欄位 (又稱欄位遮罩) 用於指定要透過更新作業覆寫 indexEndpoint 資源中的欄位。update_mask 欄位中指定的欄位與資源相關,而非完整要求。如果資源位於遮罩中,系統會覆寫該資源的欄位。欄位遮罩不得為空。如果遮罩為「*」,則會觸發索引端點的完整更新。

REST

如要更新索引端點,請使用 projects.locations.indexEndpoints.patch 方法傳送 PATCH 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • INDEX_ENDPOINT_ID:目標索引端點的 ID。
  • ?update_mask=fieldToUpdate:要套用更新的可用欄位清單。在要求主體中,為新欄位指定對應的值。這項新值會取代現有的欄位值。您可以透過逗號分隔值的形式指定多個欄位。可用欄位:
    • 顯示名稱:?update_mask=display_name
    • 說明:?update_mask=description
    • 更新所有欄位:?update_mask=*

HTTP 方法和網址:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID?update_mask=display_name

JSON 要求主體:

{
  "display_name": "DISPLAY_NAME"
}

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID?update_mask=display_name"

PowerShell

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID?update_mask=display_name" | Select-Object -Expand Content

您應該會收到如下的 JSON 回應:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.UpdateIndexEndpointMetadata"
  }
}

列出索引端點

REST

如要列出 Vision Warehouse 專案下的索引端點,請使用 projects.locations.indexEndpoints.list 方法傳送 GET 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域

HTTP 方法和網址:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints"

PowerShell

執行下列指令:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints" | Select-Object -Expand Content

您應該會收到如下的 JSON 回應:

{
  "indexEndpoints": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID_1",
      "displayName": "DISPLAY_NAME_1",
      "description": "DESCRIPTION_1",
      "state": "CREATED"
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID_2",
      "displayName": "DISPLAY_NAME_2",
      "description": "DESCRIPTION_2",
      "state": "CREATED"
    }
  ]
}

取得索引端點

REST

如要取得索引端點的詳細資料,請使用 projects.locations.indexEndpoints.get 方法傳送 GET 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • INDEX_ENDPOINT_ID:目標索引端點的 ID。

HTTP 方法和網址:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID"

PowerShell

執行下列指令:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID" | Select-Object -Expand Content

您應該會收到如下的 JSON 回應:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID",
  "displayName": "DISPLAY_NAME",
  "description": "DESCRIPTION",
  "state": "CREATED"
}

部署索引

REST

如要將索引部署至索引端點,請使用 projects.locations.indexEndpoints.deployIndex 方法傳送 POST 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • INDEX_ENDPOINT_ID:目標索引端點的 ID。
  • CORPUS_ID:目標語料庫的 ID。
  • INDEX_ID:目標索引的 ID。

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex

JSON 要求主體:

{
  "deployedIndex": {
    "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}

如要傳送要求,請選擇以下其中一個選項:

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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"

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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content

您應該會收到如下的 JSON 回應:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata",
    "deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}

取消部署索引

REST

如要從索引端點取消部署索引,請使用 projects.locations.indexEndpoints.undeployIndex 方法傳送 POST 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • INDEX_ENDPOINT_ID:目標索引端點的 ID。

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex"

PowerShell

執行下列指令:

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

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex" | Select-Object -Expand Content

您應該會收到如下的 JSON 回應:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.UndeployIndexMetadata"
  }
}

刪除索引端點

只有在沒有 index 部署至索引端點時,才能刪除該端點。 如要刪除已部署索引的端點,請先取消部署索引

REST

如要刪除索引資源,請使用 projects.locations.indexEndpoints.delete 方法傳送 DELETE 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • INDEX_ENDPOINT_ID:目標索引端點的 ID。

HTTP 方法和網址:

DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID"

PowerShell

執行下列指令:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID" | Select-Object -Expand Content

您應該會收到如下的 JSON 回應:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID"
}