Ця сторінка ще не перекладена українською. Показано англійську версію. Переглянути англійською

Команди Object

Завантаження, скачування та керування об’єктами в OSS-бакетах.

Демонстрація операцій з об'єктами RAPS

Огляд команд

КомандаОпис
raps object uploadЗавантажити файл до бакета
raps object upload-batchЗавантажити кілька файлів паралельно
raps object downloadСкачати об’єкт з бакета
raps object listПереглянути список об’єктів у бакеті
raps object deleteВидалити об’єкт
raps object signed-urlЗгенерувати підписаний URL для скачування
raps object infoОтримати детальні метадані об’єкта
raps object copyСкопіювати об’єкт у межах/між бакетами
raps object renameПерейменувати об’єкт

raps object upload

Завантаження файлів до OSS-бакета з відстеженням прогресу.

raps object upload <bucket-key> <file-path> [options]

Параметри:

  • --key, -k: Власний ключ об’єкта (за замовчуванням — ім’я файлу)
  • --batch: Завантаження кількох файлів
  • --parallel: Увімкнути паралельне завантаження
  • --concurrency: Кількість одночасних завантажень (за замовчуванням: 5)
  • --resume: Відновити перерване завантаження

Завантаження одного файлу:

$ raps object upload my-bucket model.rvt
Uploading model.rvt...
████████████████████████████████████████ 100% (45.2 MB)
✓ Upload complete!
  Object Key: model.rvt
  URN: dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bXktYnVja2V0L21vZGVsLnJ2dA

Пакетне завантаження з шаблонами:

$ raps object upload my-bucket ./models/*.dwg --batch --parallel
Uploading 5 files with 5 concurrent uploads...
  [1/5] floor-plan.dwg ████████████████████ 100%
  [2/5] elevation.dwg ████████████████████ 100%
  [3/5] section-a.dwg ████████████████████ 100%
  [4/5] section-b.dwg ████████████████████ 100%
  [5/5] details.dwg ████████████████████ 100%
✓ All files uploaded successfully!

Відновлення перерваного завантаження:

raps object upload my-bucket large-model.rvt --resume

Власний ключ об’єкта:

raps object upload my-bucket model.rvt --key "projects/2024/building-a.rvt"

### Продуктивність завантаження (v3.7.0+)

RAPS v3.7.0 впроваджує значні покращення продуктивності завантаження файлів:

- **🚀 Паралельне багаточастинне завантаження**: у 3-10 разів швидше для великих файлів (>5 МБ)
- **💾 Потокове завантаження**: зменшене використання пам'яті, без обмежень розміру файлу
- **🔄 Автоматичне повторення**: послідовна логіка повторних спроб для всіх операцій завантаження
- **📊 Розумна конкурентність**: оптимізована паралельна обробка з обмеженою конкурентністю

**Порівняння продуктивності для файлу 500 МБ:**
- **v3.6.x**: ~15 хвилин (послідовне завантаження)
- **v3.7.0+**: ~2-3 хвилини (паралельне завантаження)

**Найкращі практики для великих файлів:**
```bash
# Великі файли автоматично використовують паралельне багаточастинне завантаження
raps object upload my-bucket large-model.rvt
# ✓ Автоматично розбиває на частини по 5 МБ
# ✓ Завантажує 5 частин одночасно
# ✓ Обробляє повторні спроби при помилці частини
# ✓ Відновлює при розриві з'єднання

raps object download

Скачування об’єктів з бакета.

raps object download <bucket-key> <object-key> [--output PATH]
$ raps object download my-bucket model.rvt --output ./downloads/
Downloading model.rvt...
████████████████████████████████████████ 100% (45.2 MB)
✓ Downloaded to: ./downloads/model.rvt

raps object list

Перегляд усіх об’єктів у бакеті.

$ raps object list my-bucket
Objects in 'my-bucket':
┌────────────────────────────┬──────────────┬──────────────────────┐
│ Key                        │ Size         │ Last Modified        │
├────────────────────────────┼──────────────┼──────────────────────┤
│ model.rvt                  │ 45.2 MB      │ 2024-01-15 10:30:00  │
│ floor-plan.dwg             │ 2.1 MB       │ 2024-01-15 10:32:00  │
│ elevation.dwg              │ 1.8 MB       │ 2024-01-15 10:33:00  │
└────────────────────────────┴──────────────┴──────────────────────┘

З фільтром за префіксом:

raps object list my-bucket --prefix "projects/2024/"

raps object signed-url

Генерація попередньо підписаного S3 URL для прямого скачування.

raps object signed-url <bucket-key> <object-key> [--minutes MINUTES]
$ raps object signed-url my-bucket model.rvt --minutes 60
Signed URL (expires in 60 minutes):
https://developer.api.autodesk.com/oss/v2/signedresources/...

Випадки використання:

  • Поширення тимчасових посилань для скачування
  • Інтеграція із зовнішніми системами
  • Забезпечення прямого скачування клієнтами

raps object urn

Отримання Base64-закодованого URN об’єкта (необхідний для трансляції).

$ raps object urn my-bucket model.rvt
URN: dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bXktYnVja2V0L21vZGVsLnJ2dA

Збереження у змінну:

URN=$(raps object urn my-bucket model.rvt --output plain)
raps translate start "$URN" --format svf2

raps object delete

Видалення об’єкта з бакета.

$ raps object delete my-bucket model.rvt
⚠ Warning: This will permanently delete 'model.rvt'
  Are you sure? (y/N): y
✓ Object deleted successfully

raps object info

Отримання детальних метаданих об’єкта.

raps object info <BUCKET_KEY> <OBJECT_KEY>

Приклад:

$ raps object info my-bucket model.rvt
Object Details:
  Bucket:    my-bucket
  Key:       model.rvt
  Size:      45.2 MB
  SHA1:      abc123def456...
  URN:       dXJuOmFkc2sub2...
  Created:   2024-01-15 10:30:00

raps object copy

Копіювання об’єкта до іншого бакета або ключа.

raps object copy --source-bucket <BUCKET> --source-object <KEY> --dest-bucket <BUCKET> [--dest-object <KEY>]

Опції:

  • --source-bucket - Ключ бакета-джерела
  • --source-object - Ключ об’єкта-джерела
  • --dest-bucket - Ключ бакета призначення
  • --dest-object - Ключ об’єкта призначення (за замовчуванням: ключ джерела)

Приклад:

$ raps object copy --source-bucket dev-bucket --source-object model.rvt \
    --dest-bucket prod-bucket --dest-object v2/model.rvt

raps object rename

Перейменування об’єкта в бакеті.

raps object rename <BUCKET_KEY> <OBJECT_KEY> --new-key <NEW_KEY>

Опції:

  • --new-key - Новий ключ об’єкта

Приклад:

$ raps object rename my-bucket old-name.rvt --new-key new-name.rvt

Завантаження великих файлів

Для файлів понад 100 МБ RAPS автоматично використовує відновлюване багаточастинне завантаження:

$ raps object upload my-bucket large-model.ifc
Uploading large-model.ifc (2.1 GB)...
Using resumable upload (21 parts)...
████████████████████████████████████████ 100%
✓ Upload complete!

Переваги:

  • Відновлення перерваних завантажень
  • Краща продуктивність для великих файлів
  • Автоматичне повторення при помилках

Приклади CI/CD

Завантаження та отримання URN

raps object upload my-bucket model.rvt
URN=$(raps object urn my-bucket model.rvt --output plain)
echo "Uploaded with URN: $URN"

Пакетне завантаження цілої директорії

find ./models -name "*.dwg" | xargs -I {} raps object upload my-bucket {}

Наступні кроки