창고 확장 소재 만들기 및 업데이트

데이터 처리가 배포된 앱의 연결된 Vision 창고 (corpus)에는 하나 이상의 미디어 객체 리소스 (예: 동영상 리소스)가 있습니다. 이러한 미디어 객체 (asset 리소스)에는 메타데이터와 리소스 주석이 포함됩니다. 다음 명령어를 사용하여 이러한 미디어 객체를 만들고 업데이트합니다.

스트리밍 동영상 창고 확장 소재 만들기

창고 (corpus 리소스)를 만든 후 동영상 asset 리소스를 하나 이상 창고에 추가할 수 있습니다.

REST 및 명령줄

다음 코드는 지정된 창고 (corpus) 아래에 새 애셋을 만들고 애셋의 ID와 TTL을 지정할 수 있는 옵션을 제공합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • 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 요청 본문:

{
  "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"
}

Vertex AI Vision SDK

모델 출력 스트림을 읽기 위한 요청을 전송하려면 Vertex AI Vision SDK를 설치해야 합니다.

vaictl 명령줄 도구를 사용하여 애셋을 만들 때는 애셋 ID 또는 TTL을 지정할 수 없습니다.

다음 변수를 바꿉니다.

  • PROJECT_NUMBER: Google Cloud 프로젝트 번호입니다.
  • LOCATION_ID: 위치 ID입니다. 예를 들면 us-central1입니다. 지원되는 리전 추가 정보
  • CORPUS_ID: 대상 창고의 ID (corpus 리소스)입니다.
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의 필드만 업데이트됩니다.
  • 업데이트 마스크 값이 *이면 요청에서 모든 필드를 업데이트합니다.
  • 업데이트 마스크를 지정하지 않으면 요청 본문에 값이 제공된 요청 URL의 필드만 업데이트됩니다.

REST 및 명령줄

다음 코드 샘플은 projects.locations.corpora.assets.patch 메서드를 사용하여 저작물의 TTL을 수정합니다.

TTL 값 변경

이 샘플은 요청 URL에 ?updateMask=ttl를 사용하고 저작물을 업데이트하기 위해 요청 본문에 새 ttl.seconds 값을 포함합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • 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입니다.
  • ?updateMask=fieldToUpdate: updateMask를 적용할 수 있는 사용 가능한 필드 중 하나입니다. 사용 가능한 필드:
    • TTL (수명): ?updateMask=ttl
    • 모든 입력란을 업데이트합니다. ?updateMask=*

HTTP 메서드 및 URL:

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 값 삭제

이 샘플은 요청 URL에 ?updateMask=ttl를 사용하고 애셋의 TTL 값을 삭제하기 위한 빈 요청 본문을 포함합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • 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입니다.
  • ?updateMask=fieldToUpdate: updateMask를 적용할 수 있는 사용 가능한 필드 중 하나입니다. 사용 가능한 필드:
    • TTL (수명): ?updateMask=ttl
    • 모든 입력란을 업데이트합니다. ?updateMask=*

HTTP 메서드 및 URL:

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"
}