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-central1
、europe-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_name
和 description
。系統不允許更新索引端點的 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-central1
、europe-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-central1
、europe-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-central1
、europe-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-central1
、europe-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-central1
、europe-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-central1
、europe-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" }