在部署的应用中,如果连接了 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,则仅更新updateMask中的字段。 - 如果更新掩码值为
*,则请求会更新所有字段。 如果未指定更新掩码,则仅更新请求网址中在请求正文中提供值的字段。
REST 和命令行
以下代码示例使用
projects.locations.corpora.assets.patch 方法修改资产的 TTL。
更改 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"
}