管理媒體素材資源

您可以使用 Vision Warehouse API,透過指令列管理 Vision Warehouse 資源。

在已部署的資料擷取應用程式中,已連結的倉庫 (corpus) 包含一或多個媒體物件 (例如影片資源)。這些媒體物件 (asset 資源) 包含中繼資料和資源註解。請使用下列指令管理這些媒體物件。

建立資產資源

REST

如要建立資產資源,請使用 projects.locations.corpora.assets.create 方法傳送 POST 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • CORPUS_ID:目標語料庫的 ID。
  • ASSET_ID:(選用) 使用者提供的資產 ID 值。在這項要求中,值會以以下格式新增至要求網址:
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
  • TIME_TO_LIVE:語料庫中所有資產的存留時間 (TTL),或特定資產的 TTL。舉例來說,如果語料庫的資產 TTL 為 100 天,請提供 8640000 (秒) 這個值。

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets

JSON 要求主體:

{
}

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

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/CORPUS_ID/assets"

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/CORPUS_ID/assets" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
}

更新資產資源

更新素材資源僅適用於串流影片素材資源。

REST

如要更新資產資源,請使用 projects.locations.corpora.assets.patch 方法傳送 PATCH 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • CORPUS_ID:目標語料庫的 ID。
  • ASSET_ID:目標資產的 ID。
  • ?updateMask=fieldToUpdate:可套用 updateMask 的可用欄位之一。可用欄位:
    • 存留時間 (TTL):?updateMask=ttl
    • 更新所有欄位:?updateMask=*

HTTP 方法和網址:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl

JSON 要求主體:

{
  "ttl": {
    "seconds": "1"
  }
}

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

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/assets/ASSET_ID?updateMask=ttl"

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/assets/ASSET_ID?updateMask=ttl" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
}

列出倉庫中的資產

REST

如要列出語料庫中的資產,請使用 projects.locations.corpora.assets.list 方法傳送 GET 要求。

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

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

HTTP 方法和網址:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets

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

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/assets"

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/assets" | Select-Object -Expand Content

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

{
  "assets": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID1",
      "ttl": "86400s"
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID2",
      "ttl": "86400s"
    }
  ]
}

取得資產

REST

如要取得資產詳細資料,請使用 projects.locations.corpora.assets.get 方法傳送 GET 要求。

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

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

HTTP 方法和網址:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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/assets/ASSET_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/assets/ASSET_ID" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID",
  "ttl": "86400s"
}

刪除媒體資產

下例會刪除倉庫資產,導致與該資產相關的註解無法存取,並從搜尋結果中移除。

REST 和指令列

下列程式碼範例會使用 projects.locations.corpora.assets.delete 方法刪除倉庫中的資產。

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

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

HTTP 方法和網址:

DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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/assets/ASSET_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/assets/ASSET_ID" | Select-Object -Expand Content
此呼叫的回應會傳回長時間執行作業 ID。
{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID"
}

取得作業狀態

如要取得長時間執行的作業狀態,請呼叫 projects.locations.operations.get 方法。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • OPERATION_ID:啟動長時間執行的作業時,系統會傳回作業 ID。例如:
    • projects/123456/locations/us-central1/[...]/operations/OPERATION_ID

HTTP 方法和網址:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_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/warehouseoperations/OPERATION_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/warehouseoperations/OPERATION_ID" | Select-Object -Expand Content
如果沒有任何錯誤,回應就會留空。此時,如果您呼叫 GetAssetListAssets,資產就不會顯示。

管理素材資源媒體資料

資產的媒體內容可透過不同 API 擷取至 Vision 倉儲。

串流影片素材資源

如要管理串流影片素材資源的媒體內容,請參閱下列操作說明。

使用時間分割取得短片素材資源

建立倉庫並在倉庫中儲存影片asset資源後,即可取得特定短片。您可以傳送 ClipAssetRequest,取得您定義時間範圍內的媒體資料。

傳送 ClipAssetRequest 時,您必須定義下列項目:

以下範例是倉庫,其中包含 2021 年 9 月初的資產,內有安全攝影機影像,且未超過存留時間 (TTL)。

如要取得 2021 年 9 月 1 日格林威治標準時間 2:51:592021 年 9 月 1 日格林威治標準時間 2:52:30 的片段,首先需要將開始和結束時間轉換為 google.protobuf.Timestamp,這會以 Unix 紀元以來的時間長度表示。轉換開始和結束時間後,您可以傳送類似下列內容的要求:

REST

如要取得影片片段的詳細資料,請使用 projects.locations.corpora.assets.clip 方法傳送 GET 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • CORPUS_ID:目標語料庫的 ID。
  • ASSET_ID:目標資產的 ID。
  • START_TIME:分割區的開始時間,以 Unix Epoch 紀元時間起算的持續時間表示 (例如 1630464719)。
  • END_TIME:分割區的結束時間,以 Unix 紀元時間起算的持續時間表示 (例如 1630464750)。

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:clip

