✨
Azure Cosmos DBのデータをPythonを使ってJSON形式でエクスポートする方法
やること
Azure Cosmos DBのデータをPythonを使ってJSON形式でエクスポートする
必要なパッケージのinstall
Cosmos DB とのやり取りには、Azure Cosmos DB の Python SDK が必要です。
以下のコマンドを使用してインストールを行う。
pip install azure-cosmos
code
以下のスクリプトは、Cosmos DB 内のすべてのコンテナからデータをクエリし、それぞれのコンテナ名をファイル名として使用してJSON形式でローカルに保存します
from azure.cosmos import CosmosClient, exceptions, PartitionKey
import json
# Cosmos DB 接続情報
url = "YOUR_COSMOS_DB_ACCOUNT_URL"
key = "YOUR_COSMOS_DB_ACCOUNT_KEY"
database_name = "YOUR_DATABASE_NAME"
# CosmosClient インスタンスの作成
client = CosmosClient(url, credential=key)
# データベースの取得
database = client.get_database_client(database_name)
# データベース内の全コンテナのリストを取得
containers_list = database.list_containers()
containers_names = [container['id'] for container in containers_list]
# 各コンテナからデータを取得し、ローカルに保存
for container_name in containers_names:
container = database.get_container_client(container_name)
# クエリの実行
query = "SELECT * FROM c"
items = list(container.query_items(query, enable_cross_partition_query=True))
# データのローカルへの保存 (コンテナ名をファイル名に使用)
file_name = f'{container_name}.json'
with open(file_name, 'w') as f:
json.dump(items, f)
print(f"{container_name} のデータのエクスポートが完了しました。ファイル名: {file_name}")
print("全てのコンテナからのデータのエクスポートが完了しました。")
パラメータ
- "YOUR_COSMOS_DB_ACCOUNT_URL": CosmosDBのURIに置き換えてください。
- "YOUR_COSMOS_DB_ACCOUNT_KEY": CosmosDBのPRIMARY Keyに置き換えてください。
- "YOUR_DATABASE_NAME": 対象のCosmosDBのデータベース名に置き換えてください。
注意
このスクリプトは Cosmos DB のデータを JSON 形式でエクスポートします。CSV 形式など他の形式で必要な場合は、データを適切な形式に変換する処理を追加してください。
Discussion