デプロイされたデータ インジェスト アプリに接続された Vision Warehouse(corpus
)には、1 つ以上のメディア オブジェクト リソース(動画リソースなど)があります。これらのメディア オブジェクト(asset
リソース)には、メタデータとリソース アノテーションが含まれています。次のコマンドを使用して、これらのメディア オブジェクトを作成および更新します。
ストリーミング動画ウェアハウス アセットを作成する
倉庫を作成(corpus
リソース)したら、1 つ以上の動画 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
を適用できる使用可能なフィールドの 1 つ。使用可能なフィールド:- 有効期間(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
を適用できる使用可能なフィールドの 1 つ。使用可能なフィールド:- 有効期間(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" }