アプリケーション インスタンスを管理する

アプリをビルドしてデプロイしたら、 Google Cloud コンソールまたはコマンドラインを使用して、これらのアプリ インスタンスを管理できます。

デプロイされたアプリ インスタンスと出力を表示する

アプリ インスタンスと出力は、 Google Cloud コンソールまたはコマンドラインで確認できます。この情報を使用して、モデル出力ストリームを読み取りアセットを取得できます。

ウェブ UI

Google Cloud コンソールでアプリのインスタンスと出力を表示します。

  1. Vertex AI Vision ダッシュボードの [アプリケーション] タブを開きます。

    [アプリケーション] タブに移動

  2. 表示するアプリの名前を選択します。アプリケーションの詳細ページが表示されます。

    アプリケーションの詳細ページに、アプリケーション リソースの表が表示されます。この表には、アプリケーションの実行中のインスタンスがすべて一覧表示されます。アプリケーションへの各入力ストリームには独自のインスタンスがあります。各インスタンスには、その下に独自の入力リソースと出力リソースがリストされています。

    アプリ リソースの詳細ページの画像

  3. インスタンス テーブルでストリームまたはウェアハウスのアセット リソースを検査するには、入力または出力 ID をクリックするか、パスを選択します。

    • ストリーム リソースをクリックすると、ストリームの詳細ページにリダイレクトされ、そのストリームの詳細情報を確認できます。

      コマンドラインを使用してモデルの出力ストリームを読み取る方法については、ストリームを作成して管理するをご覧ください。

      ストリーム リソースの詳細画像

    • ウェアハウス アセット リソースをクリックすると、Vision Warehouse アセットの詳細ページに移動します。

      Vision Warehouse アセットを取得するには、Vision Warehouse API を使用してリソースを管理するをご覧ください。

      ウェアハウス リソースの詳細画像

REST

アプリ インスタンスを一覧表示するには、projects.locations.applications.instances.list メソッドを使用して GET リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

HTTP メソッドと URL:

GET https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "instances": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances/INSTANCE_ID",
      "createTime": "2022-03-01T20:05:45.863836157Z",
      "inputResources": [
        {
          "inputResource": "input-stream",
          "consumerNode": "builtin-input-stream"
        }
      ],
      "outputResources": [
        {
          "outputResource": "sample-resource-1",
          "producerNode": "builtin-occupancy-count",
          "isTemporary": true
        },
        {
          "outputResource": "sample-resource-2",
          "producerNode": "builtin-input-stream"
        },
        {
          "outputResource": "sample-resource-3",
          "producerNode": "builtin-input-stream",
          "isTemporary": true
        },
        {
          "outputResource": "sample-resource-4",
          "producerNode": "builtin-input-stream",
          "isTemporary": true
        }
      ]
    }
  ]
}

アプリ インスタンスを削除する

REST

アプリケーション インスタンスを削除するには、projects.locations.applications.deleteApplicationInstances メソッドを使用して POST リクエストを送信します。

リクエストのデータを使用する前に、次のように置き換えます。

HTTP メソッドと URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:deleteApplicationInstances

リクエストの本文(JSON):

{
  "instanceIds": [
    "INSTANCE_ID1",
    "INSTANCE_ID2",
    [...]
  ]
}

リクエストを送信するには、次のいずれかのオプションを選択します。

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://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:deleteApplicationInstances"

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://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:deleteApplicationInstances" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.OperationMetadata",
    "createTime": "[...]",
    "Target": "projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID"
    "Verb": "update"
    "apiVersion": "v1"
  },
  "done": false
}

大規模なアプリを管理する

デプロイ メソッドとデプロイ解除メソッドは、インスタンスが 20 個未満のアプリケーションで有効です。アプリに 20 個を超えるインスタンスがある場合は、API を使用してインスタンスを増分的に作成および削除する必要があります。推奨されるワークフローは次のとおりです。

  1. アプリを作成します。
  2. 試験運用版インスタンスを 1 ~ 20 個追加します。
  3. アプリケーションをデプロイします。
  4. アプリが想定どおりに動作することを確認します。
  5. createApplicationInstances メソッドを使用して、デプロイされたアプリケーションにインクリメンタルにインプットを追加します。
  6. アプリの実行を許可します。
  7. deleteApplicationInstances メソッドを使用して、デプロイされたアプリケーションから入力を段階的に削除します。
  8. アプリケーションのデプロイを解除します。