Режим CLI
Стандартний інтерфейс командного рядка — це основний спосіб використання RAPS🌼RAPSRust CLI for Autodesk Platform Services.View in glossary. Він розроблений для скриптів, автоматизації та конвеєрів CI/CD🔁CI/CDAutomated build, test, and deployment pipelines.View in glossary.
Швидкий старт
# Встановлення RAPS
cargo install raps
# Налаштування облікових даних
export APS_CLIENT_ID="your_client_id"
export APS_CLIENT_SECRET="your_client_secret"
# Виконання команд
raps auth test
raps bucket list
Структура команд
RAPS дотримується послідовної структури команд:
raps <command> <subcommand> [arguments] [flags]
Приклади
# Автентифікація
raps auth test
raps auth login --3lo
raps auth status
# Операції з бакетами
raps bucket list
raps bucket create my-bucket --retention transient
raps bucket delete my-bucket
# Операції з об'єктами
raps object upload my-bucket model.rvt
raps object download my-bucket model.rvt
raps object list my-bucket
# Трансляція
raps translate start <URN> --format svf2
raps translate status <URN> --wait
raps translate manifest <URN>
Формати виведення
RAPS підтримує кілька форматів виведення для зручної інтеграції:
# JSON (машинночитаний)
raps bucket list --output json
# YAML
raps bucket list --output yaml
# CSV (зручний для таблиць)
raps bucket list --output csv
# Таблиця (за замовчуванням, зручний для читання)
raps bucket list --output table
# Простий текст
raps bucket list --output plain
Передача іншим інструментам через конвеєр
# Обробка JSON за допомогою jq
raps bucket list --output json | jq '.[] | .bucketKey'
# Підрахунок об'єктів
raps object list my-bucket --output json | jq 'length'
# Фільтрація за шаблоном
raps object list my-bucket --output json | jq '.[] | select(.objectKey | contains(".rvt"))'
Глобальні прапорці
Ці прапорці працюють з усіма командами:
| Прапорець | Опис |
|---|---|
--output <format> | Формат виведення: json📋JSONStandard data interchange format.View in glossary, yaml📝YAMLHuman-readable configuration format.View in glossary, csv📊CSVTabular data format for spreadsheets.View in glossary, table, plain |
--no-color | Вимкнути кольорове виведення |
--quiet | Мінімальне виведення (лише дані) |
--verbose | Показувати підсумки запитів |
--debug | Повне трасування з маскуванням секретів |
--timeout <seconds> | Тайм-аут HTTP🔗HTTPProtocol for web communication.View in glossary-запиту (за замовчуванням: 120) |
--non-interactive | Завершення з помилкою при запитах замість очікування |
--yes | Автоматичне підтвердження деструктивних операцій |
Приклади
# Тихий режим для скриптів
BUCKET=$(raps bucket list --output json --quiet | jq -r '.[0].bucketKey')
# Налагодження API-викликів
raps auth test --debug
# Неінтерактивний режим для CI/CD
raps bucket delete my-bucket --yes --non-interactive
Коди завершення
RAPS використовує стандартизовані коди завершення для скриптів:
| Код | Значення |
|---|---|
0 | Успіх |
2 | Некоректні аргументи |
3 | Помилка автентифікації |
4 | Ресурс не знайдено |
5 | Помилка віддаленого сервера/API🔌APIInterface for software components to communicate.View in glossary |
6 | Внутрішня помилка |
Використання у скриптах
#!/bin/bash
set -e
# Спочатку перевірте автентифікацію
if ! raps auth test; then
echo "Authentication failed!"
exit 1
fi
# Завантаження файлу
raps object upload my-bucket model.rvt
# Перевірка коду завершення
if [ $? -eq 0 ]; then
echo "Upload successful"
else
echo "Upload failed"
exit 1
fi
Змінні середовища
Налаштування RAPS через змінні середовища:
# Обов'язкові
export APS_CLIENT_ID="your_client_id"
export APS_CLIENT_SECRET="your_client_secret"
# Необов'язкові
export APS_CALLBACK_URL="http://localhost:8080/callback" # Для 3-legged OAuth
export APS_DA_NICKNAME="your_nickname" # Для Design Automation
export APS_REGION="US" # Регіон за замовчуванням (US або EMEA)
Використання файлів .env
Створіть файл .env у вашій робочій директорії:
APS_CLIENT_ID=your_client_id
APS_CLIENT_SECRET=your_client_secret
APS_CALLBACK_URL=http://localhost:8080/callback
RAPS автоматично завантажує файли .env.
Управління профілями
Управління кількома конфігураціями для різних середовищ:
# Створення профілю
raps config profile create production
# Встановлення значень
raps config set client_id "prod_client_id"
raps config set client_secret "prod_client_secret"
# Перемикання профілів
raps config profile use production
# Перегляд профілів
raps config profile list
# Використання конкретного профілю для команди
raps --profile production bucket list
Шаблони для скриптів
Завантаження та трансляція
#!/bin/bash
BUCKET="my-project"
FILE="model.rvt"
# Завантаження
raps object upload "$BUCKET" "$FILE"
# Отримання URN
URN=$(raps object urn "$BUCKET" "$FILE")
# Запуск трансляції з очікуванням
raps translate start "$URN" --format svf2 --wait
# Перевірка результату
raps translate manifest "$URN" --output json
Пакетна обробка
#!/bin/bash
BUCKET="batch-uploads"
# Завантаження всіх RVT-файлів
for file in models/*.rvt; do
echo "Uploading $file..."
raps object upload "$BUCKET" "$file"
done
# Або використовуйте вбудоване пакетне завантаження
raps object upload "$BUCKET" models/*.rvt --batch --parallel 5
Умовні операції
#!/bin/bash
# Перевірка існування бакета
if raps bucket get my-bucket > /dev/null 2>&1; then
echo "Bucket exists"
else
echo "Creating bucket..."
raps bucket create my-bucket --retention persistent
fi
Автодоповнення оболонки
Увімкніть автодоповнення у вашій оболонці:
Bash
# Додайте до ~/.bashrc
eval "$(raps completions bash)"
Zsh
# Додайте до ~/.zshrc
eval "$(raps completions zsh)"
Fish
raps completions fish > ~/.config/fish/completions/raps.fish
PowerShell
# Додайте до $PROFILE
raps completions powershell | Out-String | Invoke-Expression
Найкращі практики
1. Використовуйте виведення JSON для обробки
# Добре: обробка структурованих даних
raps bucket list --output json | jq '.[] | .bucketKey'
# Уникайте: обробка табличного виведення
raps bucket list | grep my-bucket # Ненадійно!
2. Перевіряйте коди завершення
# Добре: перевірка помилок
if raps auth test; then
echo "Authenticated"
fi
# Добре: швидке завершення при помилці
set -e
raps bucket create my-bucket
3. Використовуйте —quiet для скриптів
# Добре: чисте виведення
URN=$(raps object urn my-bucket file.rvt --quiet)
# Уникайте: обробка повідомлень прогресу
URN=$(raps object urn my-bucket file.rvt 2>/dev/null)
4. Використовуйте профілі для середовищ
# Добре: іменовані профілі
raps --profile production bucket list
raps --profile staging bucket list
# Уникайте: часта зміна змінних середовища
export APS_CLIENT_ID="..." # Схильне до помилок!
Покращення UX (v4.5)
Покращені повідомлення про помилки
Помилки API тепер включають контекстну інформацію з рекомендованими діями:
$ raps bucket list
Error: Authentication failed (401)
→ Your token has expired. Run 'raps auth login' to refresh.
$ raps folder list b.proj-123 invalid-folder-id
Error: Not found (404)
→ Folder ID format should be 'urn:adsk.wipprod:fs.folder:...'
→ Use 'raps folder list <PROJECT_ID> --top' to find valid folder IDs.
Покращене табличне виведення
- Результати масивів відображаються як таблиці з вирівняними стовпцями та заголовками
- Окремі об’єкти відображаються як пари ключ-значення для кращої читабельності
- Символи Unicode для малювання рамок для чистішого візуального виведення
Пов’язана документація
- Конфігурація — Детальні параметри конфігурації
- Автентифікація — Команди та потоки автентифікації
- Коди завершення — Повний довідник кодів завершення
- Конвеєри — Автоматизація на основі YAML