All Products
Search
Document Center

Object Storage Service:Unggah vektor (Go SDK V2)

Last Updated:Nov 09, 2025

Gunakan Go SDK V2 untuk memanggil operasi PutVectors guna mengunggah data vektor ke indeks vektor yang ditentukan.

Izin

Akun Alibaba Cloud memiliki semua izin secara default. Namun, Pengguna Manajemen Akses Sumber Daya (RAM) dan Peran RAM tidak memiliki izin secara default. Administrator Akun Alibaba Cloud harus memberikan izin menggunakan Kebijakan RAM atau kebijakan bucket.

API

Aksi

Deskripsi

PutVectors

oss:PutVectors

Menulis data vektor.

Definisi metode

func (c *VectorsClient) PutVectors(ctx context.Context, request *PutVectorsRequest, optFns ...func(*oss.Options)) (*PutVectorsResult, error)

Parameter permintaan

Parameter

Tipe

Deskripsi

ctx

context.Context

Konteks permintaan.

request

*PutVectorsRequest

Parameter permintaan, termasuk nama bucket vektor. Untuk informasi lebih lanjut, lihat PutVectorsRequest.

optFns

...func(*Options)

Fungsi konfigurasi opsional.

Nilai kembali

Parameter

Tipe

Deskripsi

result

*PutVectorsResult

Nilai kembali. Parameter ini valid hanya jika err adalah nil. Untuk informasi lebih lanjut, lihat PutVectorsResult.

err

error

Pesan kesalahan. Parameter ini adalah nil jika operasi berhasil.

Kode contoh

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)

	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 menempatkan vektor %v", err)
	}
	log.Printf("hasil penempatan vektor:%#v\n", result)
}

Referensi

Untuk kode contoh lengkap untuk mengunggah data vektor, lihat put_vectors.go.