All Products
Search
Document Center

Object Storage Service:Upload vectors (Go SDK V2)

Last Updated:Jun 04, 2026

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

oss: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(&region, "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.