일괄 동영상 창고 만들기 및 업데이트

검색에 사용할 준비가 된 일괄 동영상 창고를 만듭니다.

최소 배치 동영상 창고 설정

최소 일괄 동영상 창고를 설정하는 일반적인 방법에는 두 가지가 있습니다.

  • 옵션 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 동영상 창고에서 검색하는 방법을 알아보세요.