[P2] Add Bulk Write Operations (upsert, update, delete)
- 主要言語
- C#
- スター
- 3
- フォーク
- 7
- 平均マージ
- 1日 9時間
- マージ済み PR(30日)
- 18
説明
## Feature Request
**Priority:** P2 (Medium)
### Description
CosmosDB Shell supports array input for `mkitem` (batch create) but lacks bulk upsert, update, and delete operations. Bulk operations are critical for data migration and maintenance tasks.
### Comparable Features in Other Shells
- **mongosh**: `bulkWrite()`, ordered/unordered bulk operations
- **sqlcmd**: Bulk insert via `bcp`
### Proposed Behavior
Add a `bulk` command or extend existing commands:
- `bulk upsert ` — Bulk upsert from JSON array or file
- `bulk delete ` — Bulk delete matching documents
- `bulk patch ` — Bulk patch operations
- Support concurrency control (max parallelism)
- Report progress, success/failure counts, and total RU cost
### Example Usage
```
bulk upsert ./updates.json --max-parallelism 10
bulk delete "SELECT c.id, c.pk FROM c WHERE c.expired = true"
bulk patch ./patches.json
```
コントリビューションガイド
調査の方向性
まず、既存の mkitem array-input コマンドと shell のコマンドエントリポイントを調査し、現在バッチ操作がどのように処理されているかを把握します。サポートする bulk コマンド、入力形式、並行性の動作、進捗およびコストの報告を定義し、合意した動作に対するカバレッジを追加します。upsert、delete、patch のスコープと完了基準が確認されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- csharp
- 領域
- cli, database
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 45/100