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
なお、認証情報(ユーザー名、パスワード等)が間違っていると上記のエラーが出力されます。
コメント