Pythonでazure-cosmosを用いてAzure Cosmos DBデータベースを作成してみます。
今回はazure-cosmosを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■読み取り/書き込みキーとURLの取得
azure-cosmosを用いてAzure Cosmos DBデータベースを作成するためには、クライアントを認証する必要があります。そのためには、読み取り/書き込みキーとURLの取得が必要です。
読み取り/書き込みキーとURLの取得は、「Microsoft Azure Portal」の「サインイン」からサインインを行い、「サービス」の「Azure Cosmos DB」へ移動します。移動後、「Azure Cosmos DB」のページが表示されますので、ページ内から作成したAzure Cosmos DBアカウントの名前をクリックします。クリックすると、Azure Cosmos DBアカウントの「概要」などが表示されます。表示された左メニューから「設定」の「キー」をクリックします。
クリックすると「キー」のページが表示されますので、ページ内の「読み取り/書き込みキー」タブをクリックし、表示されている「URI」と「プライマリ キー」をコピーし保存します。これで読み取り/書き込みキーとURLの取得は完了です。
■azure-cosmosを用いてAzure Cosmos DBデータベースを作成する
完了後、azure-cosmosを用いてAzure Cosmos DBデータベースを作成しますが、まずWindows10のコマンドプロンプトを起動します。
C:\Users\user_>cd azure-cosmos-example
作成後、上記のコマンドを入力し、Enterキーを押します。「cd」コマンドで「azure-cosmos-example」ディレクトリ内に移動します。
■仮想環境への切り替え
C:\Users\user_\azure-cosmos-example>.venv\Scripts\activate.bat
移動後、上記のコマンドを入力し、Enterキーを押します。仮想環境のディレクトリ内に作成された activateスクリプトを実行し、仮想環境に入ります。今回は仮想環境下でazure-cosmosをインストールしていますので、仮想環境に入ります。
(.venv) C:\Users\user_\azure-cosmos-example>
Enterキーを押すと、「(.venv)」と表示されます。これで仮想環境に入ることができました。
■プログラムを作成する
仮想環境に入った後に「azure-cosmos-example」ディレクトリ内に「test_db.py」というスクリプトファイルを作成します。作成後、コードエディタを開き、ファイル内のコードを記述していきます。
■コード
from azure.cosmos import CosmosClient, exceptions URL = "URI" KEY = "プライマリキー" client = CosmosClient(URL, credential=KEY) DATABASE_NAME = 'test_db' try: database = client.create_database(DATABASE_NAME) except exceptions.CosmosResourceExistsError: database = client.get_database_client(DATABASE_NAME)
from importでazure.cosmosのCosmosClientとexceptionsを呼び出します。その後、URLとKEYという変数を定義し、その中に先程コピーしたURLとプライマリキーを格納します。
その後、clientという変数を定義し、その中でCosmosClient()を用います。括弧内には、第1の引数,パラメータとしてURL変数を渡します。次に第2の引数,パラメータとしてKEYを渡します。これでCosmosClient の初期化を行います。
CosmosClient の初期化設定後、DATABASE_NAMEという変数を定義し、その中に作成するデータベースの名前を格納します。今回は「test_db」とします。
格納後、try-except文を用いて、例外処理を設定します。クライアントの認証が成功した場合はclient.create_database()を用いて、データベースが作成されますが、Resource(リソース)内にすでにデータベースが存在する場合は、client.get_database_client()でIDを持つ既存のデータベースを取得します。
コードを記述後、ファイルを保存します。
■実行・検証
保存後、コマンドプロンプト上で仮想環境に入った状態でスクリプトファイルを実行してみます。
(.venv) C:\Users\user_\azure-cosmos-example>python test_db.py
実行してみると、何も出力されませんが、これでデータベースが作成されました。
作成後、「Microsoft Azure Portal」の「サインイン」からサインインを行い、「サービス」の「Azure Cosmos DB」へ移動します。移動後、「Azure Cosmos DB」のページが表示されますので、ページ内から作成したAzure Cosmos DBアカウントの名前をクリックします。クリックすると、Azure Cosmos DBアカウントの「概要」などが表示されます。表示された左メニューから「データ エクスプローラー」をクリックします。クリックすると、azure-cosmosを用いて作成したAzure Cosmos DBデータベースが表示されていることが確認できました。
コメント