You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署GridDB:Go客户端调用PutContainer报Error140029求助

GridDB Go客户端PutContainer错误码140029解决方法

错误码140029对应GridDB的**容器已存在(GS_CONTAINER_ALREADY_EXISTS)**错误,当调用PutContainer创建容器时,若目标名称的容器已在集群中存在,就会抛出该异常。

解决方案

可以通过以下两种方式处理:

  1. 创建前检查容器是否存在
    在调用PutContainer前,先调用ContainerExists方法判断容器状态,仅在容器不存在时执行创建操作:

    for containerName := range fullDataset {
        fmt.Println("containerName: ", containerName)
        
        // 检查容器是否已存在
        exists, err := gridstore.ContainerExists(containerName)
        if err != nil {
            fmt.Println("ERROR Check Container Exists: ", err)
            continue
        }
        if exists {
            fmt.Println("Container already exists, skip creation: ", containerName)
            continue
        }
    
        conInfo, err := griddb_go.CreateContainerInfo(map[string]interface{}{
            "name": containerName,
            "column_info_list": [][]interface{}{
                {"timestamp", griddb_go.TYPE_TIMESTAMP},
                {"id", griddb_go.TYPE_SHORT},
                {"data", griddb_go.TYPE_FLOAT},
                {"temperature", griddb_go.TYPE_FLOAT}},
            "type":    griddb_go.CONTAINER_TIME_SERIES,
            "row_key": true})
        if err != nil {
            fmt.Println("ERROR CreateContainerInfo: ", err)
            continue
        }
        defer griddb_go.DeleteContainerInfo(conInfo)
    
        _, err = gridstore.PutContainer(conInfo)
        if err != nil {
            fmt.Println("ERROR PutContainer: ", err)
        }
    }
    
  2. 覆盖已存在的容器
    如果需要强制覆盖已存在的容器,可以在PutContainer方法中传入第二个参数true(表示允许覆盖):

    _, err = gridstore.PutContainer(conInfo, true)
    

额外注意点

  • 时间序列容器的行键设置:你当前的配置是正确的,timestamp作为第一列且设置row_key: true,符合GridDB时间序列容器的要求(行键必须包含时间戳列)。
  • 循环逻辑检查:确认fullDataset中是否存在重复的容器名称,避免重复触发创建操作。

内容的提问来源于stack exchange,提问作者Usama Altaf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 08:43:21