メインコンテンツまでスキップ
バージョン: User Guides (Cloud)

ボリュームの管理(SDK)

このページでは、Zilliz Cloud でデータを管理する際にボリュームを使用する方法について説明します。Web コンソールを使用したボリューム管理の詳細については、ボリュームの管理(コンソール)を参照してください。

📘注意

ボリュームは AWS および Google Cloud でのみ作成できます。Azure でボリュームを使用する必要がある場合は、サポートにお問い合わせください

ボリュームからクラスターにデータをインポート、マージ、または移行するには、ボリュームとクラスターが同じクラウドリージョン内にあることを確認してください。

ボリュームの作成、一覧表示、および削除

サービス要件に応じて、ボリュームを作成し、すべての利用可能なボリュームを一覧表示し、必要のなくなったボリュームを削除することで、ボリュームのライフサイクルを管理できます。

ボリュームマネージャーの初期化

ボリュームマネージャーは、Zilliz Cloud のボリュームサービスへの接続を維持します。ボリュームを管理する前に、ボリュームマネージャーを初期化する必要があります。

from pymilvus.bulk_writer.volume_manager import VolumeManager

volume_manager = VolumeManager(
cloud_endpoint="https://api.cloud.zilliz.com",
api_key="YOUR_API_KEY"
)

ボリュームの作成

ボリュームは Zilliz Cloud プロジェクト固有のものです。ボリュームを作成する際には、プロジェクト ID、リージョン ID、およびボリューム名を指定する必要があります。

volume_manager.create_volume(
project_id="proj-xxxxxxxxxxxxxxxxxxxxxxx",
region_id="aws-us-west-1",
volume_name="my_volume"
)

print(f"\nVolume my_volume created")

# Volume my_volume created

上記のコマンドでは、以下に注意してください。

  • regionId: 作成するボリュームのリージョンは、データをインポートまたは移行する予定のターゲットクラスターのクラウドプロバイダーとリージョンと一致する必要があります。

  • volumeName: 作成するボリューム名は、組織全体で一意である必要があり、64文字以内で、文字またはアンダースコアで始まり、文字、数字、ハイフン、アンダースコアのみを含む必要があります。

ボリュームの一覧表示

特定の Zilliz Cloud プロジェクト内にすでに作成されたボリュームを以下のように確認できます。

volume_list = volume_manager.list_volumes(
project_id="proj-xxxxxxxxxxxxxxxxxxxxxxx",
current_page=1,
page_size=10
)

print(f"\nlistVolumes results: \n", volume_list.json()['data'])

# listVolumes results:
#
# {
# "count": 1,
# "currentPage": 1,
# "pageSize": 10,
# "volumes": [
# {
# "volumeName": "my_volume"
# }
# ]
# }

ボリュームの削除

必要なくなったボリュームは削除できます。ボリュームを削除するには、以下のようにします。

volume_manager.delete_volume(
volume_name="my_volume"
)

print(f"\nVolume my_volume deleted")

# Volume my_volume deleted

データをボリュームにアップロード

ボリュームの準備ができたら、データをボリュームにアップロードします。

ボリュームファイルマネージャーの初期化

ボリュームファイルマネージャーは、Zilliz Cloud のボリュームサービス上の特定のボリュームへの接続を維持します。ボリュームにファイルをアップロードする前に、ボリュームファイルマネージャーを初期化する必要があります。

from pymilvus.bulk_writer.volume_file_manager import VolumeFileManager

volume_file_manager = VolumeFileManager(
cloud_endpoint='https://api.cloud.zilliz.com',
api_key='YOUR_API_KEY',
volume_name='my_volume',
)

ファイルのアップロード

ボリュームファイルマネージャーの準備ができたら、これを使用して指定されたボリュームにファイルをアップロードします。次の例では、ローカルのソースファイルパスにあるファイルをボリューム内のターゲットファイルパスにアップロードします。

result = volume_file_manager.upload_file_to_volume(
source_file_path="/path/to/your/local/data/file",
target_volume_path="data/"
)

print(f"\nuploadFileToVolume results: {result}")

# uploadFileToVolume results:
#
# {
# "volumeName": "my_volume",
# "path": "data/"
# }