검색에 사용할 준비가 된 일괄 동영상 창고를 만듭니다.
최소 배치 동영상 창고 설정
최소 일괄 동영상 창고를 설정하는 일반적인 방법에는 두 가지가 있습니다.
옵션 1: 먼저 빈 색인을 배포한 다음 동영상 애셋을 점진적으로 추가합니다. 이 접근 방식의 일반적인 API 시퀀스는 다음과 같습니다.
- 자료 모음을 설정합니다.
CreateCorpus
,CreateDataSchema
- 빈 색인(
CreateIndex
,CreateIndexEndpoint
,DeployIndex
)을 설정합니다. - 동영상 애셋(
CreateAsset
,UploadAsset
,AnalyzeAsset
,IndexAsset
)을 추가합니다.- (선택사항) 동영상 주석을 추가합니다.
CreateAnnotation
- (선택사항) 동영상 주석을 추가합니다.
- 자료 모음을 설정합니다.
옵션 2: 먼저 동영상 애셋을 가져온 다음 색인을 배포합니다. 이 접근 방식의 일반적인 API 시퀀스는 다음과 같습니다.
- 자료 모음을 설정합니다.
CreateCorpus
,CreateDataSchema
- 동영상 애셋(
CreateAsset
,UploadAsset
,AnalyzeAsset
)을 추가합니다.- (선택사항) 동영상 주석을 추가합니다.
CreateAnnotation
- (선택사항) 동영상 주석을 추가합니다.
- 기존 애셋(
CreateIndex
,CreateIndexEndpoint
,DeployIndex
)으로 색인을 설정합니다.
- 자료 모음을 설정합니다.
접근 방식 선택: 가장 적합한 접근 방식은 특정 요구사항에 따라 달라집니다. 최대한 빨리 동영상 검색을 시작해야 하는 경우 첫 번째 접근 방식을 사용하는 것이 좋습니다. 가져올 동영상이 많은 경우 후자의 옵션을 사용하는 것이 좋습니다.
코퍼스 만들기
시작하려면 코퍼스 리소스를 만들어야 합니다. 일괄 동영상 창고 자료 모음을 만들 때 searchCapabilitySetting
속성의 기본값으로 EMBEDDING_SEARCH
를 지정합니다.
REST 및 명령줄
옵션을 사용하여 지정된 프로젝트 아래에 자료의 표시 이름과 설명을 지정하는 자료 리소스를 만듭니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사(예:europe-west4-
)가 포함될 수 있습니다. 지역화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: 프로젝트 번호입니다. Google Cloud
- LOCATION_ID: Vertex AI 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: Vertex AI 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: Vertex AI 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
메서드를 사용하여 동영상 저작물을 분석합니다.
기본적으로 일괄 동영상 창고는 동영상 콘텐츠에 삽입 분석을 실행합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- REGIONALIZED_ENDPOINT: 엔드포인트에
LOCATION_ID
와 일치하는 접두사(예:europe-west4-
)가 포함될 수 있습니다. 지역화된 엔드포인트에 대해 자세히 알아보세요. - PROJECT_NUMBER: 프로젝트 번호입니다. Google Cloud
- LOCATION_ID: Vertex AI 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: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 다음과 같습니다.
us-central1
,europe-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 메서드 및 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: Vertex AI 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: Vertex AI 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: Vertex AI 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: Vertex AI 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: Vertex AI 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: Vertex AI 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", }
다음 단계
- Batch 동영상 창고에서 검색하는 방법을 알아보세요.