QLDB シェルを使用した Amazon QLDB へのアクセス (データプレーンのみ) - Amazon Quantum Ledger Database (Amazon QLDB)

QLDB シェルを使用した Amazon QLDB へのアクセス (データプレーンのみ)

Amazon QLDB には、トランザクションデータプレーンとやり取りするためのコマンドラインシェルが用意されています。QLDB シェルを使用して、台帳データに対して PartiQL ステートメントを実行できます。このシェルは Python で記述されており、GitHub リポジトリ awslabs/amazon-qldb-shell でオープンソースとして公開されています。

注記

Amazon QLDB シェルは、qldb-session トランザクションデータ API のみをサポートしています。この API は、QLDB 台帳に対して PartiQL ステートメントを実行するためにのみ使用します。

コマンドラインインターフェイスを使用して qldb コントロールプレーン API アクションとやり取りするには、「AWS CLI を使用した Amazon QLDB へのアクセス (コントロールプレーンのみ)」を参照してください。

このツールは、アプリケーションに組み込んだり、本番環境で採用したりすることを意図したものではありません。このツールの目的は、開発者、DevOps、データベース管理者向けに、また、このツールに関心のある人向けに、QLDB と PartiQL をすばやく試す機会を提供することです。

以下のセクションでは、QLDB シェルの使用を開始する方法について説明します。

前提条件

Amazon QLDB シェルを開始する前に、以下の操作を実行する必要があります。

  1. Amazon QLDB へのアクセス」にある AWS の設定手順に従います。これには、AWS へのサインアップと開発用の AWS アクセスキーの取得が含まれます。

  2. Python ダウンロードサイトから Python バージョン 3.4 以降をインストールします。

  3. AWS の認証情報とデフォルトの AWS リージョンを設定します。手順については、AWS SDK for Python (Boto3) ドキュメントの「クイックスタート」を参照してください。

    使用可能なリージョンの完全なリストについては、AWS General Reference の「Amazon QLDB エンドポイントとクォータ」を参照してください。

シェルの設定

pip3 (Python 3 のパッケージマネージャー) を使用して PyPI から QLDB シェルをインストールするには、コマンドラインターミナルで以下のコマンドを実行します。

$ pip3 install qldbshell

シェルをインストールすると、以下の必須のパッケージ依存関係もインストールされます。

  • pyqldb

  • amazon.ion

  • boto3

シェルの呼び出し

コマンドラインターミナルで特定の台帳に対して QLDB シェルを呼び出すには、以下のコマンドを実行します。test-ledger を台帳名に置き換えます。

$ qldbshell --ledger test-ledger
注記

このコマンドはデフォルトの AWS リージョンに接続します。リージョンを明示的に指定するには、次のセクションで説明するように、--region パラメータを指定してコマンドを実行できます。

qldbshell セッションで入力する連続する各行は、個別の PartiQL ステートメントとして扱われます。QLDB シェルの現在のバージョンでは、PartiQL ステートメントは複数行にまたがることはできません。

接続パラメータ

使用可能な入力引数のリストを表示するには、qldbshell セッションを呼び出す前に以下のコマンドを実行します。

$ qldbshell --help

以下の接続パラメータは、qldbshell コマンドで使用できます。オプションの引数を追加して、シェルが使用する AWS リージョン、認証情報プロファイル、エンドポイントを上書きできます。

使用構文:

$ qldbshell -l LEDGER_NAME [-v] [-p PROFILE] [-r REGION_CODE] [-s QLDB_SESSION_ENDPOINT]

必須の引数

-l LEDGER_NAME
--ledger LEDGER_NAME

シェルが接続する台帳の名前を指定します。台帳名はすでに存在し、アクティブであることが必要です。

オプションの引数

-v
--verbose

シェルセッションの出力の詳細度を上げます。

-p PROFILE
--profile PROFILE

シェルが認証に使用する AWS 認証情報プロファイルの場所を指定します。

指定しない場合、シェルは、~/.aws/credentials にあるデフォルトの AWS プロファイルを使用します。

-r REGION_CODE
--r region REGION_CODE

シェルが接続する QLDB 台帳の AWS リージョンコードを指定します。例: us-east-1

指定しない場合、シェルは、AWS プロファイルで指定されたデフォルトの AWS リージョンに接続します。

-s QLDB_SESSION_ENDPOINT
--qldb-session-endpoint QLDB_SESSION_ENDPOINT

シェルが接続する qldb-session API エンドポイントを指定します。

使用可能な QLDB リージョンとエンドポイントの完全なリストについては、AWS General Reference の「Amazon QLDB エンドポイントとクォータ」を参照してください。

パラメータファイル

コマンドラインで引数を渡す代わりに、入力パラメータをファイルに保存することもできます。各パラメータは別々の行に配置します。次に、以下のようにファイル名を qldbshell に渡します。

$ qldbshell @params.conf

シェルの終了

現在の qldbshell セッションを終了して現在の台帳データベース接続を閉じるには、exit コマンドを実行します。

qldbshell > exit

QLDB での PartiQL ステートメントの記述については、「Amazon QLDB PartiQL リファレンス」を参照してください。

以下の例では、基本的なコマンドの一般的なシーケンスを示しています。

注記

QLDB シェルは、この例の各 PartiQL ステートメントを独自のトランザクションで実行します。

この例では、台帳 test-ledger がすでに存在し、アクティブであると想定しています。

$ qldbshell --ledger test-ledger --region us-east-1 qldbshell > CREATE TABLE TestTable qldbshell > INSERT INTO TestTable `{"Name": "John Doe"}` qldbshell > SELECT * FROM TestTable qldbshell > DROP TABLE TestTable qldbshell > exit