在資料擷取部署的應用程式中,已連結的 Vision Warehouse (corpus) 具有一或多個媒體物件資源 (例如影片資源)。這些媒體物件 (asset 資源) 包含中繼資料和資源註解。使用下列指令建立及更新這些媒體物件。
建立串流影片倉庫資產
建立倉庫 (corpus 資源) 後,即可在倉庫中新增一或多個影片 asset 資源。
REST 和指令列
下列程式碼會在指定倉庫 (corpus) 下建立新資產,並可選擇指定資產 ID 和 TTL。
使用任何要求資料之前,請先修改下列項目的值:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Agent Platform Vision 的區域。例如:
us-central1、europe-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 要求內文:
{
"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/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",
"ttl": "TIME_TO_LIVEs"
}
Gemini Enterprise Agent Platform Vision SDK
如要傳送要求來讀取模型輸出串流,您必須安裝 Gemini Enterprise Agent Platform Vision SDK。
使用 vaictl 指令列工具建立資產時,無法指定資產 ID 或 TTL。
請替換下列變數:
- PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您的地區 ID。例如,
us-central1。支援的地區。 更多資訊。 - CORPUS_ID:目標倉庫 (
corpus資源) 的 ID。
vaictl --project-id=PROJECT_NUMBER \
--location-id=LOCATION_ID \
--service-endpoint=warehouse-visionai.googleapis.com \
create asset CORPUS_ID
建立資產後,您可以使用 vaictl 指令列工具,直接將影片資料擷取到該資產的倉庫。
更新串流影片倉庫資產
使用下列程式碼範例更新資產的存留時間 (TTL)。您只能更新 TTL 欄位。
在下列程式碼範例中使用 updateMask 查詢參數,更新資產的 TTL。您可以使用查詢參數,只更新 TTL 欄位。updateMask 的運作方式如下:
- 如果指定,系統只會更新
updateMask中的欄位。 - 如果更新遮罩值為
*,要求會更新所有欄位。 如未指定更新遮罩,系統只會更新要求網址中的欄位,並在要求主體中提供值。
REST 和指令列
下列程式碼範例使用 projects.locations.corpora.assets.patch 方法修改資產的 TTL。
變更存留時間值
這個範例會在要求網址中使用 ?updateMask=ttl,並在要求主體中加入新的 ttl.seconds 值,以更新資產。
使用任何要求資料之前,請先修改下列項目的值:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Agent Platform Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - CORPUS_ID:目標語料庫的 ID。
- ASSET_ID:目標資產的 ID。
?updateMask=fieldToUpdate:可套用updateMask的可用欄位之一。可用欄位:- 存留時間 (TTL):
?updateMask=ttl - 更新所有欄位:
?updateMask=*
- 存留時間 (TTL):
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"
}
移除 TTL 值
這個範例會在要求網址中使用 ?updateMask=ttl,並包含空白要求主體,以清除資產的 TTL 值。
使用任何要求資料之前,請先修改下列項目的值:
- REGIONALIZED_ENDPOINT:端點可能包含與
LOCATION_ID相符的前置字串,例如europe-west4-。進一步瞭解 地區化端點。 - PROJECT_NUMBER:您的 Google Cloud 專案編號。
- LOCATION_ID:您使用 Agent Platform Vision 的區域。例如:
us-central1、europe-west4。請參閱可用區域。 - CORPUS_ID:目標語料庫的 ID。
- ASSET_ID:目標資產的 ID。
?updateMask=fieldToUpdate:可套用updateMask的可用欄位之一。可用欄位:- 存留時間 (TTL):
?updateMask=ttl - 更新所有欄位:
?updateMask=*
- 存留時間 (TTL):
HTTP 方法和網址:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl
JSON 要求內文:
{}
如要傳送要求,請選擇以下其中一個選項:
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"
}