데이터 처리가 배포된 앱의 연결된 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=*
- TTL (수명):
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=*
- TTL (수명):
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" }