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

Adr*_*ian 8 google-api go google-bigquery

我正在尝试使用 BigQuery API 删除数据集。

使用 BigQuery UI 手动删除有问题的数据集没有问题,但是当我使用 API 时,我看到以下错误:

googleapi: Error 400: Dataset myProject:myDataset is still in use, resourceInUse
Run Code Online (Sandbox Code Playgroud)

我已经检查过没有使用数据集的打开连接。

这是用于删除数据集的代码:

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)
    }
}
Run Code Online (Sandbox Code Playgroud)

Ell*_*ard 12

对于包含表和/或视图的数据集,您有两个选项:

  • 删除每个表和视图,然后删除数据集。
  • 直接删除数据集,传递true选项deleteContents。这将删除数据集中的所有表和视图。