データセットのバージョンの管理

Vertex AI では、データセットのバージョンを作成できます。この機能は、再現性、トレーサビリティ、データセット リネージの管理に役立ちます。

画像とテキストのデータセットのバージョンを作成できます。データセットのバージョンを作成すると、Vertex AI によって BigQuery データセットが作成されます(存在しない場合)。BigQuery データセットには、関連する Vertex AI データセットのすべてのバージョンが保存されます。

あるバージョンを復元すると、関連付けられているデータセットがオーバーライドされます。該当するデータセットは、復元オペレーションが終了するまで、他のリクエストに対して一時的に利用できなくなります。

データセットのバージョンを作成する

Vertex AI API を使用して、データセットのバージョンを作成できます。該当するタブの手順に沿って操作してください。

REST

データセットの ID を取得する

バージョンを作成するには、データセットの数値 ID が必要です。データセットの表示名はわかっていて、ID がわからない場合は、次のセクションを開き、API を使用して ID を取得する方法を確認します。

表示名から Dataset の ID を取得する

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

  • LOCATION: Dataset が保存されているリージョン。例: us-central

  • PROJECT_ID: 実際のプロジェクト ID

  • DATASET_DISPLAY_NAME: Dataset の表示名。

HTTP メソッドと URL:

GET http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME

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

curl

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

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME"

PowerShell

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

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?filter=displayName=DATASET_DISPLAY_NAME" | Select-Object -Expand Content

次のレスポンス例は、Dataset の ID を検索する場所を強調するため、... で省略されています。これは、DATASET_ID の代わりとなる番号です。

{
  "datasets": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID",
      "displayName": "DATASET_DISPLAY_NAME",
      ...
    }
  ]
}

また、Google Cloud コンソールからデータセットの ID を取得することもできます。この場合、Vertex AI の [データセット] ページに移動し、[ID] 列で番号を確認します。

[データセット] ページに移動

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

  • LOCATION: データセットのバージョンが保存されるリージョン。例: us-central

  • PROJECT_ID: 実際のプロジェクト ID

  • DATASET_ID: データセットの数値 ID。

HTTP メソッドと URL:

POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions

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

curl

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

curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions"

PowerShell

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

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

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateDatasetVersionOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-02-17T00:54:58.827429Z",
      "updateTime": "2021-02-17T00:54:58.827429Z"
    },
  }
}

一部のリクエストでは、完了までに長時間かかるオペレーションが実行されます。このようなリクエストではオペレーション名が返されます。そのオペレーション名を使用して、オペレーションのステータス確認やキャンセルを行うことができます。Vertex AI には、長時間実行オペレーションに対して呼び出しを行うためのヘルパー メソッドが用意されています。詳細については、長時間実行オペレーションによる作業をご覧ください。

データセットのバージョンを復元する

Vertex AI API を使用して、データセットのバージョンを復元できます。該当するタブの手順に沿って操作してください。

REST

データセットのバージョンの ID を取得する

バージョンを復元するには、そのバージョンの数値 ID が必要です。API を使用して、すべてのデータセットのバージョンを一覧表示できます。

DatasetDatasetVersion を一覧表示する

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

  • LOCATION: データセットのバージョンが保存されるリージョン。例: us-central

  • PROJECT_ID: 実際のプロジェクト ID

  • DATASET_ID: データセットの数値 ID。

HTTP メソッドと URL:

GET http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions

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

curl

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

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions"

PowerShell

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

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions" | Select-Object -Expand Content

次のレスポンス例は、データセットのバージョンの ID を検索する場所を強調するため、... で省略されています。これは、DATASET_VERSION_ID の代わりとなる番号です。

{
  "datasetVersions": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/datasetVersions/DATASET_VERSION_ID",
      ...
    }
  ]
}

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

  • LOCATION: データセットのバージョンが保存されるリージョン。例: us-central

  • PROJECT_ID: 実際のプロジェクト ID

  • DATASET_ID: データセットの数値 ID。

  • DATASET_VERSION_ID: データセットのバージョンの数値 ID。

HTTP メソッドと URL:

GET http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions/DATASET_VERSION_ID:restore

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

curl

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

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions/DATASET_VERSION_ID:restore"

PowerShell

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

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/datasetVersions/DATASET_VERSION_ID:restore" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.RestoreDatasetVersionOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-02-17T00:54:58.827429Z",
      "updateTime": "2021-02-17T00:54:58.827429Z"
    },
  }
}

一部のリクエストでは、完了までに長時間かかるオペレーションが実行されます。このようなリクエストではオペレーション名が返されます。そのオペレーション名を使用して、オペレーションのステータス確認やキャンセルを行うことができます。Vertex AI には、長時間実行オペレーションに対して呼び出しを行うためのヘルパー メソッドが用意されています。詳細については、長時間実行オペレーションによる作業をご覧ください。

次のステップ

Vertex AI でのデータセットの操作について確認する。