JSON 要求主體:

{
  "temporal_partition": {
    "start_time": {
      "seconds": START_TIME
    },
    "end_time": {
      "seconds": END_TIME
    }
  }
}

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

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/CORPUS_ID/assets/ASSET_ID:clip"

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/CORPUS_ID/assets/ASSET_ID:clip" | Select-Object -Expand Content

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

{
  "time_indexed_uris" : {
    "temporal_partition" : {
      "start_time" : {
        "seconds": 1630464719
      },
      "end_time" : {
        "seconds": 1630464729
      }
    },
    "uri": "[...]"
  }
}

time_indexed_uris 包含 URI,其中有擷取剪輯片段的連結,以及 temporal_partition,詳細說明剪輯片段的開始時間和結束時間。您可以在 uri 欄位中存取連結,時間最長為 12 小時。

系統只會傳回 start_time 之後、end_time之前可用的第一個內容片段。這類內容可能會超出要求中的時間範圍。舉例來說,在範例要求中,傳回的片段只涵蓋 1630464719「之後」的 10 秒片段,即使 1630464729 之後和 end_time (1630464750)「之前」可能仍有更多內容。

系統傳回的短片長度可能與要求不符。這是預期行為,可能有多種原因:

  • 要求的時間範圍超過 100 MB 的資料大小上限。
  • 要求的時間範圍包含超過存留時間 (TTL) 的資料。
  • 指定時間範圍內沒有任何資料。

透過 HTTP 即時串流取得短片素材資源

建立倉庫並擷取影片資料 (倉庫 assets) 後,您可以要求一系列特定時間區段的 HTTP 即時串流 (HLS) 影片串流資訊清單 URI。您可以傳送 GenerateHlsUriRequest,在您定義的一系列時間範圍內取得媒體資料。

傳送 GenerateHlsUriRequest 時,您必須定義下列項目:

  • temporal_partitions - 要串流播放所需內容的日期範圍集合。總時長不得超過 24 小時。

以下範例使用 2021 年 9 月的倉庫資產和監視攝影機影像,且該資產尚未超過存留時間 (TTL)。範例要求主體指定了兩個影片時間範圍:

  1. 2021 年 9 月 1 日格林威治標準時間 2:51:59 至 2021 年 9 月 1 日格林威治標準時間 2:52:30
  2. 2021 年 9 月 1 日下午 4:59:00 (格林威治標準時間) 至 2021 年 9 月 1 日下午 5:05:30 (格林威治標準時間)

您必須先將開始和結束時間轉換為 google.protobuf.Timestamp 格式,也就是以 Unix Epoch 紀元時間以來的時間長度表示。將這些時間轉換為 Unix 時間後,即可傳送類似下列內容的要求:

REST 和指令列

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • CORPUS_ID:目標語料庫的 ID。
  • ASSET_ID:目標資產的 ID。
  • START_TIME:分割區的開始時間,以 Unix Epoch 紀元時間起算的持續時間表示 (例如 1630464719)。
  • END_TIME:分割區的結束時間,以 Unix 紀元時間起算的持續時間表示 (例如 1630464750)。

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:generateHlsUri

JSON 要求主體:

{
  "temporal_partitions": {
    "start_time": {
      "seconds": 1630464719
    },
    "end_time": {
      "seconds": 1630464750
    }
  },
  "temporal_partitions": {
    "start_time": {
      "seconds": 1630472340
    },
    "end_time": {
      "seconds": 1630472730
    }
  }
}

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

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/CORPUS_ID/assets/ASSET_ID:generateHlsUri"

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/CORPUS_ID/assets/ASSET_ID:generateHlsUri" | Select-Object -Expand Content

回應中的 uri 包含連結,可下載與要求時間對應的 HLS 資訊清單,而每個 temporal_partitions 則詳細說明串流中包含的片段開始和結束時間。uri 欄位中的連結最多可存取 12 小時。

回應可能包含多個 temporal_partitions 物件。每個 temporal_partitions 物件代表要求時間範圍內的個別片段。如果來源媒體在要求範圍內的時間沒有資料,或是要求包含不連續的日期範圍,系統就會將短片分割。在本例中,由於要求在 2021 年 9 月 1 日的兩個不同時間點索取資料,因此系統會傳回多個 temporal_partitions

傳回的串流長度可能與要求的不完全相同。這是正常現象,可能原因如下:

  • 要求的時間範圍包含已超過存留時間的資料
  • 指定時間範圍內沒有任何資料

