Azure / Azure/CosmosDBShell

[P2] Add Bulk Write Operations (upsert, update, delete)

Đang mở
#107 3 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
C#
Star
3
Fork
7
Merge trung bình
1 ngày 9 giờ
Pull request đã merge (30 ngày)
18

Mô tả

## 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
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách kiểm tra lệnh mkitem array-input hiện có và các điểm vào lệnh của shell để hiểu cách các thao tác hàng loạt hiện đang được xử lý. Xác định các lệnh bulk được hỗ trợ, các dạng đầu vào, hành vi đồng thời, việc báo cáo tiến độ và chi phí, sau đó bổ sung coverage cho hành vi đã thống nhất; công việc được xem là hoàn tất khi phạm vi và tiêu chí hoàn thành cho upsert, delete và patch được xác nhận.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
csharp
Lĩnh vực
cli, database
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.