Отримайте 50 ГБ безкоштовно!Зареєструйте безкоштовний акаунт та почніть міграцію сьогодні — кредитна картка не потрібна.Зареєструватися →
GodwitGodwit Sync
ГоловнаЦіниЗавантаженняДокументація
Кабінет клієнтаПочати
Почати
Status API

Статус-ендпоінт

JSON-ендпоінт для моніторингу прогресу синхронізації в реальному часі. Використовуйте для скриптів, дашбордів та автоматизації.

Увімкнення ендпоінту

Передайте --status-addr для відкриття HTTP-ендпоінтів /status та /metrics.

godwit sync --source s3://src --dest s3://dst --status-addr :8080

curl -s localhost:8080/status | jq .

Приклад відповіді

{
  "run_id": "abc123",
  "status": "running",
  "source": "s3://my-source",
  "destination": "s3://my-dest",
  "started_at": "2026-02-25T10:00:00Z",
  "finished_at": null,
  "eta_seconds": 1847.3,

  "objects": {
    "total": 1250000,
    "done": 980000,
    "failed": 45,
    "skipped": 8200,
    "excluded": 3100,
    "pending": 245000,
    "running": 13655
  },

  "bytes": {
    "total": 10995116277760,
    "done": 8620171161762,
    "failed": 2097152000,
    "skipped": 52428800000,
    "excluded": 10737418240,
    "pending": 2240962269022,
    "running": 68719476736
  },

  "version_history": {
    "complete": 850000,
    "partial": 320000,
    "fully_skipped": 80000
  },

  "object_lock": {
    "governance": 480000,
    "compliance": 320000,
    "legal_hold": 75000,
    "none": 375000
  },

  "storage_classes": [
    { "name": "STANDARD",             "count": 1050000, "bytes": 9200000000000,  "percent": 84.0 },
    { "name": "INTELLIGENT_TIERING",  "count": 125000,  "bytes": 1200000000000,  "percent": 10.0 },
    { "name": "GLACIER",              "count": 75000,   "bytes": 595116277760,   "percent": 6.0  }
  ],

  "verify": {
    "matched": 975800,
    "mismatched": 3,
    "errors": 12,
    "bytes": 8570000000000
  },

  "errors": ["upload failed on path/to/file.bin: connection reset"]
}

Довідник полів

Верхній рівень

ПолеТипОпис
run_idstringУнікальний ідентифікатор запуску
statusstringСтан життєвого циклу (running, planned, completed, failed)
sourcestringURI джерела (напр. s3://bucket)
destinationstringURI призначення

Кількість об’єктів

ПолеТипОпис
objects.totalint64Загальна кількість об’єктів, виявлених під час планування
objects.doneint64Успішно передані об’єкти
objects.failedint64Об’єкти, передача яких не вдалася
objects.skippedint64Пропущені об’єкти (Glacier, непідтримуваний ключ)
objects.excludedint64Об’єкти, виключені за політикою
objects.pendingint64Об’єкти в черзі, ще не розпочаті
objects.runningint64Об’єкти, що передаються зараз

Кількість байтів

ПолеТипОпис
bytes.totalint64Загальні байти всіх запланованих об’єктів
bytes.doneint64Успішно записані байти
bytes.failedint64Байти в невдалих об’єктах
bytes.skippedint64Байти в пропущених об’єктах
bytes.excludedint64Байти у виключених об’єктах
bytes.pendingint64Байти в об’єктах, що очікують
bytes.runningint64Байти в об’єктах, що передаються зараз

Час та ETA

ПолеТипОпис
started_atRFC 3339Час початку запуску
finished_atRFC 3339 | nullЧас завершення запуску (null під час виконання)
eta_secondsfloat64Орієнтовний час до завершення (секунди)

Історія версій

ПолеТипОпис
version_history.completeint64Ключі, всі версії яких успішно передані
version_history.partialint64Ключі зі змішаними glacier-пропущеними та скопійованими версіями
version_history.fully_skippedint64Ключі, всі версії яких пропущені через Glacier

Object Lock

ПолеТипОпис
object_lock.governanceint64Версії з режимом утримання GOVERNANCE
object_lock.complianceint64Версії з режимом утримання COMPLIANCE
object_lock.legal_holdint64Версії з увімкненим юридичним утриманням
object_lock.noneint64Версії без налаштувань Object Lock

Верифікація

ПолеТипОпис
verify.matchedint64Об'єкти, MD5 яких збігся з контрольною сумою sidecar
verify.mismatchedint64Об'єкти, MD5 яких не збігся з очікуваною контрольною сумою
verify.errorsint64Об'єкти, які не вдалося верифікувати (відсутній sidecar, помилка читання тощо)
verify.bytesint64Загальний обсяг верифікованих байтів

Класи сховища

ПолеТипОпис
storage_classes[].namestringНазва класу сховища S3 (STANDARD, GLACIER тощо)
storage_classes[].countint64Кількість об’єктів у цьому класі
storage_classes[].bytesint64Загальні байти у цьому класі
storage_classes[].percentfloat64Відсоток від загальної кількості об’єктів

Значення статусу запуску

ЗначенняЗначення
runningСинхронізація виконується
plannedРежим лише планування завершено
completedУсі об’єкти успішно передано
failedОдин або кілька об’єктів не вдалося передати

Приклади використання

Опитування до завершення

while true; do
  STATUS=$(curl -s localhost:8080/status | jq -r .status)
  if [ "$STATUS" = "completed" ] || [ "$STATUS" = "failed" ]; then
    echo "Run finished with status: $STATUS"
    break
  fi
  sleep 5
done

Знімок прогресу

curl -s localhost:8080/status | jq '{
  progress: (.objects.done / .objects.total * 100 | round),
  eta: .eta_seconds,
  failed: .objects.failed
}'
← Метрики PrometheusДовідник CLI →

На цій сторінці

  • Увімкнення ендпоінту
  • Приклад відповіді
  • Довідник полів
    • Верхній рівень
    • Кількість об’єктів
    • Кількість байтів
    • Час та ETA
    • Історія версій
    • Object Lock
    • Верифікація
    • Класи сховища
  • Значення статусу запуску
  • Приклади використання
    • Опитування до завершення
    • Знімок прогресу
Godwit Sync

Міграція та синхронізація даних виробничого рівня для великих об'єктних сховищ. Контроль, передбачуваність та безпека у масштабі.

Продукт

  • Ціни
  • Документація
  • Changelog

Юридична інформація

  • Умови надання послуг
  • Угода користувача
  • Політика конфіденційності

© 2026 Godwit Sync. Усі права захищено.

Версія v1.1.5