参照するサンプルコード
Azure の Cosmos DB を SQL API で操作するための最初の手順は下記のドキュメントに記載されています。
ここに Node.js 用のサンプルコードがあり、@azure/cosmos パッケージが提供する CosmosClient クラスを使用したコードになっています(昔のサンプルコードでは documentdb
というライブラリを使用していたりしますが、今は Microsoft が提供する @azure/cosmos
を使用すると完結なコードを記述できます)。
基本的には、config.js
ファイルに記述されたエンドポイントとキーを下記のような感じで設定すれば実行できるようになるのですが、
会社などのプロキシ環境内からだとうまく接続できず、次のような感じのエラーが発生すると思います。
HTTPS_PROXY
環境変数を設定しても同様で効果がありません。
プロキシ経由で CosmosClient を使用する
CosmosClient
クラスでの Cosmos DB へのアクセスをプロキシ経由で行うには、コンストラクタのパラメータとして渡せる CosmosClientOptions の agent
プロパティを設定します。
ここでは、エージェントとして proxy-agent モジュールを使用します。
プロキシを使用するかどうかを簡単に切り替えられるようにするには、例えば、AZURE_PROXY
環境変数に URI がセットされていたら、それをプロキシアドレスとして使用する、というように処理を分けるとよいでしょう。
あとは、普通に CosmosClient
インスタンスを使用して API を呼び出すだけです。
my-db
データベースの my-collection
コレクションに、適当な JSON データを格納してみます。
Azure ポータル から Cosmos DB の データエクスプローラー を開くと、my-db
データベースの my-collection
コレクションにアイテムが追加されていることを確認できます。
関連記事