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

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

스트리밍 동영상 보관함 애셋 만들기

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

REST 및 명령줄

다음 코드는 애셋의 ID와 TTL을 지정하는 옵션을 사용하여 지정된 창고 (corpus) 아래에 새 애셋을 만듭니다.

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

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

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

Gemini Enterprise 에이전트 플랫폼 Vision SDK

모델 출력 스트림을 읽는 요청을 보내려면 Gemini Enterprise 에이전트 플랫폼 Vision SDK를 설치해야 합니다.

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

다음 변수를 바꿉니다.

  • PROJECT_NUMBER: Google Cloud 프로젝트 번호.
  • LOCATION_ID: 위치 ID입니다. 예를 들면 us-central1입니다. 지원되는 지역. 자세히 알아보기
  • CORPUS_ID: 대상 창고 (corpus 리소스)의 ID입니다.
vaictl --project-id=PROJECT_NUMBER \
--location-id=LOCATION_ID \
--service-endpoint=warehouse-visionai.googleapis.com \
create asset CORPUS_ID

애셋이 생성된 후 vaictl 명령줄 도구를 사용하여 해당 애셋의 웨어하우스에 직접 동영상 데이터를 수집할 수 있습니다.

스트리밍 동영상 보관함 애셋 업데이트

다음 코드 샘플을 사용하여 애셋의 TTL (Time-to-Live)을 업데이트합니다. 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: Agent Platform 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: Agent Platform 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"
}