Gunakan Go SDK V2 untuk memanggil operasi PutVectors guna mengunggah data vektor ke indeks vektor tertentu.
Permissions
Akun Alibaba Cloud memiliki izin penuh secara default. Pengguna RAM dan peran memerlukan otorisasi eksplisit melalui RAM policy atau bucket policy.
|
API |
Action |
Description |
|
PutVectors |
|
Menulis data vektor. |
Method definition
func (c *VectorsClient) PutVectors(ctx context.Context, request *PutVectorsRequest, optFns ...func(*oss.Options)) (*PutVectorsResult, error)
Request parameters
|
Parameter |
Type |
Description |
|
ctx |
context.Context |
Konteks permintaan. |
|
request |
*PutVectorsRequest |
Parameter permintaan, termasuk nama bucket vektor. Untuk informasi selengkapnya, lihat PutVectorsRequest. |
|
optFns |
...func(*Options) |
Fungsi konfigurasi opsional. |
Return values
|
Parameter |
Type |
Description |
|
result |
*PutVectorsResult |
Nilai kembali. Parameter ini hanya valid jika err bernilai nil. Untuk informasi selengkapnya, lihat PutVectorsResult. |
|
err |
error |
Pesan error. Parameter ini bernilai nil jika operasi berhasil. |
Sample code
package main
import (
"context"
"flag"
"log"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/vectors"
)
var (
region string
bucketName string
accountId string
)
func init() {
flag.StringVar(®ion, "region", "", "Wilayah tempat bucket vektor berada.")
flag.StringVar(&bucketName, "bucket", "", "Nama bucket vektor.")
flag.StringVar(&accountId, "account-id", "", "ID Akun Alibaba Cloud.")
}
func main() {
flag.Parse()
if len(bucketName) == 0 || len(region) == 0 || len(accountId) == 0 {
flag.PrintDefaults()
log.Fatalf("parameter tidak valid")
}
cfg := oss.LoadDefaultConfig().
WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
WithRegion(region).WithAccountId(accountId).
// Untuk menggunakan akses publik, atur parameter ini ke false atau hapus baris ini.
WithUseInternalEndpoint(true)
client := vectors.NewVectorsClient(cfg)
request := &vectors.PutVectorsRequest{
Bucket: oss.Ptr(bucketName),
IndexName: oss.Ptr("exampleIndex"),
Vectors: [ ]map[string]any{
{
"key": "vector1",
"data": map[string]any{
"float32": [ ]float32{1.2, 2.5, 3},
},
"metadata": map[string]any{
"Key1": "value2",
"Key2": [ ]string{"1", "2", "3"},
},
},
},
}
result, err := client.PutVectors(context.TODO(), request)
if err != nil {
log.Fatalf("gagal mengunggah vektor %v", err)
}
log.Printf("hasil unggah vektor:%#v\n", result)
}
References
Untuk kode contoh lengkap pengunggahan data vektor, lihat put_vectors.go.