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

Режим CLI

Стандартний інтерфейс командного рядка — це основний спосіб використання RAPS. Він розроблений для скриптів, автоматизації та конвеєрів CI/CD.

Швидкий старт

# Встановлення 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, yaml, csv, table, plain
--no-colorВимкнути кольорове виведення
--quietМінімальне виведення (лише дані)
--verboseПоказувати підсумки запитів
--debugПовне трасування з маскуванням секретів
--timeout <seconds>Тайм-аут HTTP-запиту (за замовчуванням: 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
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 для малювання рамок для чистішого візуального виведення

Пов’язана документація