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

ボリュームの管理 (SDK)

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

📘Note

ボリュームは 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/"
# }