回覆:
{
  "uri": "[...]",
  "temporal_partitions": {
    "start_time": {
      "seconds": 1630464719
    },
    "end_time": {
      "seconds": 1630464750
    }
  },
  "temporal_partitions": {
    "start_time": {
      "seconds": 1630472340
    },
    "end_time": {
      "seconds": 1630472730
    }
  }
}

透過 HLS 觀看直播

您可以存取目前正在擷取的內容的 HTTP 即時串流 (HLS)。

傳送 GenerateHlsUriRequest,取得這個 HTTP 即時串流影片資訊清單的 URI,該 URI 會在擷取新內容時更新。直播會顯示先前播放的內容三分鐘,並在擷取停止時停止,然後重新啟動以顯示新內容。傳送 GenerateHlsUriRequest 時,請定義 live_view_enabled。這個選項只會顯示資產的直播內容,最多可回溯三分鐘的資料。設為 true。

您可以傳送類似下列的要求:

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:generateHlsUri

JSON 要求主體:

{
  "live_view_enabled": true
}

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

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/CORPUS_ID/assets/ASSET_ID:generateHlsUri"

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/CORPUS_ID/assets/ASSET_ID:generateHlsUri" | Select-Object -Expand Content

回應中的 uri 包含 HLS 資訊清單的連結,對應於擷取新影片資料時持續更新的內容清單。uri 欄位中的連結最多可存取 12 小時。

回覆:
{
  "uri": "[...]"
}

圖片素材資源

你可以使用 UploadAsset API 將圖片上傳至素材資源,以供後續處理。

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:upload

JSON 要求主體:

{
  "asset_source": {
    "asset_gcs_source": {
      "gcs_uri": "GCS_URI"
    }
  }
}

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

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/CORPUS_ID/assets/ASSET_ID:upload"

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/CORPUS_ID/assets/ASSET_ID:upload" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}

您可以使用 ImportAssets API,將一批圖片及其註解匯入語料庫。

ImportAsset 要求的 Cloud Storage 檔案必須採用 JSONL 格式。檔案中的每一行都對應一項資產,並會轉換為 InputImageAsset proto。例如,假設使用者要求系統 將文字從英文翻譯成法文

{"gcsUri":"gs://test/test1.png","assetId":"asset1","annotations":[{"key":"title","value":{"strValue":"cat"}}]}
{"gcsUri":"gs://test/test2.png","assetId":"asset2","annotations":[{"key":"title","value":{"strValue":"dog"}}]}
{"gcsUri":"gs://test/test3.png","assetId":"asset3","annotations":[{"key":"title","value":{"strValue":"rabbit"}}]}

在特定時間,一個語料庫只能執行一項 ImportAsset 作業。同一個專案一次只能執行五項 ImportAsset 作業。

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import

JSON 要求主體:

{
  "parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID,
  "assets_gcs_uri": GCS_URI
}

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

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/CORPUS_ID/assets:import"

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/CORPUS_ID/assets:import" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}

上傳圖片或匯入圖片和註解後,您可以分析整個語料庫,以便日後搜尋所有圖片內容。

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze

JSON 要求主體:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_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/corpora/CORPUS_ID:analyze"

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/CORPUS_ID:analyze" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}

批次影片素材資源

你可以使用 UploadAsset API 將影片上傳至素材資源,以便稍後處理。UploadAsset API 支援一般影片格式,包括 MP4、AVI、FLV、MKV、MOV、MXF、WMV,以及 FFmpeg 可解碼的格式。

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:upload

JSON 要求主體:

{
  "asset_source": {
    "asset_gcs_source": {
      "gcs_uri": "GCS_URI"
    }
  }
}

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

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/CORPUS_ID/assets/ASSET_ID:upload"

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/CORPUS_ID/assets/ASSET_ID:upload" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}

上傳含有影片的資產後,您可以呼叫 GenerateRetrievalUrl API 擷取 URI。如果上傳的影片位於其他專案,您需要授予 Vertex AI Vision 服務帳戶權限。(前往 IAM,勾選「包含 Google 提供的角色授予項目」核取方塊,然後搜尋「Cloud Vision AI 服務代理人」) 即可存取。

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:generateHlsUri

JSON 要求主體:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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/corpora/CORPUS_ID/assets/ASSET_ID:generateHlsUri"

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/CORPUS_ID/assets/ASSET_ID:generateHlsUri" | Select-Object -Expand Content

回應中的 uri 包含 HLS 資訊清單的連結,對應於擷取新影片資料時持續更新的內容清單。uri 欄位中的連結最多可存取 12 小時。

回覆:
{
  "uri": "[...]"
}

上傳資產和影片後,您可以分析資產,以便日後搜尋影片內容。

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:analyze

JSON 要求主體:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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/corpora/CORPUS_ID/assets/ASSET_ID:analyze"

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/CORPUS_ID/assets/ASSET_ID:analyze" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID"
}

素材資源集合管理

