管理資料集版本

您可以使用 Vertex AI 為資料集建立版本。這項功能有助於實現可重現性、可追溯性,以及管理資料集沿革。

您可以為圖片和文字資料集建立版本。建立資料集版本時,如果沒有 BigQuery 資料集,Vertex AI 就會建立一個。BigQuery 資料集會儲存相關聯 Vertex AI 資料集的所有版本。

還原版本時,系統會覆寫相關聯的資料集。在還原作業結束前,資料集暫時無法處理其他要求。

建立資料集版本

您可以使用 Vertex AI API 建立資料集版本。請按照對應分頁中的步驟操作:

REST

取得資料集 ID

如要建立版本,您必須知道資料集的數字 ID。如果您知道資料集的顯示名稱,但不知道 ID,請展開下列章節,瞭解如何使用 API 取得 ID:

從顯示名稱取得 Dataset 的 ID

使用任何要求資料之前,請先替換以下項目:

  • LOCATION:儲存 Dataset 的位置。 例如:us-central1

  • PROJECT_ID:您的專案 ID

  • DATASET_DISPLAY_NAMEDataset 的顯示名稱。

HTTP 方法和網址:

GET https://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)" \
"https://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 "https://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 方法和網址:

POST https://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 "" \
"https://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 "https://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 方法和網址:

GET https://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)" \
"https://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 "https://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 方法和網址:

GET https://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)" \
"https://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 "https://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 中使用資料集