Pythonでharperdbを用いてschema(スキーマ)を作成する

スポンサーリンク

Pythonでharperdbを用いてschema(スキーマ)を作成してみます。

今回はharperdbを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■harperdbを用いてschema(スキーマ)を作成する

では、早速harperdbを用いてschema(スキーマ)を作成するスクリプトを書いていきます。

■コード

import harperdb

HARPERDB_URL = "発行されたHARPERDBのURL"

HARPERDB_USERNAME = "インスタンスのユーザー名"
HARPERDB_PASSWORD = "インスタンスのパスワード"

db = harperdb.wrappers.HarperDBWrapper(
    url=HARPERDB_URL,
    username=HARPERDB_USERNAME,
    password=HARPERDB_PASSWORD)

schema_test = db.create_schema('test-1')

今回はimportでharperdbモジュールを呼び出します。その後、HARPERDB_URLという変数を定義し、その中にHarperDBで発行されたクラウドインスタンスのURLを格納します。なお、今回は事前に作成しておいた無料のHarperDBクラウドインスタンスを用います。

格納後、HARPERDB_USERNAMEとHARPERDB_PASSWORDという変数も定義し、その中にクラウドインスタンスのユーザー名とパスワードをそれぞれ格納します。

格納後、dbという変数を定義し、その中でharperdb.wrappers.HarperDBWrapper()を用います。HarperDBWrapperは、HarperDBのハイレベルなオブジェクト指向インターフェイスを提供し、スキーマ、テーブル、レコードの参照や値の使用や変更が行えます。括弧内には第1の引数,パラメータ(url=)として、HARPERDB_URL変数を渡します。次に第2の引数,パラメータ(username=)として、HARPERDB_USERNAME変数を渡します。次に第3の引数,パラメータ(password=)として、HARPERDB_PASSWORD変数を渡します。

db変数を定義後、さらにschema_testという変数を定義し、その中でdb変数に対してcreate_schema()を用います。これでインターフェイスを利用し、schema(スキーマ)の作成を行えます。今回は括弧内に「test-1」を渡します。これでtest-1というschema(スキーマ)が作成されます。

■実行・検証

このスクリプトを「h_table.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、何も出力されませんが、今回指定したHarperDBクラウドインスタンス内にschema(スキーマ)が作成されました。

作成後、HarperDB Studio(https://studio.harperdb.io/)にログインし、事前に作成しておいたクラウドインスタンスを選択します。選択すると、インスタンス内のschema(スキーマ)やtable(テーブル)などが表示されます。表示後、今回作成したtest-1というschema(スキーマ)が確認できました。

■認証情報が間違っている場合

Traceback (most recent call last):
  File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\harperdb\harperdb_base.py", line 42, in __make_request
    response.raise_for_status()
  File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\requests\models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://*****.harperdbcloud.com/

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "h_table.py", line 13, in 
    schema_test = db.create_schema('test-1')
  File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\harperdb\wrappers.py", line 143, in create_schema
    self._create_schema(name)
  File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\harperdb\harperdb_base.py", line 50, in _create_schema
    return self.__make_request({
  File "C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\harperdb\harperdb_base.py", line 44, in __make_request
    raise HarperDBError(body.get('error', 'An unknown error occurred'))
harperdb.exceptions.HarperDBError: Login failed

なお、認証情報(ユーザー名、パスワード等)が間違っていると上記のエラーが出力されます。

コメント

タイトルとURLをコピーしました