UpdateVikingdbCollection用于为指定数据集 Collection 增加字段。
Collection 支持新增字段 fields,已定义字段 fields 不支持修改,仅支持修改数据集描述。
Go SDK 通过 vikingdb.New(sess) 创建的客户端实例调用 UpdateVikingdbCollection(input) 方法发起集合更新请求,input 参数类型为 vikingdb.UpdateVikingdbCollectionInput,包含集合名称、描述、项目名称和新增字段定义等配置。
请求参数是 UpdateVikingdbCollectionInput,UpdateVikingdbCollectionInput 包含的参数如下表所示。
参数 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
ProjectName | string | 否 | 项目名称,对应 API 字段 |
CollectionName | string | 二选一 | 集合名称,对应 API 字段 |
ResourceId | string | 二选一 | 集合资源 ID,对应 API 字段 |
Description | string | 否 | 集合描述,对应 API 字段 |
Fields | []FieldForUpdateVikingdbCollectionInput | 是 | 新增字段列表,对应 API 字段 |
参数 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
FieldName | string | 是 | 字段名。 |
FieldType | FieldTypeEnum(枚举类型) | 是 | 新增字段类型。支持 string、int64、float32、bool、list[string]、list[int64]、text、date_time、geo_point、list[geo_point];不支持新增 vector、sparse_vector、tensor、image、video。 |
DefaultValue | interface{} | 否 | 字段默认值。省略时 int64、float32、string、bool、list<int64>、list<string>、text、date_time、geo_point、list<geo_point> 分别使用 |
更新接口支持新增 string、int64、float32、bool、list<string>、list<int64>、text、date_time、geo_point、list<geo_point> 字段;不支持新增 vector、sparse_vector、tensor、image、video 字段。
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
Message | string | success | 操作结果描述,对应 API 字段 |
package main import ( "fmt" "github.com/volcengine/volcengine-go-sdk/service/vikingdb" "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/volcengine/volcengine-go-sdk/volcengine/credentials" "github.com/volcengine/volcengine-go-sdk/volcengine/session" "os" ) func main() { var ( accessKey = os.Getenv("VIKINGDB_AK") secretKey = os.Getenv("VIKINGDB_SK") region = "cn-beijing" collectionName = "<YOUR_COLLECTION_NAME>" description = "Your Collection Description" ) config := volcengine.NewConfig(). WithRegion(region). WithCredentials(credentials.NewStaticCredentials(accessKey, secretKey, "")) sess, err := session.NewSession(config) if err != nil { panic(err) } svc := vikingdb.New(sess) input := &vikingdb.UpdateVikingdbCollectionInput{ CollectionName: volcengine.String(collectionName), Description: volcengine.String(description), Fields: []*vikingdb.FieldForUpdateVikingdbCollectionInput{ { FieldName: volcengine.String("new_tag"), FieldType: volcengine.String("string"), }, { FieldName: volcengine.String("extra_score"), FieldType: volcengine.String("float32"), }, }, } output, err := svc.UpdateVikingdbCollection(input) if err != nil { panic(err) } fmt.Println(output) }