Node.js および DAX
このステップに従って、Amazon EC2 インスタンスで Node.js サンプルアプリケーションを実行します。
DAX の Node.js サンプルを実行するには
-
以下のように、Amazon EC2 インスタンスで Node.js を設定します。
-
ノードバージョンマネージャー (
nvm) をインストールしてください。curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash -
nvm を使用して Node.js をインストールします。
nvm install 12.16.3 -
Node.js が正しくインストールおよび実行されているかテストします。
node -e "console.log('Running Node.js ' + process.version)"これにより次のメッセージが表示されるはずです。
Running Node.js v12.16.3
-
-
ノードパッケージマネージャー (
npm) を使用して、DAX Node.js クライアントをインストールします。npm install amazon-dax-client -
サンプルプログラムソースコード (
.zipファイル) をダウンロードします。wget http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/TryDax.zipダウンロードが完了したら、ソースファイルを解凍します。
unzip TryDax.zip -
次の Node.js プログラムを実行します。最初のプログラムは、
TryDaxTableという Amazon DynamoDB テーブルを作成します。2 番目のプログラムは、テーブルにデータを書き込みます。node 01-create-table.js node 02-write-data.js -
次の Node.js プログラムを実行します。
node 03-getitem-test.js node 04-query-test.js node 05-scan-test.jsタイミング情報を書き留めます。これは
GetItem、Query、Scanテストに必要なミリ秒の数字です。 -
前のステップで、DynamoDB エンドポイントに対してプログラムを実行しました。プログラムを再度実行しますが、今度は
GetItem、Query、Scanオペレーションが DAX クラスターによって処理されます。DAX クラスターのエンドポイントを確認するには、次のいずれかを選択します。
-
[Using the DynamoDB console] (DynamoDB コンソールの使用) — DAX クラスターを選択します。次の例のように、クラスターエンドポイントがコンソールに表示されます。
dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com -
AWS CLI の使用 - 次のコマンドを入力します。
aws dax describe-clusters --query "Clusters[*].ClusterDiscoveryEndpoint"次の例のように、クラスターエンドポイントが出力に表示されます。
{ "Address": "my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com", "Port": 8111, "URL": "dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com" }
ここでプログラムを再度実行しますが、今度はクラスターエンドポイントをコマンドラインパラメータとして指定します。
node 03-getitem-test.js dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com node 04-query-test.js dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com node 05-scan-test.js dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com出力の残りの部分を見て、タイミング情報を書き留めます。
GetItem、QueryおよびScanの経過時間は、DynamoDB を使用した場合より DAX を使用した方が大幅に低いはずです。 -
-
次の Node.js プログラムを実行して
TryDaxTableを削除します。node 06-delete-table
これらのプログラムの詳細については、以下のセクションを参照してください。