我正在尝试使用 BigQuery API 删除数据集。
我使用 BigQuery UI 手动删除有问题的数据集没问题,但是当我使用 API 时,我看到以下错误:
googleapi: Error 400: Dataset myProject:myDataset is still in use, resourceInUse
我已经检查过没有使用数据集的开放连接。
这是用于删除数据集的代码:
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)
}
}
最佳答案
对于包含表和/或 View 的数据集,您有两个选择:
- 删除每个表和 View ,然后删除数据集。
- 直接删除数据集,为
deleteContents
选项传递true
。这将删除数据集中的所有表和 View 。
关于googleapi : Error 400: Dataset myProject:myDataset is still in use, resourceInUse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50320863/