集合是原始資源的參照 (CollectionItem) 容器。您可以將資產新增至集合,也可以在集合中搜尋。

建立集合資源

REST

如要建立資產資源,請使用 projects.locations.corpora.collections.create 方法傳送 POST 要求。

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections

JSON 要求主體:

{
  "collection": {
    "display_name": "DISPLAY_NAME",
    "description": "COLLECTION_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/corpora/CORPUS_ID/collections"

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/CORPUS_ID/collections" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCollectionMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.Collection",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID",
    "displayName": "DISPLAY_NAME",
    "description": "COLLECTION_DESCRIPTION"
  }
}

更新集合資源

REST

如要更新資產資源,請使用 projects.locations.corpora.collections.patch 方法傳送 PATCH 要求。

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

  • REGIONALIZED_ENDPOINT:端點可能包含與 LOCATION_ID 相符的前置字串,例如 europe-west4-。進一步瞭解 地區化端點
  • PROJECT_NUMBER:您的 Google Cloud專案編號
  • LOCATION_ID:您使用 Vertex AI Vision 的區域。例如:us-central1europe-west4。請參閱可用區域
  • CORPUS_ID:目標語料庫的 ID。
  • COLLECTION_ID:目標集合的 ID。
  • ?updateMask=fieldToUpdate:可套用 updateMask 的可用欄位之一。可用欄位:
    • 顯示名稱:?updateMask=display_name
    • 說明:?updateMask=description
    • 更新所有欄位:?updateMask=*
  • UPDATED_FIELD_VALUE:指定欄位的新值。在這個範例中,集合資源會使用新的顯示名稱,

HTTP 方法和網址:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_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/collections/COLLECTION_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/collections/COLLECTION_ID?update_mask=display_name" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/corpora/CORPORA_ID/collections/COLLECTION_ID",
  "displayName": "UPDATED_FIELD_VALUE",
  "description": "Original description"
}

列出倉庫中的集合

REST

如要列出語料庫中的集合,請使用 projects.locations.corpora.collections.list 方法傳送 GET 要求。

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

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

HTTP 方法和網址:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections

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

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/collections"

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/collections" | Select-Object -Expand Content

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

{
  "corpora": [
   {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID1",
      "displayName": "COLLECTION_DISPLAYNAME1",
      "description": "COLLECTION_DESCRIPTION1"
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID2",
      "displayName": "COLLECTION_DISPLAYNAME2",
      "description": "COLLECTION_DESCRIPTION2"
    },
  ],
  "nextPageToken": "ChM3MDk3NTk3Nzc2OTk3NDA3OTkzEAo"
}

取得集合

REST

如要取得集合的詳細資料,請使用 projects.locations.corpora.collections.get 方法傳送 GET 要求。

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

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

HTTP 方法和網址:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_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/collections/COLLECTION_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/collections/COLLECTION_ID" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID",
  "displayName": "CCOLLECTION_DISPLAYNAME",
  "description": "CCOLLECTION__DESCRIPTION"
}

刪除最愛

使用下列程式碼範例刪除集合。如要刪除集合,請先移除所有項目。

REST 和指令列

下列程式碼範例會使用 projects.locations.corpora.collections.delete 方法刪除 collection 資源。

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

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

HTTP 方法和網址:

DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_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/collections/COLLECTION_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/collections/COLLECTION_ID" | Select-Object -Expand Content
此呼叫的回應會傳回長時間執行作業 ID。
{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID/operations/OPERATION_ID"
}

將項目新增至珍藏內容

您可以將素材資源項目新增至集合。

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID:addCollectionItem

JSON 要求主體:

{
  "item":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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/corpora/CORPUS_ID/collections/COLLECTION_ID:addCollectionItem"

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/CORPUS_ID/collections/COLLECTION_ID:addCollectionItem" | Select-Object -Expand Content

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

{
  "item":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
  }
}

從集合中移除項目

您可以從集合中移除素材資源項目。

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID:removeCollectionItem

JSON 要求主體:

{
  "item":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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/corpora/CORPUS_ID/collections/COLLECTION_ID:removeCollectionItem"

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/CORPUS_ID/collections/COLLECTION_ID:removeCollectionItem" | Select-Object -Expand Content

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

{
  "item":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
  }
}

查看集合中的所有項目

你可以查看集合中的所有項目。

REST 和指令列

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

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

HTTP 方法和網址:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID:viewCollectionItems

JSON 要求主體:

{
  "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
  "page_size": "50"
}

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

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/CORPUS_ID/collections/COLLECTION_ID:viewCollectionItems"

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/CORPUS_ID/collections/COLLECTION_ID:viewCollectionItems" | Select-Object -Expand Content

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

{
  "next_page_token": "jfyq45",
  "items":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
  },
  "items":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
  }
}