Go SDK V2 を使用して DeleteVectors 操作を呼び出し、指定されたキーに基づいてベクトルデータを削除します。これは元に戻せない操作ですので、注意して実行してください。
権限
Alibaba Cloud アカウントは、デフォルトですべての権限を持っています。Alibaba Cloud アカウント下の Resource Access Management (RAM) ユーザーまたは RAM ロールは、デフォルトでは権限がありません。Alibaba Cloud アカウントまたは管理者は、RAM ポリシーまたはバケットポリシーを使用して権限を付与する必要があります。
API | アクション | 説明 |
DeleteVectors |
| ベクトルデータを削除します。 |
メソッド定義
func (c *VectorsClient) DeleteVectors(ctx context.Context, request *DeleteVectorsRequest, optFns ...func(*oss.Options)) (*DeleteVectorsResult, error) リクエストパラメーター
パラメーター | 型 | 説明 |
ctx | context.Context | リクエストコンテキスト。 |
request | *DeleteVectorsRequest | リクエストパラメーター。これらには、バケット名、インデックス名、およびベクトルキーのリストが含まれます。詳細については、「DeleteVectorsRequest」をご参照ください。 |
optFns | ...func(*Options) | (オプション) 操作レベルの構成パラメーター。 詳細については、「Options」をご参照ください。 |
戻り値
パラメーター | 型 | 説明 |
result | *DeleteVectorsResult | 戻り値。詳細については、「DeleteVectorsResult」をご参照ください。 |
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(®ion, "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, accountId required")
}
// 構成を作成し、認証情報プロバイダー、リージョン、およびアカウント ID を設定します。
cfg := oss.LoadDefaultConfig().
WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
WithRegion(region).
WithAccountId(accountId)
// ベクトルストアクライアントを作成します。
client := vectors.NewVectorsClient(cfg)
// ベクトルデータを削除するリクエストを構築します。
request := &vectors.DeleteVectorsRequest{
Bucket: oss.Ptr(bucketName),
IndexName: oss.Ptr("index"),
Keys: [ ]string{
"key1", "key2", // 削除するベクトルキーのリスト。
},
}
// ベクトルデータを削除する操作を実行します。
result, err := client.DeleteVectors(context.TODO(), request)
if err != nil {
log.Fatalf("failed to delete vectors %v", err)
}
// 操作結果を出力します。
log.Printf("delete vectors result:%#v\n", result)
}参考資料
ベクトルデータを削除するための完全なサンプルコードについては、「delete_vectors.go」をご参照ください。