azure-storage パッケージのインストール
Node.js から Azure Table Storage を操作するには、azure-storage
というライブラリを使用します。
npm
コマンドで簡単にインストールすることができます。
TableService オブジェクトの生成
Azure Storage にアクセスするには、接続情報(ストレージアカウント名とキー)が必要になるので、Azure ポータル で確認しておいてください。
接続情報としてデフォルトの環境変数を使用する
Node.js から Table Storage を扱うには、azure-storage
モジュールが提供する TableService クラス を使用します。
TableService
のインスタンスは下記のように生成することができます。
上記のように、TableService
のコンストラクのパラメータを何も指定しないと、接続のために下記のような環境変数が参照されます。
- AZURE_STORAGE_ACCOUNT
… Azure Storage の「ストレージアカウント名」
- AZURE_STORAGE_ACCESS_KEY
… Azure Storage の「キー」
- AZURE_STORAGE_CONNECTION_STRING
… Azure Storage の「接続文字列」
1 と 2 を両方とも設定するか、3 を設定しておけば Azure Storage にアクセスできるようになります。
接続情報を明示的に指定する
TableService
のコンストラクタの引数で、明示的に接続情報を渡すこともできます。
複数のストレージアカウントを使い分けたい場合は、独自の環境変数に「接続文字列」を設定しておくとよいでしょう。
ここでは、MAKU_AZURE_STORAGE_CONNECTION_STRING
という環境変数に「接続文字列」を設定してみます。
プロキシ環境からアクセスする場合
TableService
クラスをプロキシ環境内で使用する場合は、OS の https_proxy
環境変数で設定してしまうのが簡単です。
OS の https_proxy
環境変数を設定するのを避けたいときは、TableService
クラスの setProxy()
メソッドを使ってプロキシを設定することもできます。
プロキシ情報は環境変数で定義したいけど、OS の https_proxy
環境変数を設定するのは避けたいということであれば、例えば、独自の MAKU_AZURE_PROXY
のような 独自の環境変数 を用意するとよいでしょう。
テーブルの操作
ここから先のテーブル操作に関しては、前述の TableService
オブジェクトの生成が終わっていることを想定しています。
テーブルを作成する (createTable, createTableIfNotExists)
Table Storage 上に、新しいテーブルを作成するには、TableService
クラスの下記のメソッドを使用します。
エンティティの操作
エンティティを取得する (queryEntities)
条件を指定してエンティティのリストを取得するには、TableService
クラスの queryEntities() メソッド を使用します。
queryEntities()
メソッドの第2パラメータに TableQuery オブジェクト を渡すと、エンティティを検索するための条件を指定することができます。
関連記事