Todos os produtos
Search
Central de documentação

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

Última atualização: Sep 22, 2026

Use a operação GetVectors do Go SDK V2 para recuperar dados de vetores e seus metadados com base nas chaves especificadas.

Permissões

Por padrão, as contas Alibaba Cloud têm todas as permissões. Os usuários e as funções do RAM não têm permissões por padrão. Uma conta Alibaba Cloud ou um administrador deve conceder permissões por meio de uma RAM policy ou de uma bucket policy.

API

Ação

Descrição

GetVectors

oss:GetVectors

Obtém dados de vetor.

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

O contexto da solicitação.

request

*GetVectorsRequest

Os parâmetros da solicitação, como o nome do bucket, o nome do índice e uma lista de chaves de vetor. Para obter mais informações, consulte GetVectorsRequest.

optFns

...func(*Options)

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

Para mais detalhes, consulte Options.

Valores de retorno

Parâmetro

Tipo

Descrição

result

*GetVectorsResult

O valor de retorno. Este parâmetro é válido apenas quando err é nil. Para saber mais, consulte GetVectorsResult.

err

error

A mensagem de erro. Se a operação for bem-sucedida, esse 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 acessar o código de exemplo completo, consulte get_vectors.go.