您可以使用 Vision Warehouse API,透過指令列管理 Vision Warehouse 資源。
在資料擷取部署的應用程式中,連結的資料倉儲 (corpus) 是 Google Cloud 專案中的資源。請使用下列指令管理這些資源。
建立語料庫資源
串流影片語料庫
系統不支援「search_capability_setting」欄位。default_ttl 欄位為必填,且時間長度不得超過 10 年。
REST
如要建立 corpora 資源,請使用 projects.locations.corpora.create 方法傳送 POST 要求。
使用任何要求資料之前,請先替換以下項目:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - DISPLAY_NAME:倉庫的顯示名稱。
- WAREHOUSE_DESCRIPTION:倉庫的說明 (
corpus)。 - TIME_TO_LIVE:語料庫中所有資產的存留時間 (TTL),或特定資產的 TTL。舉例來說,如果語料庫的資產 TTL 為 100 天,請提供
8640000(秒) 這個值。
HTTP 方法和網址:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
JSON 要求內文:
{
"display_name": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "STREAM_VIDEO",
"default_ttl": {
"seconds": TIME_TO_LIVE
}
}
如要傳送要求,請選擇以下其中一個選項:
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/corpora"
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/corpora" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
"displayName": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "STREAM_VIDEO",
"defaultTtl": "TIME_TO_LIVE"
}
}
圖片語料庫
系統不支援「default_ttl」欄位。
REST
如要建立 corpora 資源,請使用 projects.locations.corpora.create 方法傳送 POST 要求。
使用任何要求資料之前,請先替換以下項目:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - DISPLAY_NAME:倉庫的顯示名稱。
- WAREHOUSE_DESCRIPTION:倉庫說明 (
corpus)。
HTTP 方法和網址:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
JSON 要求內文:
{
"display_name": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
如要傳送要求,請選擇以下其中一個選項:
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/corpora"
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/corpora" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
"displayName": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
}
批次影片語料庫
系統不支援「default_ttl」欄位。
REST
如要建立 corpora 資源,請使用 projects.locations.corpora.create 方法傳送 POST 要求。
使用任何要求資料之前,請先替換以下項目:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - DISPLAY_NAME:倉庫的顯示名稱。
- WAREHOUSE_DESCRIPTION:倉庫說明 (
corpus)。
HTTP 方法和網址:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
JSON 要求內文:
{
"display_name": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "VIDEO_ON_DEMAND",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
如要傳送要求,請選擇以下其中一個選項:
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/corpora"
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/corpora" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
"displayName": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "VIDEO_ON_DEMAND",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
}
更新語料庫資源
串流影片語料庫
系統不支援「search_capability_setting」欄位。
REST
如要更新語料庫資源,請使用 projects.locations.corpora.patch 方法傳送 PATCH 要求。
使用任何要求資料之前,請先替換以下項目:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - CORPUS_ID:目標語料庫的 ID。
?updateMask=fieldToUpdate:可套用updateMask的可用欄位之一。在要求主體中指定對應的新欄位值。這項新值會取代現有的欄位值。可用欄位:- 顯示名稱:
?updateMask=display_name - 說明:
?updateMask=description - 預設存留時間 (TTL):
?updateMask=default_ttl - 更新所有欄位:
?updateMask=*
- 顯示名稱:
- UPDATED_FIELD_VALUE:指定欄位的新值。在這個範例中,倉庫資源會使用使用者提供的新顯示名稱。
HTTP 方法和網址:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID?update_mask=display_name
JSON 要求內文:
{
"displayName": "UPDATED_FIELD_VALUE",
"description": "Original description",
"defaultTtl": {
"seconds": "7800"
}
}
如要傳送要求,請選擇以下其中一個選項:
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/corpora/CORPUS_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/corpora/CORPUS_ID?update_mask=display_name" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_ID/locations/LOCATION_ID/corpora/CORPORA_ID",
"displayName": "UPDATED_FIELD_VALUE",
"description": "Original description",
"defaultTtl": "7800s"
}
圖片語料庫
系統不支援「default_ttl」欄位。
REST
如要更新語料庫資源,請使用 projects.locations.corpora.patch 方法傳送 PATCH 要求。
使用任何要求資料之前,請先替換以下項目:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - CORPUS_ID:目標語料庫的 ID。
?updateMask=fieldToUpdate:可套用updateMask的可用欄位之一。在要求主體中指定對應的新欄位值。這項新值會取代現有的欄位值。可用欄位:- 顯示名稱:
?updateMask=display_name - 說明:
?updateMask=description - 預設存留時間 (TTL):
?updateMask=default_ttl - 更新所有欄位:
?updateMask=*
- 顯示名稱:
- UPDATED_FIELD_VALUE:指定欄位的新值。在這個範例中,倉庫資源會使用使用者提供的新顯示名稱。
HTTP 方法和網址:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID?update_mask=display_name
JSON 要求內文:
{
"displayName": "UPDATED_FIELD_VALUE",
"description": "Original description"
}
如要傳送要求,請選擇以下其中一個選項:
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/corpora/CORPUS_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/corpora/CORPUS_ID?update_mask=display_name" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_ID/locations/LOCATION_ID/corpora/CORPORA_ID",
"displayName": "UPDATED_FIELD_VALUE",
"description": "Original description"
}
批次影片語料庫
系統不支援「default_ttl」欄位。
REST
如要更新語料庫資源,請使用 projects.locations.corpora.patch 方法傳送 PATCH 要求。
使用任何要求資料之前,請先替換以下項目:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - CORPUS_ID:目標語料庫的 ID。
?updateMask=fieldToUpdate:可套用updateMask的可用欄位之一。在要求主體中指定對應的新欄位值。這項新值會取代現有的欄位值。可用欄位:- 顯示名稱:
?updateMask=display_name - 說明:
?updateMask=description - 預設存留時間 (TTL):
?updateMask=default_ttl - 更新所有欄位:
?updateMask=*
- 顯示名稱:
- UPDATED_FIELD_VALUE:指定欄位的新值。在這個範例中,倉庫資源會使用使用者提供的新顯示名稱。
HTTP 方法和網址:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID?update_mask=display_name
JSON 要求內文:
{
"displayName": "UPDATED_FIELD_VALUE",
"description": "Original description"
}
如要傳送要求,請選擇以下其中一個選項:
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/corpora/CORPUS_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/corpora/CORPUS_ID?update_mask=display_name" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_ID/locations/LOCATION_ID/corpora/CORPORA_ID",
"displayName": "UPDATED_FIELD_VALUE",
"description": "Original description"
}
列出所有語料庫
REST
如要列出所有語料庫 (倉庫),請使用 projects.locations.corpora.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/corpora
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora"
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/corpora" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"corpora": [
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID1",
"displayName": "CORPUS_DISPLAYNAME1",
"description": "CORPUS_DESCRIPTION1"
},
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID2",
"displayName": "CORPUS_DISPLAYNAME2",
"description": "CORPUS_DESCRIPTION2",
"defaultTtl": "8640000s"
},
],
"nextPageToken": "ChM3MDk3NTk3Nzc2OTk3NDA3OTkzEAo"
}
取得語料庫資源
REST
如要取得語料庫 (倉庫) 的詳細資料,請使用 projects.locations.corpora.get 方法傳送 GET 要求。
使用任何要求資料之前,請先替換以下項目:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - CORPUS_ID:目標語料庫的 ID。
HTTP 方法和網址:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_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/corpora/CORPUS_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/corpora/CORPUS_ID" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
"displayName": "CORPUS_DISPLAYNAME",
"description": "CORPUS_DESCRIPTION",
"defaultTtl": "8640000s"
}
刪除語料庫資源
使用下列程式碼範例刪除語料庫。如要刪除語料庫,必須先刪除所有資產。
REST 和指令列
下列程式碼範例會使用 projects.locations.corpora.delete 方法刪除 corpus 資源。
使用任何要求資料之前,請先替換以下項目:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - CORPUS_ID:目標語料庫的 ID。
HTTP 方法和網址:
DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_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/corpora/CORPUS_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/corpora/CORPUS_ID" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{}