创建和更新批量视频仓库

创建可用于搜索的批量 Video Warehouse。

设置最低配置的 Batch Video Warehouse

设置最低限度的批量视频仓库有两种常见方法。

  • 方法 1:先部署一个空索引,然后逐步添加视频素材资源。 此方法的典型 API 序列如下:

    • 设置语料库:CreateCorpus,然后 CreateDataSchema
    • 设置空索引:CreateIndexCreateIndexEndpointDeployIndex
    • 添加视频素材资源:CreateAssetUploadAssetAnalyzeAssetIndexAsset
      • (可选)添加视频注释:CreateAnnotation
  • 方法 2:先导入视频素材资源,然后再部署索引。 此方法的典型 API 序列如下:

    • 设置语料库:CreateCorpus,然后 CreateDataSchema
    • 添加视频素材资源:CreateAssetUploadAssetAnalyzeAsset
      • (可选)添加视频注释:CreateAnnotation
    • 使用现有素材资源(CreateIndexCreateIndexEndpointDeployIndex)设置索引。

选择方法:最适合您的方法取决于您的具体需求。如果您需要尽快开始搜索视频,不妨使用第一种方法。如果您要导入大量视频,不妨使用后一种方法。

创建语料库

首先,您必须创建语料库资源。创建批量视频仓库语料库时,请将 EMBEDDING_SEARCH 指定为 searchCapabilitySetting 属性的默认值。

REST 和命令行

在指定项目下创建语料库资源,并可选择指定语料库的显示名称和说明。

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform Vision 的区域。例如:us-central1europe-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"
      }
    }
  }
}

创建、上传和分析素材资源

如需向批量视频仓库添加视频,请先创建素材资源。

REST 和命令行

如需创建资产资源,请使用 projects.locations.corpora.assets.create 方法发送 POST 请求。

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform 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"
}

下一步是从 Cloud Storage URI 上传视频。请注意,Batch Video Warehouse 不会存储视频文件的副本。UploadAsset API 仅验证视频元数据,以确保未违反任何配额或限制。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform 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",
}

上传的视频需要经过分析才能编入搜索索引。

REST 和命令行

使用 projects.locations.corpora.assets.analyze 方法分析视频素材资源。 默认情况下,批量视频仓库会对视频内容运行嵌入分析。

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform 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"
}

创建数据架构

如果您想使用自定义元数据为视频添加注释并搜索元数据,则必须使用数据架构。每个数据架构都有一个唯一的键,该键将与注释相关联,并用作搜索中的过滤条件。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform Vision 的区域。例如:us-central1europe-west4。请参阅可用区域
  • CORPUS_ID:目标语料库的 ID。
  • DATASCHEMA_KEY:此键必须与用户指定的注解的键相匹配,并且在 corpus 中具有唯一性。例如 data-key
  • ANNOTATION_DATA_TYPE:注解的数据类型。可用的值包括:
    • DATA_TYPE_UNSPECIFIED
    • INTEGER
    • FLOAT
    • STRING
    • DATETIME
    • GEO_COORDINATE
    • PROTO_ANY
    • BOOLEAN

    如需了解详情,请参阅 API 参考文档

  • ANNOTATION_GRANULARITY:相应 dataSchema 下注释的粒度。可用的值包括:
    • GRANULARITY_UNSPECIFIED - 未指定粒度。
    • GRANULARITY_ASSET_LEVEL - 素材资源级粒度(注释不得包含媒体素材资源的时间分区信息)。
    • GRANULARITY_PARTITION_LEVEL - 分区级粒度(注释必须包含媒体资产的时间分区信息)。
  • SEARCH_STRATEGY:可用的枚举值之一。要应用于注解键的搜索策略类型。可用的值包括:
    • NO_SEARCH
    • EXACT_SEARCH
    • SMART_SEARCH

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "key": "DATASCHEMA_KEY",
  "schema_details": {
    "type": "ANNOTATION_DATA_TYPE",
    "granularity": "ANNOTATION_GRANULARITY",
    "search_strategy": {
      "search_strategy_type": "SEARCH_STRATEGY"
    }
  }
}

如需发送请求,请选择以下方式之一:

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

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

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID",
  "key": "data-key",
  "schemaDetails": {
    "type": "BOOLEAN",
    "granularity": "GRANULARITY_ASSET_LEVEL",
    "searchStrategy": {
      "search_strategy_type": "EXACT_SEARCH"
    }
  }
}

创建注解

您可以使用资源级注释或具有相对时间分区的注释来注释视频。每条注解都必须使用现有的数据架构键进行指定。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform Vision 的区域。例如:us-central1europe-west4。请参阅可用区域
  • CORPUS_ID:目标语料库的 ID。
  • ASSET_ID:目标素材资源的 ID。
  • ANNOTATION_ID:(可选)用户提供的注解 ID 值。在此请求中,该值会以以下形式添加到请求网址中:
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "user_specified_annotation": {
    "key": "object-detected",
    "value": {
      "str_value": "cat"
    },
    "partition": {
      "relative_temporal_partition": {
        "start_offset": {
          "seconds": "60"
        },
        "end_offset": {
          "seconds": "300"
        }
      }
    }
  }
}

如需发送请求,请选择以下方式之一:

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

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

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID",
  "userSpecifiedAnnotation": {
    "key": "object-detected",
    "value": {
      "strValue": "cat"
    },
    "partition": {
      "relative_temporal_partition": {
        "start_offset": "60s",
        "end_offset": "300s"
      }
    }
  }
}

创建索引

添加视频素材资源和注释后,您可以继续在语料库中创建索引。索引会捕获语料库在创建时的状态,包括所有已分析的资源和注释。

REST 和命令行

此示例展示了如何创建索引资源。

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform Vision 的区域。例如:us-central1europe-west4。请参阅可用区域
  • CORPUS_ID:目标语料库的 ID。
  • INDEX_ID:(可选)用户提供的索引 ID 值。在此请求中,该值以以下形式添加到请求网址中:
    • https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID

HTTP 方法和网址:

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

请求 JSON 正文:

{
  "display_name": "DISPLAY_NAME",
  "description": "INDEX_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/indexes"

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

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata"
  }
}

将索引部署到索引端点

必须先将索引部署到索引端点,然后才能将其用于搜索。索引端点提供用于发送搜索请求的接入点。

此示例展示了如何创建索引端点。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform Vision 的区域。例如:us-central1europe-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"
  }
}

此示例展示了如何将索引部署到索引端点。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform Vision 的区域。例如:us-central1europe-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"
  }
}

索引中的流式更新资源

您可以使用 IndexAssetRemoveIndexAsset 方法来更新或移除已部署索引中的单个资源。流式更新功能可让您在短时间内更新和搜索索引。

此示例展示了如何更新索引中的媒体资源。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform 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:index

请求 JSON 正文:

{
  "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/corpora/CORPUS_ID/assets/ASSET_ID:index"

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:index" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

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

此示例展示了如何从索引中移除资源。

REST 和命令行

在使用任何请求数据之前,请先进行以下替换:

  • REGIONALIZED_ENDPOINT:端点可能包含与 LOCATION_ID 匹配的前缀,例如 europe-west4-。详细了解 区域化端点
  • PROJECT_NUMBER:您的 Google Cloud 项目编号
  • LOCATION_ID:您使用 Agent Platform 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:removeIndex

请求 JSON 正文:

{
  "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/corpora/CORPUS_ID/assets/ASSET_ID:removeIndex"

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:removeIndex" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

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

后续步骤

  • 了解如何在批量视频仓库中搜索