googleapi:错误400:数据集myProject:myDataset仍在使用中,resourceInUse

I am trying to remove dataset using BigQuery API.

I have no problem removing the dataset in question manually using BigQuery UI, however when I am using the API I am seeing the following error:

googleapi: Error 400: Dataset myProject:myDataset is still in use, resourceInUse

I have checked that there are no open connections using the dataset.

Here is the code used to remove dataset:

package main

import (
    "log"
    "context"
    "golang.org/x/oauth2"
    "golang.org/x/oauth2/jwt"
    "google.golang.org/api/bigquery/v2"
)



func main() {
    var authConfig *jwt.Config
    var projectID = "myProject"
    var datasetID = "myDataset"
    ctx := context.Background()
    oauthClient := oauth2.NewClient(ctx, authConfig.TokenSource(ctx))
    service, err := bigquery.New(oauthClient)
    if err != nil {
        log.Fatal(err)
    }
    err = service.Datasets.Delete(projectID , datasetID).Context(ctx).Do()
    if err != nil {
        log.Fatal(err)
    }
}

For a dataset that contains tables and/or views, you have two options:

  • Delete each table and view, then delete the dataset.
  • Delete the dataset directly, passing true for the deleteContents option. This will delete all tables and views in the dataset.