검색에 사용할 수 있는 Batch Video Warehouse를 만듭니다.
최소한의 배치 동영상 창고 설정
최소한의 배치 동영상 보관소를 설정하는 일반적인 방법은 두 가지입니다.
옵션 1: 먼저 빈 색인을 배포한 다음 동영상 애셋을 점진적으로 추가합니다. 이 접근 방식의 일반적인 API 시퀀스는 다음과 같습니다.
- 코퍼스 설정:
CreateCorpus,CreateDataSchema - 빈 색인 설정:
CreateIndex,CreateIndexEndpoint,DeployIndex - 동영상 애셋 추가:
CreateAsset,UploadAsset,AnalyzeAsset,IndexAsset- (선택사항) 동영상 주석 추가:
CreateAnnotation
- (선택사항) 동영상 주석 추가:
- 코퍼스 설정:
옵션 2: 먼저 동영상 애셋을 가져온 다음 색인을 배포합니다. 이 접근 방식의 일반적인 API 시퀀스는 다음과 같습니다.
- 코퍼스 설정:
CreateCorpus,CreateDataSchema - 동영상 애셋 추가:
CreateAsset,UploadAsset,AnalyzeAsset- (선택사항) 동영상 주석 추가:
CreateAnnotation
- (선택사항) 동영상 주석 추가:
- 기존 애셋(
CreateIndex,CreateIndexEndpoint,DeployIndex)으로 색인을 설정합니다.
- 코퍼스 설정:
접근 방식 선택: 가장 적합한 접근 방식은 구체적인 요구사항에 따라 달라집니다. 동영상 검색을 최대한 빨리 시작해야 하는 경우 첫 번째 방법을 사용하는 것이 좋습니다. 가져올 동영상이 많은 경우 후자 옵션을 사용하는 것이 좋습니다.
코퍼스 만들기
시작하려면 코퍼스 리소스를 만들어야 합니다. 일괄 동영상 보관처리를 만들 때 EMBEDDING_SEARCH를 searchCapabilitySetting 속성의 기본값으로 지정합니다.
REST 및 명령줄
코퍼스의 표시 이름과 설명을 지정하는 옵션을 사용하여 지정된 프로젝트 아래에 코퍼스 리소스를 만듭니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID와 일치하는 접두사가 포함될 수 있습니다(예:europe-west4-). 리전화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: Google Cloud 프로젝트 번호
- LOCATION_ID: Agent Platform Vision을 사용하는 리전입니다. 예를 들면
us-central1,europe-west4입니다. 사용 가능한 리전을 참고하세요. - DISPLAY_NAME: 창고의 표시 이름입니다.
- WAREHOUSE_DESCRIPTION: 창고 (
corpus)에 대한 설명입니다.
HTTP 메서드 및 URL:
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-central1,europe-west4입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- ASSET_ID: (선택사항) 저작물 ID에 대해 사용자가 제공한 값입니다. 이 요청에서 값은 다음과 같은 형식으로 요청 URL에 추가됩니다.
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
- TIME_TO_LIVE: 말뭉치에 속한 모든 애셋의 수명 (TTL) 또는 특정 애셋의 TTL입니다. 예를 들어 TTL이 100일인 애셋이 포함된 코퍼스의 경우
8640000(초) 값을 제공합니다.
HTTP 메서드 및 URL:
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에서 동영상을 업로드하는 것입니다.
일괄 동영상 웨어하우스는 동영상 파일의 사본을 저장하지 않습니다.
UploadAsset API는 할당량이나 한도가 위반되지 않도록 동영상 메타데이터만 확인합니다.
REST 및 명령줄
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- 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입니다.
HTTP 메서드 및 URL:
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 메서드를 사용하여 동영상 애셋을 분석합니다.
기본적으로 Batch Video Warehouse는 동영상 콘텐츠에 대한 삽입 분석을 실행합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- 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입니다.
HTTP 메서드 및 URL:
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-central1,europe-west4입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- DATASCHEMA_KEY: 이 키는 사용자 지정 주석의 키와 일치해야 하며
corpus내에서 고유해야 합니다. 예를 들면data-key입니다. - ANNOTATION_DATA_TYPE: 주석의 데이터 유형입니다. 사용 가능한 값은 다음과 같습니다.
DATA_TYPE_UNSPECIFIEDINTEGERFLOATSTRINGDATETIMEGEO_COORDINATEPROTO_ANYBOOLEAN
자세한 내용은 API 참조 문서를 참고하세요.
- ANNOTATION_GRANULARITY: 이
dataSchema아래에 있는 주석의 세분성입니다. 사용 가능한 값은 다음과 같습니다.GRANULARITY_UNSPECIFIED- 지정되지 않은 세부사항입니다.GRANULARITY_ASSET_LEVEL- 애셋 수준 세부사항 (주석에 미디어 애셋의 시간 파티션 정보가 포함되어서는 안 됨)GRANULARITY_PARTITION_LEVEL- 파티션 수준 세부사항 (주석에는 미디어 애셋의 시간 파티션 정보가 포함되어야 함)
- SEARCH_STRATEGY: 사용 가능한 열거형 값 중 하나입니다. 주석 키에 적용할 검색 전략의 유형입니다. 사용 가능한 값은 다음과 같습니다.
NO_SEARCHEXACT_SEARCHSMART_SEARCH
HTTP 메서드 및 URL:
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-central1,europe-west4입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- ASSET_ID: 타겟 애셋의 ID입니다.
- ANNOTATION_ID: (선택사항) 주석 ID에 대해 사용자가 제공한 값입니다. 이 요청에서 값은 다음과 같은 형식으로 요청 URL에 추가됩니다.
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID
HTTP 메서드 및 URL:
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-central1,europe-west4입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- INDEX_ID: (선택사항) 색인 ID에 대해 사용자가 제공한 값입니다. 이 요청에서 값은 다음과 같은 형식으로 요청 URL에 추가됩니다.
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
HTTP 메서드 및 URL:
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-central1,europe-west4입니다. 사용 가능한 리전을 참고하세요. - INDEX_ENDPOINT_ID: (선택사항) 색인 엔드포인트 ID에 대해 사용자가 제공한 값입니다. 이 요청에서 값은 다음과 같은 형식으로 요청 URL에 추가됩니다.
- https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID
HTTP 메서드 및 URL:
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-central1,europe-west4입니다. 사용 가능한 리전을 참고하세요. - INDEX_ENDPOINT_ID: 타겟 색인 엔드포인트의 ID입니다.
- CORPUS_ID: 타겟 코퍼스의 ID입니다.
- INDEX_ID: 대상 색인의 ID입니다.
HTTP 메서드 및 URL:
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"
}
}
색인의 스트리밍 업데이트 애셋
IndexAsset 또는 RemoveIndexAsset 메서드를 사용하여 배포된 색인의 단일 애셋을 업데이트하거나 삭제할 수 있습니다. 스트리밍 업데이트를 사용하면 짧은 시간 내에 색인을 업데이트하고 검색할 수 있습니다.
이 예시에서는 색인의 애셋을 업데이트하는 방법을 보여줍니다.
REST 및 명령줄
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- 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입니다.
HTTP 메서드 및 URL:
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-central1,europe-west4입니다. 사용 가능한 리전을 참고하세요. - CORPUS_ID: 타겟 코퍼스의 ID입니다.
- ASSET_ID: 타겟 애셋의 ID입니다.
HTTP 메서드 및 URL:
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",
}
다음 단계
- 일괄 동영상 웨어하우스에서 검색하는 방법을 알아봅니다.