Todos os produtos
Search
Central de documentação

Object Storage Service:Recuperar informações de vetores (Go SDK V2)

Última atualização: Jul 03, 2026

Chame a operação GetVectors com o Go SDK V2 para recuperar dados vetoriais e metadados com base em chaves específicas.

Permissões

Contas Alibaba Cloud têm todas as permissões por padrão. Usuários ou funções RAM não possuem permissões por padrão. Uma conta Alibaba Cloud ou um administrador deve conceder permissões por meio de uma política do RAM ou de uma política de bucket.

API

Ação

Descrição

GetVectors

oss:GetVectors

Obtém dados vetoriais.

Definição do método

func (c *VectorsClient) GetVectors(ctx context.Context, request *GetVectorsRequest, optFns ...func(*oss.Options)) (*GetVectorsResult, error)

Parâmetros da solicitação

Parâmetro

Tipo

Descrição

ctx

context.Context

Contexto da solicitação.

request

*GetVectorsRequest

Parâmetros da solicitação, como nome do bucket, nome do índice e lista de chaves de vetores. Para mais informações, consulte GetVectorsRequest.

optFns

...func(*Options)

(Opcional) Parâmetros de configuração no nível da API.

Para mais detalhes, veja Options.

Valores de retorno

Parâmetro

Tipo

Descrição

result

*GetVectorsResult

Valor retornado. Este parâmetro é válido apenas quando err é nil. Para mais informações, consulte GetVectorsResult.

err

error

Mensagem de erro. Se a operação for bem-sucedida, este valor será nil.

Código de exemplo

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", "", "The region in which the vector bucket is located.")
	flag.StringVar(&bucketName, "bucket", "", "The name of the vector bucket.")
	flag.StringVar(&accountId, "account-id", "", "The ID of the vector account.")
}

func main() {
	flag.Parse()
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, bucket name required")
	}

	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	if len(accountId) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, account ID required")
	}

	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region).WithAccountId(accountId).
		// To access over the public network, set this to false or remove this line.
		WithUseInternalEndpoint(true)

	client := vectors.NewVectorsClient(cfg)

	request := &vectors.GetVectorsRequest{
		Bucket:         oss.Ptr(bucketName),
		IndexName:      oss.Ptr("index"),
		Keys:           []string{"key1", "key2", "key3"},
		ReturnData:     oss.Ptr(true),
		ReturnMetadata: oss.Ptr(false),
	}
	result, err := client.GetVectors(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to get vectors %v", err)
	}
	log.Printf("get vectors result:%#v\n", result)
}

Referências

Para obter o código de exemplo completo, consulte get_vectors.go.