すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:ベクター情報の取得 (Go SDK V2)

最終更新日:Jun 04, 2026

Go SDK V2 を使用して GetVectors API を呼び出し、指定したキーに基づいてベクターデータを取得します。

アクセス許可

Alibaba Cloud アカウントには、デフォルトですべてのアクセス許可があります。Alibaba Cloud アカウント配下の Resource Access Management (RAM) ユーザーまたは RAM ロールには、デフォルトではアクセス許可がありません。Alibaba Cloud アカウントまたは管理者は、RAM ポリシーまたはバケットポリシーを使用して、この操作のアクセス許可を付与する必要があります。

API

アクション

説明

GetVectors

oss:GetVectors

ベクトルデータを取得します。

メソッド定義

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

リクエストパラメーター

パラメーター

説明

ctx

context.Context

リクエストコンテキスト。

request

GetVectorsRequest

バケット名、インデックス名、ベクターキーのリストなどのリクエストパラメーターです。詳細については、「GetVectorsRequest」をご参照ください。

optFns

...func(oss.Options)

(オプション) API レベルの構成パラメーターです。

詳細については、「Options」をご参照ください。

戻り値

パラメーター

説明

result

GetVectorsResult

戻り値。このパラメーターは、err が nil の場合にのみ有効です。詳細については、「GetVectorsResult」をご参照ください。

err

error

エラーメッセージ。操作が成功した場合、この値は nil です。

サンプルコード

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", "", "ベクターバケットが存在するリージョン。")
	flag.StringVar(&bucketName, "bucket", "", "ベクターバケットの名前。")
	flag.StringVar(&accountId, "account-id", "", "ベクターアカウントの ID。")
}

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).
		// パブリックネットワーク経由でアクセスするには、false に設定するか、この行を削除します。
		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)
}

関連資料

完全なサンプルコードについては、「get_vectors.go」をご参照ください。