da-cosmos

3.1.1 • Public • Published

CosmosDB Util and REST API

概要

  • SQLインタフェースの CosmosDB を操作するライブラリです。
  • SQL は使いにくいので、インタフェース (特に検索条件) は json でもらうようになってます。

使い方

  • CosmosDBアカウント と キー(接続文字列) は Azure ポータルで準備しておく
  • データベース作成
    const cosmos = new Cosmos(接続文字列);
    const db = await cosmos.create(データベース名);
  • レコード追加
    await db.create(テーブル名, { id: 'hogehoge', name: 'ほげほげ' });
  • レコード取得
    await db.read(テーブル名, 'hogehoge');
  • レコード更新
    await db.update(テーブル名, { id: 'hogehoge', name: 'ほげほげ2' });
  • 検索
    await db.find(テーブル名, { filter: {name: 'ほげほげ2'} });
  • その他はテストケースみてください
    • upsertとか
    • パーティションを指定する場合
    • ソートとか
    • 大量データの分割取得とか
  • REST インタフェースは rest.js を使う (Azure Function 用)

CosmosDB のワナ

  • 最低 RU は 400
  • 1 テーブル(コレクション) は 100 RU 必要
  • 一度でも 10 テーブル (1000 RU) 作成すると、その後でテーブルを減らしても 1000 RU から減らない

ToDo

  • partition のキー名が _partition 固定になっているので、変更できるようにしたい

npm publish

DevOps パイプラインで、npm publish するようになりました。

手動で publish する場合は、以下

  1. npm login

    password.md

  2. npm publish

Readme

Keywords

none

Package Sidebar

Install

npm i da-cosmos

Weekly Downloads

9

Version

3.1.1

License

ISC

Unpacked Size

328 kB

Total Files

40

Last publish

Collaborators

  • smartdb