代码之家  ›  专栏  ›  技术社区  ›  Akshay Apte

将行写入云BigTable时发生客户端错误

  •  0
  • Akshay Apte  · 技术社区  · 5 年前

    我正在尝试使用gosdkforbigtable将行写入Bigtable表。我正在对表对象使用apply方法。

    当我尝试多次写入时,收到以下错误:

    rpc error: code = Canceled desc = grpc: the client connection is closing
    

    func Put(tableName string, columnFamilyName string, rowKey string, attrMap map[string]interface{}) error {
    
        tbl := BigTableClient.Open(tableName)
        mut := bigtable.NewMutation()
    
        for key, val := range attrMap {
            if utils.IsJSON(val.(string)) {
                v, _ := json.Marshal(val)
                mut.Set(columnFamilyName, key, bigtable.Now(), []byte(v))
            } else {
                v := val.(string)
                mut.Set(columnFamilyName, key, bigtable.Now(), []byte(v))
            }
        }
        err := tbl.Apply(BigTableContext, rowKey, mut)
        if err != nil {
            errMsg := "Error while writing to BT: " + err.Error()
            logger.LogError(errMsg)
        }
        return err
    }
    

    有人能帮我理解这个问题吗?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Misha Brukman    5 年前

    这似乎是gRPC错误。

    可能是网络延迟导致gRPC错误。

    你可以像上面提到的那样测试 here 将Bigtable与您自己的 gRPC conn